You are viewing a plain text version of this content. The canonical link for it is here.
Posted to muse-commits@ws.apache.org by da...@apache.org on 2006/07/28 17:16:53 UTC
svn commit: r426557 - in
/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor:
CapabilityDefinition.java DescriptorConstants.java RouterDefinition.java
SimpleCapabilityDescriptor.java SimpleRouterDescriptor.java
Author: danj
Date: Fri Jul 28 08:16:53 2006
New Revision: 426557
URL: http://svn.apache.org/viewvc?rev=426557&view=rev
Log:
Updated parsers for capability and router descriptors to look for <persistence/> (optional element) and
store the definition (if present).
Modified:
webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/CapabilityDefinition.java
webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/DescriptorConstants.java
webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/RouterDefinition.java
webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleCapabilityDescriptor.java
webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleRouterDescriptor.java
Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/CapabilityDefinition.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/CapabilityDefinition.java?rev=426557&r1=426556&r2=426557&view=diff
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/CapabilityDefinition.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/CapabilityDefinition.java Fri Jul 28 08:16:53 2006
@@ -20,6 +20,7 @@
import java.util.Map;
import org.apache.muse.core.Capability;
+import org.apache.muse.core.Persistence;
import org.apache.muse.util.ReflectUtils;
import org.apache.muse.util.messages.Messages;
import org.apache.muse.util.messages.MessagesFactory;
@@ -46,6 +47,8 @@
private Map _parameters = null;
+ private PersistenceDefinition _persistence = null;
+
private String _uri = null;
public Capability newInstance()
@@ -57,6 +60,14 @@
capability.setMessageHandlers(getMessageHandlers());
capability.setInitializationParameters(getInitializationParameters());
+ PersistenceDefinition persistenceDef = getPersistenceDefinition();
+
+ if (persistenceDef != null)
+ {
+ Persistence persistence = persistenceDef.newInstance();
+ capability.setPersistence(persistence);
+ }
+
return capability;
}
@@ -109,5 +120,15 @@
public void setURI(String uri)
{
_uri = uri;
+ }
+
+ public PersistenceDefinition getPersistenceDefinition()
+ {
+ return _persistence;
+ }
+
+ public void setPersistenceDefinition(PersistenceDefinition persistence)
+ {
+ _persistence = persistence;
}
}
Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/DescriptorConstants.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/DescriptorConstants.java?rev=426557&r1=426556&r2=426557&view=diff
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/DescriptorConstants.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/DescriptorConstants.java Fri Jul 28 08:16:53 2006
@@ -67,6 +67,9 @@
public static final QName JAVA_PERSISTENCE_QNAME =
new QName(NAMESPACE_URI, "java-persistence-class", PREFIX);
+ public static final QName PERSISTENCE_LOCATION_QNAME =
+ new QName(NAMESPACE_URI, "persistence-location", PREFIX);
+
public static final QName CAPABILITY_QNAME =
new QName(NAMESPACE_URI, "capability", PREFIX);
Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/RouterDefinition.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/RouterDefinition.java?rev=426557&r1=426556&r2=426557&view=diff
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/RouterDefinition.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/RouterDefinition.java Fri Jul 28 08:16:53 2006
@@ -40,7 +40,7 @@
private Class _theClass = null;
- private RouterPersistence _persistence = null;
+ private PersistenceDefinition _persistence = null;
private Collection _resourceDefinitions = null;
@@ -99,17 +99,23 @@
router.setResourceDefinitions(getResourceDefinitions());
- router.setPersistence(getPersistence());
+ PersistenceDefinition persistenceDef = getPersistenceDefinition();
+
+ if (persistenceDef != null)
+ {
+ RouterPersistence persistence = (RouterPersistence)persistenceDef.newInstance();
+ router.setPersistence(persistence);
+ }
return router;
}
- public RouterPersistence getPersistence()
+ public PersistenceDefinition getPersistenceDefinition()
{
return _persistence;
}
- public void setPersistence(RouterPersistence persistence)
+ public void setPersistenceDefinition(PersistenceDefinition persistence)
{
_persistence = persistence;
}
Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleCapabilityDescriptor.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleCapabilityDescriptor.java?rev=426557&r1=426556&r2=426557&view=diff
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleCapabilityDescriptor.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleCapabilityDescriptor.java Fri Jul 28 08:16:53 2006
@@ -42,6 +42,7 @@
{
String uri = createURI(xml);
Class implClass = createImplementationClass(xml, environment);
+ PersistenceDefinition persistence = createPersistence(xml, environment);
InitParamDescriptor paramDesc = createInitParamDescriptor();
paramDesc.load(xml);
@@ -50,6 +51,7 @@
_definition = new CapabilityDefinition();
_definition.setURI(uri);
_definition.setImplementationClass(implClass);
+ _definition.setPersistenceDefinition(persistence);
_definition.setInitializationParameters(parameters);
}
@@ -70,6 +72,25 @@
protected InitParamDescriptor createInitParamDescriptor()
{
return new SimpleInitParamDescriptor();
+ }
+
+ protected PersistenceDefinition createPersistence(Element xml, Environment env)
+ throws SoapFault
+ {
+ Element persistenceXML = XmlUtils.getElement(xml, DescriptorConstants.PERSISTENCE_QNAME);
+
+ if (persistenceXML == null)
+ return null;
+
+ PersistenceDescriptor desc = createPersistenceDescriptor();
+ desc.load(persistenceXML, env);
+
+ return desc.getPersistenceDefinition();
+ }
+
+ protected PersistenceDescriptor createPersistenceDescriptor()
+ {
+ return new SimplePersistenceDescriptor();
}
protected String createURI(Element xml)
Modified: webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleRouterDescriptor.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleRouterDescriptor.java?rev=426557&r1=426556&r2=426557&view=diff
==============================================================================
--- webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleRouterDescriptor.java (original)
+++ webservices/muse/trunk/modules/muse-core/src/org/apache/muse/core/descriptor/SimpleRouterDescriptor.java Fri Jul 28 08:16:53 2006
@@ -17,7 +17,6 @@
package org.apache.muse.core.descriptor;
import java.io.File;
-import java.util.Map;
import java.util.logging.Level;
import javax.xml.namespace.QName;
@@ -26,7 +25,6 @@
import org.apache.muse.core.Environment;
import org.apache.muse.core.routing.ResourceRouter;
-import org.apache.muse.core.routing.RouterPersistence;
import org.apache.muse.util.ReflectUtils;
import org.apache.muse.util.messages.Messages;
import org.apache.muse.util.messages.MessagesFactory;
@@ -56,13 +54,13 @@
{
Class routerClass = createRouterClass(xml, environment);
LoggingConfig logging = createLogging(xml, environment);
- RouterPersistence persistence = createPersistence(xml, environment);
+ PersistenceDefinition persistence = createPersistence(xml, environment);
_definition = new RouterDefinition();
_definition.setEnvironment(environment);
_definition.setRouterClass(routerClass);
_definition.setLoggingConfig(logging);
- _definition.setPersistence(persistence);
+ _definition.setPersistenceDefinition(persistence);
}
protected File createLogFile(Element logging, Environment env)
@@ -108,7 +106,7 @@
return new SimpleInitParamDescriptor();
}
- protected RouterPersistence createPersistence(Element xml, Environment env)
+ protected PersistenceDefinition createPersistence(Element xml, Environment env)
throws SoapFault
{
Element persistenceXML = XmlUtils.getElement(xml, DescriptorConstants.PERSISTENCE_QNAME);
@@ -116,28 +114,15 @@
if (persistenceXML == null)
return null;
- String className = XmlUtils.getElementText(persistenceXML, DescriptorConstants.JAVA_PERSISTENCE_QNAME);
+ PersistenceDescriptor desc = createPersistenceDescriptor();
+ desc.load(persistenceXML, env);
- ClassLoader loader = env.getClassLoader();
- Class theClass = ReflectUtils.getClass(className, loader);
-
- //
- // make sure this class is an instance of RouterPersistence
- //
- if (!RouterPersistence.class.isAssignableFrom(theClass))
- {
- Object[] filler = { className, RouterPersistence.class.getName() };
- String message = _MESSAGES.get("IncorrectPersistenceRoot", filler);
- throw new RuntimeException(message);
- }
-
- InitParamDescriptor paramDesc = createInitParamDescriptor();
- paramDesc.load(persistenceXML);
- Map parameters = paramDesc.getInitializationParameters();
-
- RouterPersistence persistence = (RouterPersistence)ReflectUtils.newInstance(theClass);
- persistence.setInitializationParameters(parameters);
- return persistence;
+ return desc.getPersistenceDefinition();
+ }
+
+ protected PersistenceDescriptor createPersistenceDescriptor()
+ {
+ return new RouterPersistenceDescriptor();
}
protected Class createRouterClass(Element xml, Environment env)
---------------------------------------------------------------------
To unsubscribe, e-mail: muse-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-commits-help@ws.apache.org