RE: The "Using Blocks" tutorial

"Robby Pelssers" <[email protected]> Sun, 24 Oct 2010 11:21:53 +0200
Newsgroups gmane.text.xml.cocoon.documentation
Message-ID <[email protected]>
This is a multi-part message in MIME format.

------_=_NextPart_001_01CB735C.E5C3C81E
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Ok... this time some sample pom's i made up based on my actual project.

Assuming you have a workspace like:

{workspace}
  - mywebapp_parent_pom
  - block-1
  - block-2

parent pom of your application:
---------------------------------

<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<project=20
  xmlns=3D"http://maven.apache.org/POM/4.0.0"=20
  xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance"=20
  xsi:schemaLocation=3D"http://maven.apache.org/POM/4.0.0 =
http://maven.apache.org/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <packaging>pom</packaging>
 =20
  <groupId>com.mycompany</groupId>
  <artifactId>mywebapp_parent_pom</artifactId>
  <version>1.0-SNAPSHOT</version>
 =20
  <name>MyWebapp parent pom</name>
 =20
  <modules>
    <module>../block-1</module>
    <module>../block-2</module>                    =20
  </modules>
 =20
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.cocoon</groupId>
        <artifactId>cocoon-core</artifactId>
        <version>2.2.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.cocoon</groupId>
        <artifactId>cocoon-servlet-service-components</artifactId>
        <version>1.0.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.cocoon</groupId>
        <artifactId>cocoon-template-impl</artifactId>
        <version>1.1.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.cocoon</groupId>
        <artifactId>cocoon-flowscript-impl</artifactId>
        <version>1.0.0</version>
      </dependency>   =20
      <dependency>
        <groupId>org.apache.cocoon</groupId>
        <artifactId>cocoon-forms-impl</artifactId>
        <version>1.1.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.cocoon</groupId>
        <artifactId>cocoon-html-impl</artifactId>
        <version>1.0.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.cocoon</groupId>
        <artifactId>cocoon-batik-impl</artifactId>
        <version>1.0.0</version>
      </dependency>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.4</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>net.sf.saxon</groupId>
        <artifactId>saxon</artifactId>
        <version>8.7</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.4</version>
        <scope>test</scope>
      </dependency>
  </dependencyManagement>
 =20
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.0.2</version>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
 =20
  <profiles>
    <profile>
      <id>dev</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>	 =20
      <build>
        <finalName>MyWebapp</finalName>
      </build>
    </profile>
  </profiles>
 =20
</project>


pom of block-1:
--------------------
<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<project xmlns=3D"http://maven.apache.org/POM/4.0.0" =
xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance" =
xsi:schemaLocation=3D"http://maven.apache.org/POM/4.0.0 =
http://maven.apache.org/maven-v4_0_0.xsd">
  <parent>
    <groupId>com.nxp.spider2</groupId>
    <artifactId>mywebapp_parent_pom</artifactId>
    <version>1.0-SNAPSHOT</version>
    <relativePath>../mywebapp_parent_pom/pom.xml</relativePath>
  </parent>
 =20
  <modelVersion>4.0.0</modelVersion>
  <packaging>jar</packaging>

  <name>block-1</name>
  <groupId>com.mycompany</groupId>
  <artifactId>block-1</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>org.apache.cocoon</groupId>
      <artifactId>cocoon-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cocoon</groupId>
      <artifactId>cocoon-servlet-service-components</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cocoon</groupId>
      <artifactId>cocoon-template-impl</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cocoon</groupId>
      <artifactId>cocoon-flowscript-impl</artifactId>
    </dependency>    =20
    <dependency>
      <groupId>org.apache.cocoon</groupId>
      <artifactId>cocoon-forms-impl</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cocoon</groupId>
      <artifactId>cocoon-batik-impl</artifactId>
    </dependency>       =20
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
    </dependency> =20
    <dependency>
      <groupId>net.sf.saxon</groupId>
      <artifactId>saxon</artifactId>
      <scope>runtime</scope>
    </dependency>
                    =20
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
    </dependency>   =20
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.cocoon</groupId>
        <artifactId>cocoon-maven-plugin</artifactId>
        <version>1.0.0-M2</version>
        <executions>
          <execution>
            <id>prepare</id>
            <phase>compile</phase>
            <goals>
              <goal>prepare</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>maven-jetty-plugin</artifactId>
        <version>6.1.7</version>
        <configuration>
          <connectors>
            <connector =
implementation=3D"org.mortbay.jetty.nio.SelectChannelConnector">
              <port>8888</port>
              <maxIdleTime>30000</maxIdleTime>
            </connector>
          </connectors>
          =
<webAppSourceDirectory>${project.build.directory}/rcl/webapp</webAppSourc=
eDirectory>
          <contextPath>/</contextPath>
          <systemProperties>
            <systemProperty>
              <name>org.apache.cocoon.mode</name>
              <value>dev</value>
            </systemProperty>
          </systemProperties>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.1</version>
        <configuration>
          <archive>
            <manifestEntries>
              <Cocoon-Block-Name>${pom.artifactId}</Cocoon-Block-Name>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-eclipse-plugin</artifactId>
        <version>2.5</version>
      </plugin>
    </plugins>
  </build>

</project>


pom of block-2:
----------------
<?xml version=3D"1.0" encoding=3D"UTF-8"?>

<project xmlns=3D"http://maven.apache.org/POM/4.0.0" =
xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance" =
xsi:schemaLocation=3D"http://maven.apache.org/POM/4.0.0 =
http://maven.apache.org/maven-v4_0_0.xsd">
  <parent>
    <groupId>com.nxp.spider2</groupId>
    <artifactId>mywebapp_parent_pom</artifactId>
    <version>1.0-SNAPSHOT</version>
    <relativePath>../mywebapp_parent_pom/pom.xml</relativePath>
  </parent>

  <modelVersion>4.0.0</modelVersion>
  <packaging>jar</packaging>

  <name>block-2</name>
  <groupId>com.mycompany</groupId>
  <artifactId>block-2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>com.mycompany</groupId>
      <artifactId>block-2</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency> =20
    <dependency>
      <groupId>org.apache.cocoon</groupId>
      <artifactId>cocoon-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cocoon</groupId>
      <artifactId>cocoon-servlet-service-components</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cocoon</groupId>
      <artifactId>cocoon-template-impl</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.cocoon</groupId>
      <artifactId>cocoon-flowscript-impl</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
    </dependency>
    <dependency>
      <groupId>net.sf.saxon</groupId>
      <artifactId>saxon</artifactId>
      <scope>runtime</scope>
    </dependency>   =20
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
    </dependency>    =20
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.cocoon</groupId>
        <artifactId>cocoon-maven-plugin</artifactId>
        <version>1.0.0-M2</version>
        <executions>
          <execution>
            <id>prepare</id>
            <phase>compile</phase>
            <goals>
              <goal>prepare</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>maven-jetty-plugin</artifactId>
        <version>6.1.7</version>
        <configuration>
          <connectors>
            <connector =
implementation=3D"org.mortbay.jetty.nio.SelectChannelConnector">
              <port>8888</port>
              <maxIdleTime>30000</maxIdleTime>
            </connector>
          </connectors>
          =
<webAppSourceDirectory>${project.build.directory}/rcl/webapp</webAppSourc=
eDirectory>
          <contextPath>/</contextPath>
          <systemProperties>
            <systemProperty>
              <name>org.apache.cocoon.mode</name>
              <value>dev</value>
            </systemProperty>
          </systemProperties>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.1</version>
        <configuration>
          <archive>
            <manifestEntries>
              <Cocoon-Block-Name>${pom.artifactId}</Cocoon-Block-Name>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-eclipse-plugin</artifactId>
        <version>2.5</version>
      </plugin>
    </plugins>
  </build>
</project>


As you can see i declared 2 modules in the parent pom.  Actually you =
would also need a webapp project as well in order to build the complete =
webapp. But that's for later. Let us first get you started with those 2 =
blocks.

I also declared in block-2 a dependency on block-1. But if we were to =
install both blocks and run mvn jetty:run from inside the folder =
block-2, block-2 would start properly on http://localhost:8888/block-2 =
but http://localhost:8888/block-1 would not work yet. You also need to =
change our servlet-service spring context.


E.g.:

  <bean name=3D"com.nxp.spider2.producttransformer.service" =
class=3D"org.apache.cocoon.sitemap.SitemapServlet">
    <servlet:context mount-path=3D"/block-2" =
context-path=3D"blockcontext:/block-2/">
      <servlet:connections>
        <entry key=3D"block-1" =
value-ref=3D"com.mycompany.block-1.service"/>      =20
      </servlet:connections>   =20
    </servlet:context>
  </bean>

So after you made those changes you should be able to run the second =
block and you should be able to call services from block-1 as well.

Hope this clarifies enough.

Kind regards,
Robby Pelssers

------_=_NextPart_001_01CB735C.E5C3C81E
Content-Type: application/ms-tnef;
	name="winmail.dat"
Content-Transfer-Encoding: base64

eJ8+IjcJAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5NaWNy
b3NvZnQgTWFpbC5Ob3RlADEIAQ2ABAACAAAAAgACAAEEgAEAIAAAAFJFOiBUaGUgIlVzaW5nIEJs
b2NrcyIgdHV0b3JpYWwAjgoBBYADAA4AAADaBwoAGAALABUANQAAAFgBASCAAwAOAAAA2gcKABgA
CwAVADYAAABZAQEJgAEAIQAAADJCMEEwNjIxMDM0NDQ4NDM5RTRDNDk4QTU4MzcyRTc2AOIGAQOQ
BgBEFQAAOQAAAAMAJgAAAAAAAwA2AAAAAABAADkAHsjD5VxzywEeAD0AAQAAAAUAAABSRTogAAAA
AAIBRwABAAAAMAAAAGM9dXM7YT0gO3A9RUNzb2Z0O2w9RVVTRVgwMS0xMDEwMjQwOTIxNTNaLTM5
OTc0AB4ASQABAAAAIAAAAFJlOiBUaGUgIlVzaW5nIEJsb2NrcyIgdHV0b3JpYWwAQABOAACZAPIb
cssBHgBaAAEAAAATAAAAc3Bhc21vaWRAZ21haWwuY29tAAACAVsAAQAAAEMAAAAAAAAAgSsfpL6j
EBmdbgDdAQ9UAgAAAABzcGFzbW9pZEBnbWFpbC5jb20AU01UUABzcGFzbW9pZEBnbWFpbC5jb20A
AAIBXAABAAAAGAAAAFNNVFA6U1BBU01PSURAR01BSUwuQ09NAB4AXQABAAAADwAAAFRlcmVuY2Ug
S2Vhcm5zAAACAV4AAQAAAEMAAAAAAAAAgSsfpL6jEBmdbgDdAQ9UAgAAAABUZXJlbmNlIEtlYXJu
cwBTTVRQAGluZm9AdGVyZW5jZWtlYXJucy5jb20AAAIBXwABAAAAHAAAAFNNVFA6SU5GT0BURVJF
TkNFS0VBUk5TLkNPTQAeAGYAAQAAAAUAAABTTVRQAAAAAB4AZwABAAAAEwAAAHNwYXNtb2lkQGdt
YWlsLmNvbQAAHgBoAAEAAAAFAAAAU01UUAAAAAAeAGkAAQAAABcAAABpbmZvQHRlcmVuY2VrZWFy
bnMuY29tAAAeAHAAAQAAABwAAABUaGUgIlVzaW5nIEJsb2NrcyIgdHV0b3JpYWwAAgFxAAEAAAAb
AAAAActyHDNt/bZm3CLcRGuZVmWbCdNgJABP8e1uAB4AdAABAAAAFwAAAGRvY3NAY29jb29uLmFw
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
F2Ueu/ZIiGETYWkREBIyCJCUcaYglEC4IGdoHrtLlvCJJUFlZymAZHMs/1TQUm9iYhTwUMZAOXAL
oDH/VH1dIAAAHgA1EAEAAAA/AAAAPDdDNjU1QzA0QjZGNTk2NDNBMUVGNjYwNTZDMEUwOTVFQTk5
QzU5QGV1c2V4MDEuc3dlZGVuLmVjc29mdD4AAB4AORABAAAAfgAAADxBQU5Ma1RpPTQzS0hfaTdj
ZVcyc3NTOWM3NXlYNVU1T252czlIQmdoWkM1ZHJAbWFpbC5nbWFpbC5jb20+IDxBQU5Ma1Rpbnox
WU4zekEtaFdQYXpwPVFWVVZtejVETVBQSDYtaUJCaUxUVnVAbWFpbC5nbWFpbC5jb20+AAAAHgBH
EAEAAAAPAAAAbWVzc2FnZS9yZmM4MjIAAAsA8hABAAAAHwDzEAEAAABUAAAAUgBFACUAMwBBACAA
VABoAGUAIAAlADIAMgBVAHMAaQBuAGcAIABCAGwAbwBjAGsAcwAlADIAMgAgAHQAdQB0AG8AcgBp
AGEAbAAuAEUATQBMAAAACwD2EAAAAABAAAcwbyQk+1tzywFAAAgwKBbS5VxzywEDAN4/r28AAAMA
8T8TBAAAHgD4PwEAAAAPAAAAUm9iYnkgUGVsc3NlcnMAAAIB+T8BAAAATwAAAAAAAADcp0DIwEIQ
GrS5CAArL+GCAQAAAAAAAAAvTz1FQ1NPRlQvT1U9QUcgRVUvQ049UkVDSVBJRU5UUy9DTj1ST0JC
WS5QRUxTU0VSUwAAHgD6PwEAAAAVAAAAU3lzdGVtIEFkbWluaXN0cmF0b3IAAAAAAgH7PwEAAAAe
AAAAAAAAANynQMjAQhAatLkIACsv4YIBAAAAAAAAAC4AAAADAP0/5AQAAAMAGUAAAAAAAwAaQAAA
AAADAB1AAAAAAAMAHkAAAAAAHgAwQAEAAAAPAAAAUk9CQlkuUEVMU1NFUlMAAB4AMUABAAAADwAA
AFJPQkJZLlBFTFNTRVJTAAAeADJAAQAAABMAAABzcGFzbW9pZEBnbWFpbC5jb20AAB4AM0ABAAAA
FwAAAGluZm9AdGVyZW5jZWtlYXJucy5jb20AAB4AOEABAAAADwAAAFJPQkJZLlBFTFNTRVJTAAAe
ADlAAQAAAAIAAAAuAAAAAwB2QP////8LACkAAAAAAAsAIwAAAAAAAwAGENf0TLUDAAcQfB8AAAMA
EBAAAAAAAwAREAAAAAAeAAgQAQAAAGUAAABPS1RISVNUSU1FU09NRVNBTVBMRVBPTVNJTUFERVVQ
QkFTRURPTk1ZQUNUVUFMUFJPSkVDVEFTU1VNSU5HWU9VSEFWRUFXT1JLU1BBQ0VMSUtFOldPUktT
UEFDRS1NWVdFQkFQAAAAAAIBfwABAAAAPwAAADw3QzY1NUMwNEI2RjU5NjQzQTFFRjY2MDU2QzBF
MDk1RUE5OUM1OUBldXNleDAxLnN3ZWRlbi5lY3NvZnQ+AAAq8g==

------_=_NextPart_001_01CB735C.E5C3C81E--