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]

Reply via email to