donaldp 2002/06/24 21:32:29
Modified:
containerkit/src/java/org/apache/excalibur/containerkit/lifecycle/impl
AbstractResourceProvider.java Resource.properties
Log:
Make the AbstractResourceProvider extract parameteres/configuration from
ComponentMetaData
Revision Changes Path
1.3 +34 -5
jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/lifecycle/impl/AbstractResourceProvider.java
Index: AbstractResourceProvider.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/lifecycle/impl/AbstractResourceProvider.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AbstractResourceProvider.java 23 Jun 2002 02:31:22 -0000 1.2
+++ AbstractResourceProvider.java 25 Jun 2002 04:32:29 -0000 1.3
@@ -15,13 +15,13 @@
import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.component.ComponentManager;
import org.apache.avalon.framework.component.DefaultComponentManager;
-import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.context.DefaultContext;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.framework.service.DefaultServiceManager;
import org.apache.avalon.framework.service.ServiceManager;
+import org.apache.avalon.framework.configuration.Configuration;
import org.apache.excalibur.containerkit.lifecycle.ResourceProvider;
import org.apache.excalibur.containerkit.metadata.ComponentMetaData;
import org.apache.excalibur.containerkit.metadata.DependencyMetaData;
@@ -80,15 +80,44 @@
*
* @param entry the entry
* @return a new Parameters object for component
- * @throws java.lang.Exception if unable to create resource
+ * @throws Exception if unable to create resource
*/
public Parameters createParameters( Object entry )
throws Exception
{
- final Configuration configuration = createConfiguration( entry );
- final Parameters parameters = Parameters.fromConfiguration(
configuration );
+ final ComponentMetaData component = getMetaData( entry );
+ final Parameters parameters = component.getParameters();
+ if( null == parameters )
+ {
+ final String message =
+ REZ.getString( "resource.missing-parameters.error",
+ component.getName() );
+ throw new Exception( message );
+ }
parameters.makeReadOnly();
return parameters;
+ }
+
+ /**
+ * Create a new Configuration object for component.
+ *
+ * @param entry the entry
+ * @return a new Configuration object for component
+ * @throws Exception if unable to create resource
+ */
+ public Configuration createConfiguration( Object entry )
+ throws Exception
+ {
+ final ComponentMetaData component = getMetaData( entry );
+ final Configuration configuration = component.getConfiguration();
+ if( null == configuration )
+ {
+ final String message =
+ REZ.getString( "resource.missing-configuration.error",
+ component.getName() );
+ throw new Exception( message );
+ }
+ return configuration;
}
/**
1.2 +2 -0
jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/lifecycle/impl/Resource.properties
Index: Resource.properties
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/containerkit/src/java/org/apache/excalibur/containerkit/lifecycle/impl/Resource.properties,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Resource.properties 18 Jun 2002 05:26:31 -0000 1.1
+++ Resource.properties 25 Jun 2002 04:32:29 -0000 1.2
@@ -3,3 +3,5 @@
resource.bad-context-type.error=The class of Contex object for component
named "{2}" was expected to be of type {0} but was of tpye {1}.
resource.service-not-a-component.error=The service with role "0" and
implemenation class "{1}" does not implement the Component interface but is
being exposed via ComponentManager.
resource.missing-dependency.error=Missing {0,choice,1#Optional|2#Required}
dependency with role "{1}" for component named {2}.
+resource.missing-parameters.error=Missing Parameters object for component
named "{0}".
+resource.missing-parameters.error=Missing Configuration for component named
"{0}".
\ No newline at end of file
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>