You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2003/12/04 01:23:21 UTC
cvs commit: avalon/merlin/kernel/plugin/src/java/org/apache/avalon/merlin/tools MerlinBean.java
mcconnell 2003/12/03 16:23:21
Modified: merlin/activation/api/src/java/org/apache/avalon/activation/appliance
Block.java
merlin/activation/impl/src/java/org/apache/avalon/activation/appliance/impl
AbstractBlock.java
merlin/composition/impl/src/java/org/apache/avalon/composition/model/impl
DefaultContainmentModel.java
merlin/kernel/plugin/src/java/org/apache/avalon/merlin/tools
MerlinBean.java
Log:
Update plugin to repo 2.1.
Revision Changes Path
1.2 +27 -1 avalon/merlin/activation/api/src/java/org/apache/avalon/activation/appliance/Block.java
Index: Block.java
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/api/src/java/org/apache/avalon/activation/appliance/Block.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Block.java 12 Oct 2003 15:34:49 -0000 1.1
+++ Block.java 4 Dec 2003 00:23:21 -0000 1.2
@@ -50,6 +50,10 @@
package org.apache.avalon.activation.appliance;
+import java.net.URL;
+
+import org.apache.avalon.composition.model.Model;
+import org.apache.avalon.composition.model.ContainmentModel;
/**
* A block is an appliance that manages a set of subsidiary
@@ -60,4 +64,26 @@
*/
public interface Block extends Appliance, Engine
{
+ /**
+ * Return the containment metamodel associated with the block.
+ * @return the containment model
+ */
+ ContainmentModel getContainmentModel();
+
+ /**
+ * Add a model as a child to this block.
+ * @param model the model to add as a child of the block
+ * @return the appliance established to handle the model
+ * @exception ApplianceException if a error occurs
+ */
+ Appliance addModel( Model model ) throws ApplianceException;
+
+ /**
+ * Add a model as a child to this block.
+ * @param url the model url
+ * @return the appliance established to handle the model
+ * @exception ApplianceException if a error occurs
+ */
+ Appliance addModel( URL url ) throws ApplianceException;
+
}
1.6 +56 -4 avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/appliance/impl/AbstractBlock.java
Index: AbstractBlock.java
===================================================================
RCS file: /home/cvs/avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/appliance/impl/AbstractBlock.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- AbstractBlock.java 28 Nov 2003 11:58:46 -0000 1.5
+++ AbstractBlock.java 4 Dec 2003 00:23:21 -0000 1.6
@@ -50,6 +50,7 @@
package org.apache.avalon.activation.appliance.impl;
+import java.net.URL;
import java.util.ArrayList;
import java.util.Hashtable;
@@ -150,11 +151,62 @@
m_self.setEnabled( true );
Model[] models = m_context.getContainmentModel().getModels();
- for( int i=models.length-1; i>-1; i-- )
+ for( int i=0; i<models.length; i++ )
{
- Appliance appliance = createAppliance( models[i] );
- m_repository.addAppliance( appliance );
+ addModel( models[i] );
}
+ //for( int i=models.length-1; i>-1; i-- )
+ //{
+ // Appliance appliance = createAppliance( models[i] );
+ // m_repository.addAppliance( appliance );
+ //}
+ }
+
+ //-------------------------------------------------------------------
+ // Block
+ //-------------------------------------------------------------------
+
+ /**
+ * Return the containment metamodel associated with the block.
+ * @return the containment model
+ */
+ public ContainmentModel getContainmentModel()
+ {
+ return m_context.getContainmentModel();
+ }
+
+ /**
+ * Add a model as a child to this block.
+ * @param url the model url
+ * @return the appliance established to handle the model
+ * @exception ApplianceException if a error occurs
+ */
+ public Appliance addModel( URL url ) throws ApplianceException
+ {
+ try
+ {
+ return addModel(
+ getContainmentModel().addModel( url ) );
+ }
+ catch( Throwable e )
+ {
+ final String error =
+ "Cannot add model due to a model related error.";
+ throw new ApplianceException( error, e );
+ }
+ }
+
+ /**
+ * Add a model as a child to this block.
+ * @param model the model to add as a child of the block
+ * @return the appliance established to handle the model
+ * @exception ApplianceException if a error occurs
+ */
+ public Appliance addModel( Model model ) throws ApplianceException
+ {
+ Appliance appliance = createAppliance( model );
+ m_repository.addAppliance( appliance );
+ return appliance;
}
//-------------------------------------------------------------------
1.8 +7 -1 avalon/merlin/composition/impl/src/java/org/apache/avalon/composition/model/impl/DefaultContainmentModel.java
Index: DefaultContainmentModel.java
===================================================================
RCS file: /home/cvs/avalon/merlin/composition/impl/src/java/org/apache/avalon/composition/model/impl/DefaultContainmentModel.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- DefaultContainmentModel.java 3 Dec 2003 19:04:53 -0000 1.7
+++ DefaultContainmentModel.java 4 Dec 2003 00:23:21 -0000 1.8
@@ -271,6 +271,12 @@
m_categories = categories; // TODO: merge with existing categories
}
+ /**
+ * Add a model referenced by a url to this model.
+ * @param url the url of the model to include
+ * @return the model
+ * @exception ModelException if a model related error occurs
+ */
public Model addModel( URL url ) throws ModelException
{
return addContainmentModel( url, null );
1.3 +16 -2 avalon/merlin/kernel/plugin/src/java/org/apache/avalon/merlin/tools/MerlinBean.java
Index: MerlinBean.java
===================================================================
RCS file: /home/cvs/avalon/merlin/kernel/plugin/src/java/org/apache/avalon/merlin/tools/MerlinBean.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- MerlinBean.java 28 Oct 2003 20:21:02 -0000 1.2
+++ MerlinBean.java 4 Dec 2003 00:23:21 -0000 1.3
@@ -53,7 +53,9 @@
import java.net.URL;
import org.apache.avalon.repository.Repository;
-import org.apache.avalon.repository.impl.DefaultFileRepository;
+import org.apache.avalon.repository.impl.DefaultRepository;
+import org.apache.avalon.repository.impl.DefaultCacheManager;
+import org.apache.avalon.repository.provider.CacheManager;
import org.apache.avalon.composition.util.ExceptionHelper;
import org.apache.avalon.merlin.kernel.Kernel;
import org.apache.avalon.merlin.kernel.KernelException;
@@ -69,6 +71,13 @@
public class MerlinBean
{
+ //------------------------------------------------------------------
+ // static
+ //------------------------------------------------------------------
+
+ private static final String[] DEFAULT_HOSTS =
+ new String[]{ "http://dpml.net", "http://ibiblio.org/maven" };
+
//-----------------------------------------------------
// state
//-----------------------------------------------------
@@ -322,9 +331,14 @@
{
DefaultKernelContext context = null;
+ //
+ // TODO: update to use the maven remote hosts
+ // and proxy settings
+
try
{
- Repository repository = new DefaultFileRepository( m_repository );
+ CacheManager manager = new DefaultCacheManager( m_repository, null );
+ Repository repository = new DefaultRepository( manager, DEFAULT_HOSTS );
context =
new DefaultKernelContext(
repository,
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org