mcconnell 2003/08/18 09:59:41 Modified: merlin/merlin-platform/tutorials/context_casting/src/java/tutorial DemoContextProvider.java HelloComponent.java Added: merlin/merlin-platform/tutorials/context_casting README.TXT maven.xml project.xml merlin/merlin-platform/tutorials/context_casting/conf block.xml Removed: merlin/merlin-platform/tutorials/context_casting build.xml merlin/merlin-platform/tutorials/context_casting/src/config block.xml merlin/merlin-platform/tutorials/context_casting/src/java/tutorial HelloComponent.xinfo Log: Update tutorial to 3.0. Revision Changes Path 1.1 avalon-sandbox/merlin/merlin-platform/tutorials/context_casting/README.TXT Index: README.TXT =================================================================== Typesafe context casting ------------------------ This tutorial covers the declaration of constext castiong criteria and the creation of a typed context. $ maven $ merlin -execute target\classes [INFO ] (tutorial.hello): listing values resolved from domain specific context [INFO ] (tutorial.hello): supplied context class: tutorial.DemoContextProvider [INFO ] (tutorial.hello): name: hello [INFO ] (tutorial.hello): partition: /tutorial/ [INFO ] (tutorial.hello): home: [you-directory]\home\tutorial\hello [INFO ] (tutorial.hello): temp: C:\TEMP\tutorial\hello 1.1 avalon-sandbox/merlin/merlin-platform/tutorials/context_casting/maven.xml Index: maven.xml =================================================================== <project default="jar:jar" xmlns:maven="jelly:maven" xmlns:j="jelly:core" xmlns:util="jelly:util"> <preGoal name="java:compile"> <attainGoal name="avalon:meta"/> </preGoal> </project> 1.1 avalon-sandbox/merlin/merlin-platform/tutorials/context_casting/project.xml Index: project.xml =================================================================== <?xml version="1.0" encoding="UTF-8"?> <project> <groupId>merlin</groupId> <id>merlin-tutorial-context-casting</id> <name>Merlin Context Casting Tutorial</name> <package>tutorial</package> <currentVersion>1.0</currentVersion> <inceptionYear>2003</inceptionYear> <shortDescription>Merlin Context Casting Tutorial.</shortDescription> <dependencies> <dependency> <groupId>avalon-framework</groupId> <artifactId>avalon-framework-api</artifactId> <version>SNAPSHOT</version> </dependency> <dependency> <groupId>avalon-framework</groupId> <artifactId>avalon-framework-impl</artifactId> <version>SNAPSHOT</version> </dependency> </dependencies> <build> <sourceDirectory>${basedir}/src/java</sourceDirectory> <resources> <resource> <directory>${basedir}/conf</directory> <targetPath>BLOCK-INF</targetPath> <includes> <include>block.xml</include> </includes> </resource> </resources> <jars></jars> </build> </project> 1.1 avalon-sandbox/merlin/merlin-platform/tutorials/context_casting/conf/block.xml Index: block.xml =================================================================== <container name="tutorial"> <component name="hello" class="tutorial.HelloComponent" activation="startup"> <context class="tutorial.DemoContextProvider"/> </component> </container> 1.2 +4 -3 avalon-sandbox/merlin/merlin-platform/tutorials/context_casting/src/java/tutorial/DemoContextProvider.java Index: DemoContextProvider.java =================================================================== RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/context_casting/src/java/tutorial/DemoContextProvider.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- DemoContextProvider.java 10 Jun 2003 02:12:23 -0000 1.1 +++ DemoContextProvider.java 18 Aug 2003 16:59:41 -0000 1.2 @@ -4,6 +4,7 @@ import java.util.Map; import java.io.File; +import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.DefaultContext; import org.apache.avalon.framework.context.ContextException; @@ -20,9 +21,9 @@ * the following constructor. * @param entries a map of context entries */ - public DemoContextProvider( Map entries ) + public DemoContextProvider( Context context ) { - super( entries ); + super( context ); } /** @@ -85,7 +86,7 @@ { try { - return (File) super.get( "urn:avalon:work" ); + return (File) super.get( "urn:avalon:temp" ); } catch( ContextException ce ) { 1.2 +12 -0 avalon-sandbox/merlin/merlin-platform/tutorials/context_casting/src/java/tutorial/HelloComponent.java Index: HelloComponent.java =================================================================== RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/context_casting/src/java/tutorial/HelloComponent.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- HelloComponent.java 10 Jun 2003 02:12:23 -0000 1.1 +++ HelloComponent.java 18 Aug 2003 16:59:41 -0000 1.2 @@ -5,6 +5,12 @@ import org.apache.avalon.framework.context.Context; import org.apache.avalon.framework.context.ContextException; +/** + * Component implementation that demonstrates type safe casting of a supplied + * context object. + * + * @avalon.component name="demo" lifestyle="singleton" + */ public class HelloComponent extends AbstractLogEnabled implements Contextualizable { @@ -12,6 +18,12 @@ /** * Contextualization of the component using a context * class that implements a domain specific context interface. + * + * @avalon.context type="tutorial.DemoContext" + * @avalon.entry key="urn:avalon:name" type="java.lang.String" + * @avalon.entry key="urn:avalon:partition" type="java.lang.String" + * @avalon.entry key="urn:avalon:home" type="java.io.File" + * @avalon.entry key="urn:avalon:temp" type="java.io.File" */ public void contextualize( Context context ) throws ContextException
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]