You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2006/11/25 08:04:47 UTC
svn commit: r479093 [4/5] - in /incubator/tuscany/java/sca:
kernel/core/src/main/java/org/apache/tuscany/core/component/scope/
kernel/core/src/main/java/org/apache/tuscany/core/idl/java/
kernel/core/src/main/java/org/apache/tuscany/core/implementation/...
Modified: incubator/tuscany/java/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2TargetInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2TargetInvoker.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2TargetInvoker.java (original)
+++ incubator/tuscany/java/sca/services/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/Axis2TargetInvoker.java Fri Nov 24 23:04:41 2006
@@ -19,9 +19,12 @@
package org.apache.tuscany.binding.axis2;
import java.lang.reflect.InvocationTargetException;
-
import javax.xml.namespace.QName;
+import org.apache.tuscany.spi.wire.InvocationRuntimeException;
+import org.apache.tuscany.spi.wire.Message;
+import org.apache.tuscany.spi.wire.TargetInvoker;
+
import org.apache.axiom.om.OMElement;
import org.apache.axiom.soap.SOAPBody;
import org.apache.axiom.soap.SOAPEnvelope;
@@ -32,9 +35,6 @@
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.wsdl.WSDLConstants;
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.spi.wire.TargetInvoker;
/**
* Axis2TargetInvoker uses an Axis2 OperationClient to invoke a remote web service
@@ -50,7 +50,7 @@
private ServiceClient serviceClient;
public Axis2TargetInvoker(ServiceClient serviceClient, QName wsdlOperationName, Options options,
- SOAPFactory soapFactory) {
+ SOAPFactory soapFactory) {
this.wsdlOperationName = wsdlOperationName;
this.options = options;
this.soapFactory = soapFactory;
@@ -59,12 +59,13 @@
/**
* Invoke a WS operation
- *
+ *
* @param payload
+ * @param sequence
* @return
* @throws InvocationTargetException
*/
- public Object invokeTarget(final Object payload) throws InvocationTargetException {
+ public Object invokeTarget(final Object payload, final short sequence) throws InvocationTargetException {
try {
Object[] args = (Object[]) payload;
OperationClient operationClient = createOperationClient(args);
@@ -89,7 +90,7 @@
body.addChild((OMElement) bc);
} else {
throw new IllegalArgumentException(
- "Can't handle mixed payloads betweem OMElements and other types.");
+ "Can't handle mixed payloads betweem OMElements and other types.");
}
}
}
@@ -104,7 +105,7 @@
public Message invoke(Message msg) throws InvocationRuntimeException {
try {
- Object resp = invokeTarget(msg.getBody());
+ Object resp = invokeTarget(msg.getBody(), NONE);
msg.setBody(resp);
} catch (Throwable e) {
msg.setBodyWithFault(e);
Modified: incubator/tuscany/java/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Axis2ReferenceTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Axis2ReferenceTestCase.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Axis2ReferenceTestCase.java (original)
+++ incubator/tuscany/java/sca/services/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/Axis2ReferenceTestCase.java Fri Nov 24 23:04:41 2006
@@ -21,7 +21,6 @@
import java.lang.reflect.Type;
import java.net.URL;
import java.util.HashMap;
-
import javax.wsdl.Definition;
import javax.wsdl.Port;
import javax.wsdl.Service;
@@ -29,24 +28,26 @@
import javax.wsdl.xml.WSDLReader;
import javax.xml.namespace.QName;
-import junit.framework.TestCase;
+import org.xml.sax.InputSource;
-import org.apache.tuscany.idl.wsdl.WSDLServiceContract;
import org.apache.tuscany.spi.component.CompositeComponent;
import org.apache.tuscany.spi.idl.java.JavaServiceContract;
import org.apache.tuscany.spi.model.Operation;
+import static org.apache.tuscany.spi.model.Operation.NO_CONVERSATION;
import org.apache.tuscany.spi.model.ServiceContract;
import org.apache.tuscany.spi.wire.InboundWire;
import org.apache.tuscany.spi.wire.TargetInvoker;
import org.apache.tuscany.spi.wire.WireService;
+
+import junit.framework.TestCase;
+import org.apache.tuscany.idl.wsdl.WSDLServiceContract;
import org.easymock.EasyMock;
-import org.xml.sax.InputSource;
public class Axis2ReferenceTestCase extends TestCase {
public void testInvokeService() throws Exception {
Axis2Reference axis2Reference = createAxis2Reference("testWebAppName", "testServiceName");
- Operation operation = new Operation<Type>("sayHi", null, null, null, false, null);
+ Operation operation = new Operation<Type>("sayHi", null, null, null, false, null, NO_CONVERSATION);
TargetInvoker targetInvoker = axis2Reference.createTargetInvoker(null, operation);
assertNotNull(targetInvoker);
}
@@ -57,15 +58,16 @@
InboundWire inboundWire = EasyMock.createNiceMock(InboundWire.class);
JavaServiceContract contract = new JavaServiceContract(Greeter.class);
contract.setCallbackClass(GreetingCallback.class);
- Operation<Type> callbackOp = new Operation<Type>("sayHiCallback", null, null, null, true, null);
- HashMap<String,Operation<Type>> callbackOps = new HashMap<String,Operation<Type>>();
+ Operation<Type> callbackOp =
+ new Operation<Type>("sayHiCallback", null, null, null, true, null, NO_CONVERSATION);
+ HashMap<String, Operation<Type>> callbackOps = new HashMap<String, Operation<Type>>();
callbackOps.put("sayHiCallback", callbackOp);
contract.setCallbackOperations(callbackOps);
EasyMock.expect(inboundWire.getServiceContract()).andReturn(contract).anyTimes();
EasyMock.replay(inboundWire);
axis2Reference.setInboundWire(inboundWire);
- Operation operation = new Operation<Type>("sayHi", null, null, null, true, null);
+ Operation operation = new Operation<Type>("sayHi", null, null, null, true, null, NO_CONVERSATION);
TargetInvoker asyncTargetInvoker = axis2Reference.createAsyncTargetInvoker(null, operation);
assertNotNull(asyncTargetInvoker);
}
@@ -93,9 +95,9 @@
ServiceContract<?> contract = new WSDLServiceContract();
contract.setInterfaceClass(Greeter.class);
return new Axis2Reference(serviceName,
- parent,
- wireService,
- wsBinding,
- contract);
+ parent,
+ wireService,
+ wsBinding,
+ contract);
}
}
Modified: incubator/tuscany/java/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixInvoker.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixInvoker.java (original)
+++ incubator/tuscany/java/sca/services/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/CeltixInvoker.java Fri Nov 24 23:04:41 2006
@@ -127,7 +127,7 @@
* @param args the Java object arguments to the WS operation
* @return the response from the WS as a Java object
*/
- public Object invokeTarget(final Object args) throws InvocationTargetException {
+ public Object invokeTarget(final Object args, final short sequence) throws InvocationTargetException {
WSDLOperationInfo opInfo = wsdlCache.getOperationInfo(operationName);
if (opInfo == null) {
// REVISIT - really map the operation name to a WSDL operation
@@ -209,7 +209,7 @@
public Message invoke(Message msg) {
try {
- Object resp = invokeTarget(msg.getBody());
+ Object resp = invokeTarget(msg.getBody(), TargetInvoker.NONE);
msg.setBody(resp);
} catch (Throwable e) {
msg.setBodyWithFault(e);
Modified: incubator/tuscany/java/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/CeltixInvokerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/CeltixInvokerTestCase.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/CeltixInvokerTestCase.java (original)
+++ incubator/tuscany/java/sca/services/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/CeltixInvokerTestCase.java Fri Nov 24 23:04:41 2006
@@ -52,7 +52,7 @@
Object[] args = new Object[1];
args[0] = new String("hello");
- invoker.invokeTarget(args);
+ invoker.invokeTarget(args, CeltixInvoker.NONE);
// Check the input object after processing is correct
// Should be no change for input if only IN parameters involved
@@ -71,7 +71,7 @@
Object[] args = new Object[1];
String inputvalue = new String("hello");
args[0] = inputvalue;
- Object result = invoker.invokeTarget(args);
+ Object result = invoker.invokeTarget(args, CeltixInvoker.NONE);
// Check the input object after processing is correct
// input should be wrapped as Holder type if it is INOUT parameter
Modified: incubator/tuscany/java/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIInvoker.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIInvoker.java (original)
+++ incubator/tuscany/java/sca/services/bindings/binding.rmi/src/main/java/org/apache/tuscany/binding/rmi/RMIInvoker.java Fri Nov 24 23:04:41 2006
@@ -20,9 +20,10 @@
import java.lang.reflect.Method;
import java.rmi.Remote;
+import org.apache.tuscany.spi.extension.TargetInvokerExtension;
+
import org.apache.tuscany.host.rmi.RMIHost;
import org.apache.tuscany.host.rmi.RMIHostException;
-import org.apache.tuscany.spi.extension.TargetInvokerExtension;
/**
* Invoke an RMI reference.
@@ -47,7 +48,7 @@
this.rmiHost = rmiHost;
}
- public Object invokeTarget(Object payload) throws InvocationTargetException {
+ public Object invokeTarget(Object payload, final short sequence) throws InvocationTargetException {
try {
if (proxy == null) {
proxy = rmiHost.findService(host, port, svcName);
Modified: incubator/tuscany/java/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIInvokerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIInvokerTestCase.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIInvokerTestCase.java (original)
+++ incubator/tuscany/java/sca/services/bindings/binding.rmi/src/test/java/org/apache/tuscany/binding/rmi/RMIInvokerTestCase.java Fri Nov 24 23:04:41 2006
@@ -24,6 +24,8 @@
import java.lang.reflect.Method;
import java.rmi.Remote;
+import org.apache.tuscany.spi.wire.TargetInvoker;
+
import junit.framework.TestCase;
import org.apache.tuscany.host.rmi.RMIHost;
@@ -40,7 +42,7 @@
});
replay(host);
RMIInvoker invoker = new RMIInvoker(host, null, null, null, method);
- assertNotNull(invoker.invokeTarget(new Object[] {}));
+ assertNotNull(invoker.invokeTarget(new Object[] {}, TargetInvoker.NONE));
}
// TODO: these don't seem to work
Modified: incubator/tuscany/java/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyInvoker.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyInvoker.java (original)
+++ incubator/tuscany/java/sca/services/containers/container.groovy/src/main/java/org/apache/tuscany/container/groovy/GroovyInvoker.java Fri Nov 24 23:04:41 2006
@@ -62,8 +62,9 @@
/**
* Dispatches to the the target.
+ * TODO support conversational dispatch
*/
- public Object invokeTarget(final Object payload) throws InvocationTargetException {
+ public Object invokeTarget(final Object payload, final short sequence) throws InvocationTargetException {
GroovyObject target = component.getTargetInstance();
Object[] args = (Object[]) payload;
try {
Modified: incubator/tuscany/java/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/WireTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/WireTestCase.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/WireTestCase.java (original)
+++ incubator/tuscany/java/sca/services/containers/container.groovy/src/test/java/org/apache/tuscany/container/groovy/WireTestCase.java Fri Nov 24 23:04:41 2006
@@ -18,6 +18,8 @@
*/
package org.apache.tuscany.container.groovy;
+import static org.apache.tuscany.spi.model.Operation.NO_CONVERSATION;
+
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
@@ -144,9 +146,9 @@
configuration.setScopeContainer(scopeContainer);
configuration.setWireService(createWireService());
GroovyAtomicComponent component = new GroovyAtomicComponent(configuration);
- Operation<Type> operation = new Operation<Type>("greet", null, null, null, false, null);
+ Operation<Type> operation = new Operation<Type>("greet", null, null, null, false, null, NO_CONVERSATION);
TargetInvoker invoker = component.createTargetInvoker(null, operation, null);
- assertEquals("foo", invoker.invokeTarget(new String[]{"foo"}));
+ assertEquals("foo", invoker.invokeTarget(new String[]{"foo"}, TargetInvoker.NONE));
}
Modified: incubator/tuscany/java/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptInvoker.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptInvoker.java (original)
+++ incubator/tuscany/java/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/JavaScriptInvoker.java Fri Nov 24 23:04:41 2006
@@ -20,15 +20,16 @@
import java.lang.reflect.InvocationTargetException;
-import org.apache.tuscany.container.javascript.rhino.RhinoScriptInstance;
-import org.apache.tuscany.spi.extension.TargetInvokerExtension;
+import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.extension.ExecutionMonitor;
+import org.apache.tuscany.spi.extension.TargetInvokerExtension;
import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.component.WorkContext;
+
+import org.apache.tuscany.container.javascript.rhino.RhinoScriptInstance;
/**
* Dispatches to a JavaScript implementation instance
- *
+ *
* @version $$Rev$$ $$Date$$
*/
public class JavaScriptInvoker extends TargetInvokerExtension {
@@ -37,7 +38,11 @@
private String functionName;
- public JavaScriptInvoker(String functionName, JavaScriptComponent context, InboundWire wire, WorkContext workContext, ExecutionMonitor monitor) {
+ public JavaScriptInvoker(String functionName,
+ JavaScriptComponent context,
+ InboundWire wire,
+ WorkContext workContext,
+ ExecutionMonitor monitor) {
super(wire, workContext, monitor);
this.functionName = functionName;
this.context = context;
@@ -46,7 +51,7 @@
/**
* Invokes a function on a script instance
*/
- public Object invokeTarget(final Object payload) throws InvocationTargetException {
+ public Object invokeTarget(final Object payload, final short sequence) throws InvocationTargetException {
RhinoScriptInstance target = context.getTargetInstance();
return target.invokeFunction(functionName, (Object[]) payload);
}
Modified: incubator/tuscany/java/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfig.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfig.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfig.java (original)
+++ incubator/tuscany/java/sca/services/containers/container.javascript/src/main/java/org/apache/tuscany/container/javascript/rhino/RhinoSCAConfig.java Fri Nov 24 23:04:41 2006
@@ -111,7 +111,7 @@
} else if ("request".equalsIgnoreCase(String.valueOf(o))) {
this.scope = Scope.REQUEST;
} else if ("conversational".equalsIgnoreCase(String.valueOf(o))) {
- this.scope = Scope.SESSION; // TODO: where's CONVERSATIONAL?
+ this.scope = Scope.SESSION; // TODO: where's CONVERSATION?
} else if ("composite".equalsIgnoreCase(String.valueOf(o))) {
this.scope = Scope.MODULE; // TODO: composite = MODULE for now?
} else {
Modified: incubator/tuscany/java/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/WireTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/WireTestCase.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/WireTestCase.java (original)
+++ incubator/tuscany/java/sca/services/containers/container.javascript/src/test/java/org/apache/tuscany/container/javascript/WireTestCase.java Fri Nov 24 23:04:41 2006
@@ -18,6 +18,8 @@
*/
package org.apache.tuscany.container.javascript;
+import static org.apache.tuscany.spi.model.Operation.NO_CONVERSATION;
+
import static org.easymock.EasyMock.reportMatcher;
import java.lang.reflect.Type;
@@ -123,9 +125,9 @@
new JavaScriptComponent("source", implClass2, new HashMap<String, Object>(), services, null, scope,
ArtifactFactory.createWireService(), null, null);
scope.register(context);
- Operation<Type> operation = new Operation<Type>("greet", null, null, null, false, null);
+ Operation<Type> operation = new Operation<Type>("greet", null, null, null, false, null, NO_CONVERSATION);
TargetInvoker invoker = context.createTargetInvoker(null, operation, null);
- assertEquals("foo", invoker.invokeTarget(new String[]{"foo"}));
+ assertEquals("foo", invoker.invokeTarget(new String[]{"foo"}, TargetInvoker.NONE));
scope.stop();
}
Modified: incubator/tuscany/java/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyInvoker.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyInvoker.java (original)
+++ incubator/tuscany/java/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyInvoker.java Fri Nov 24 23:04:41 2006
@@ -55,7 +55,7 @@
/**
* Invokes a function on a script instance
*/
- public Object invokeTarget(final Object payload) throws InvocationTargetException {
+ public Object invokeTarget(final Object payload, final short sequence) throws InvocationTargetException {
RubyScriptInstance target = context.getTargetInstance();
return target.invokeFunction(functionName,
(Object[]) payload,
Modified: incubator/tuscany/java/sca/services/containers/container.script/src/main/java/org/apache/tuscany/container/script/ScriptTargetInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/containers/container.script/src/main/java/org/apache/tuscany/container/script/ScriptTargetInvoker.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/containers/container.script/src/main/java/org/apache/tuscany/container/script/ScriptTargetInvoker.java (original)
+++ incubator/tuscany/java/sca/services/containers/container.script/src/main/java/org/apache/tuscany/container/script/ScriptTargetInvoker.java Fri Nov 24 23:04:41 2006
@@ -36,7 +36,7 @@
this.component = component;
}
- public Object invokeTarget(final Object payload) throws InvocationTargetException {
+ public Object invokeTarget(final Object payload, final short sequence) throws InvocationTargetException {
ScriptInstance target = (ScriptInstance) component.getTargetInstance();
try {
return target.invokeTarget(functionName, (Object[]) payload);
Modified: incubator/tuscany/java/sca/services/containers/container.script/src/test/java/org/apache/tuscany/container/script/ScriptComponentTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/containers/container.script/src/test/java/org/apache/tuscany/container/script/ScriptComponentTestCase.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/containers/container.script/src/test/java/org/apache/tuscany/container/script/ScriptComponentTestCase.java (original)
+++ incubator/tuscany/java/sca/services/containers/container.script/src/test/java/org/apache/tuscany/container/script/ScriptComponentTestCase.java Fri Nov 24 23:04:41 2006
@@ -25,6 +25,7 @@
import org.apache.tuscany.spi.component.ScopeContainer;
import org.apache.tuscany.spi.component.TargetException;
import org.apache.tuscany.spi.model.Operation;
+import static org.apache.tuscany.spi.model.Operation.NO_CONVERSATION;
import org.apache.tuscany.spi.model.Scope;
import org.apache.tuscany.spi.model.ServiceContract;
import org.apache.tuscany.spi.wire.InboundWire;
@@ -46,7 +47,7 @@
config.setName("foo");
config.setScopeContainer(container);
ScriptComponent component = new ScriptComponent(config);
- Operation<Type> operation = new Operation<Type>("hashCode", null, null, null, false, null);
+ Operation<Type> operation = new Operation<Type>("hashCode", null, null, null, false, null, NO_CONVERSATION);
operation.setServiceContract(new Contract<Type>(List.class));
TargetInvoker invoker = component.createTargetInvoker("hashCode", operation, null);
assertNotNull(invoker);
Modified: incubator/tuscany/java/sca/services/containers/container.script/src/test/java/org/apache/tuscany/container/script/ScriptInvokerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/containers/container.script/src/test/java/org/apache/tuscany/container/script/ScriptInvokerTestCase.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/containers/container.script/src/test/java/org/apache/tuscany/container/script/ScriptInvokerTestCase.java (original)
+++ incubator/tuscany/java/sca/services/containers/container.script/src/test/java/org/apache/tuscany/container/script/ScriptInvokerTestCase.java Fri Nov 24 23:04:41 2006
@@ -20,6 +20,8 @@
import java.lang.reflect.InvocationTargetException;
+import org.apache.tuscany.spi.wire.TargetInvoker;
+
import junit.framework.TestCase;
import org.easymock.IAnswer;
import org.easymock.classextension.EasyMock;
@@ -43,7 +45,7 @@
EasyMock.expect(component.getTargetInstance()).andReturn(instance);
EasyMock.replay(component);
ScriptTargetInvoker invoker = new ScriptTargetInvoker("operation", component);
- assertEquals("hello", invoker.invokeTarget(new Object[]{"petra"}));
+ assertEquals("hello", invoker.invokeTarget(new Object[]{"petra"}, TargetInvoker.NONE));
EasyMock.verify(instance);
EasyMock.verify(component);
}
@@ -64,7 +66,7 @@
EasyMock.replay(component);
ScriptTargetInvoker invoker = new ScriptTargetInvoker("operation", component);
try {
- invoker.invokeTarget(new Object[]{"petra"});
+ invoker.invokeTarget(new Object[]{"petra"}, TargetInvoker.NONE);
fail();
} catch (InvocationTargetException e) {
// expected
Modified: incubator/tuscany/java/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringInvoker.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringInvoker.java (original)
+++ incubator/tuscany/java/sca/services/containers/container.spring/src/main/java/org/apache/tuscany/container/spring/impl/SpringInvoker.java Fri Nov 24 23:04:41 2006
@@ -50,7 +50,7 @@
springContext = context;
}
- public Object invokeTarget(final Object object) throws InvocationTargetException {
+ public Object invokeTarget(final Object object, final short sequence) throws InvocationTargetException {
if (bean == null) {
try {
bean = springContext.getBean(beanName);
@@ -71,7 +71,7 @@
public Message invoke(Message msg) throws InvocationRuntimeException {
try {
- Object resp = invokeTarget(msg.getBody());
+ Object resp = invokeTarget(msg.getBody(), TargetInvoker.NONE);
msg.setBody(resp);
} catch (InvocationTargetException e) {
msg.setBodyWithFault(e.getCause());
Modified: incubator/tuscany/java/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLOperation.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLOperation.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLOperation.java (original)
+++ incubator/tuscany/java/sca/services/idl/wsdl/src/main/java/org/apache/tuscany/idl/wsdl/WSDLOperation.java Fri Nov 24 23:04:41 2006
@@ -23,7 +23,6 @@
import java.util.Collection;
import java.util.Collections;
import java.util.List;
-
import javax.wsdl.Fault;
import javax.wsdl.Input;
import javax.wsdl.Message;
@@ -37,6 +36,7 @@
import org.apache.tuscany.spi.idl.TypeInfo;
import org.apache.tuscany.spi.idl.WrapperInfo;
import org.apache.tuscany.spi.model.DataType;
+
import org.apache.ws.commons.schema.XmlSchemaComplexType;
import org.apache.ws.commons.schema.XmlSchemaElement;
import org.apache.ws.commons.schema.XmlSchemaObject;
@@ -67,8 +67,8 @@
protected List<DataType<QName>> faultTypes;
/**
- * @param operation The WSDL4J operation
- * @param dataBinding The default databinding
+ * @param operation The WSDL4J operation
+ * @param dataBinding The default databinding
* @param schemaRegistry The XML Schema registry
*/
public WSDLOperation(Operation operation, String dataBinding, XMLSchemaRegistry schemaRegistry) {
@@ -85,14 +85,14 @@
/**
* Test if the operation qualifies wrapper style as defined by the JAX-WS 2.0 spec
- *
+ *
* @return true if the operation qualifies wrapper style, otherwise false
*/
public boolean isWrapperStyle() throws InvalidWSDLException {
if (wrapperStyle == null) {
wrapperStyle =
- Boolean.valueOf(wrapper.getInputChildElements() != null
- && (operation.getOutput() == null || wrapper.getOutputChildElements() != null));
+ Boolean.valueOf(wrapper.getInputChildElements() != null
+ && (operation.getOutput() == null || wrapper.getOutputChildElements() != null));
}
return wrapperStyle.booleanValue();
}
@@ -108,6 +108,7 @@
/**
* @return
* @throws InvalidServiceContractException
+ *
*/
public DataType<List<DataType<QName>>> getInputType() throws InvalidServiceContractException {
if (inputType == null) {
@@ -185,9 +186,13 @@
public org.apache.tuscany.spi.model.Operation<QName> getOperation() throws InvalidServiceContractException {
if (operationModel == null) {
boolean oneway = (operation.getOutput() == null);
- operationModel =
- new org.apache.tuscany.spi.model.Operation<QName>(operation.getName(), getInputType(),
- getOutputType(), getFaultTypes(), oneway, dataBinding);
+ operationModel = new org.apache.tuscany.spi.model.Operation<QName>(operation.getName(),
+ getInputType(),
+ getOutputType(),
+ getFaultTypes(),
+ oneway,
+ dataBinding,
+ org.apache.tuscany.spi.model.Operation.NO_CONVERSATION);
operationModel.setWrapperStyle(isWrapperStyle());
// operationModel.setMetaData(WSDLOperation.class.getName(), this);
if (isWrapperStyle()) {
@@ -271,19 +276,15 @@
/**
* The "Wrapper Style" WSDL operation is defined by The Java API for XML-Based Web Services (JAX-WS) 2.0
* specification, section 2.3.1.2 Wrapper Style.
- * <p>
- * A WSDL operation qualifies for wrapper style mapping only if the following criteria are met:
- * <ul>
- * <li>(i) The operations input and output messages (if present) each contain only a single part
- * <li>(ii) The input message part refers to a global element declaration whose localname is equal to the operation
- * name
- * <li>(iii) The output message part refers to a global element declaration
- * <li>(iv) The elements referred to by the input and output message parts (henceforth referred to as wrapper
- * elements) are both complex types defined using the xsd:sequence compositor
- * <li>(v) The wrapper elements only contain child elements, they must not contain other structures such as
- * wildcards (element or attribute), xsd:choice, substitution groups (element references are not permitted) or
- * attributes; furthermore, they must not be nillable.
- * </ul>
+ * <p/>
+ * A WSDL operation qualifies for wrapper style mapping only if the following criteria are met: <ul> <li>(i) The
+ * operations input and output messages (if present) each contain only a single part <li>(ii) The input message
+ * part refers to a global element declaration whose localname is equal to the operation name <li>(iii) The output
+ * message part refers to a global element declaration <li>(iv) The elements referred to by the input and output
+ * message parts (henceforth referred to as wrapper elements) are both complex types defined using the xsd:sequence
+ * compositor <li>(v) The wrapper elements only contain child elements, they must not contain other structures such
+ * as wildcards (element or attribute), xsd:choice, substitution groups (element references are not permitted) or
+ * attributes; furthermore, they must not be nillable. </ul>
*/
public class Wrapper {
private XmlSchemaElement inputWrapperElement;
@@ -297,7 +298,7 @@
private DataType<List<DataType<QName>>> unwrappedInputType;
private DataType<QName> unwrappedOutputType;
-
+
private transient WrapperInfo wrapperInfo;
private List<XmlSchemaElement> getChildElements(XmlSchemaElement element) throws InvalidWSDLException {
@@ -351,7 +352,7 @@
/**
* Return a list of child XSD elements under the wrapped request element
- *
+ *
* @return a list of child XSD elements or null if if the request element is not wrapped
*/
public List<XmlSchemaElement> getInputChildElements() throws InvalidWSDLException {
@@ -389,7 +390,7 @@
/**
* Return a list of child XSD elements under the wrapped response element
- *
+ *
* @return a list of child XSD elements or null if if the response element is not wrapped
*/
public List<XmlSchemaElement> getOutputChildElements() throws InvalidWSDLException {
@@ -446,7 +447,7 @@
childTypes.add(type);
}
unwrappedInputType =
- new DataType<List<DataType<QName>>>("idl:unwrapped.input", Object[].class, childTypes);
+ new DataType<List<DataType<QName>>>("idl:unwrapped.input", Object[].class, childTypes);
}
return unwrappedInputType;
}
@@ -482,7 +483,8 @@
}
}
wrapperInfo =
- new WrapperInfo(in, out, inChildren, outChildren, getUnwrappedInputType(), getUnwrappedOutputType());
+ new WrapperInfo(in, out, inChildren, outChildren, getUnwrappedInputType(),
+ getUnwrappedOutputType());
}
return wrapperInfo;
}
Modified: incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/Converter.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/Converter.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/Converter.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/Converter.java Fri Nov 24 23:04:41 2006
@@ -21,7 +21,6 @@
import java.io.Serializable;
import java.sql.Connection;
import java.sql.PreparedStatement;
-import java.util.UUID;
import org.apache.tuscany.spi.services.store.StoreReadException;
import org.apache.tuscany.spi.services.store.StoreWriteException;
@@ -90,8 +89,9 @@
* @param expiration
* @param object
* @throws org.apache.tuscany.spi.services.store.StoreWriteException
+ *
*/
- void insert(PreparedStatement stmt, String ownerId, UUID id, long expiration, Serializable object)
+ void insert(PreparedStatement stmt, String ownerId, String id, long expiration, Serializable object)
throws StoreWriteException;
/**
@@ -101,17 +101,16 @@
* @param object
* @throws StoreWriteException
*/
- void update(PreparedStatement stmt, String ownerId, UUID id, Serializable object) throws StoreWriteException;
+ void update(PreparedStatement stmt, String ownerId, String id, Serializable object) throws StoreWriteException;
/**
- *
* @param stmt
* @param ownerId
* @param id
* @return
* @throws StoreWriteException
*/
- boolean findAndLock(PreparedStatement stmt, String ownerId, UUID id) throws StoreWriteException;
+ boolean findAndLock(PreparedStatement stmt, String ownerId, String id) throws StoreWriteException;
/**
* Reads a record from the underlying store. Note implementations must assume auto commit is false.
@@ -122,7 +121,7 @@
* @return
* @throws StoreReadException
*/
- Object read(Connection conn, String ownerId, UUID id) throws StoreReadException;
+ Object read(Connection conn, String ownerId, String id) throws StoreReadException;
/**
* @param stmt
@@ -130,6 +129,6 @@
* @param id
* @throws StoreWriteException
*/
- void delete(PreparedStatement stmt, String ownerId, UUID id) throws StoreWriteException;
+ void delete(PreparedStatement stmt, String ownerId, String id) throws StoreWriteException;
}
Modified: incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStore.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStore.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStore.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStore.java Fri Nov 24 23:04:41 2006
@@ -22,7 +22,6 @@
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
-import java.util.UUID;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
@@ -97,7 +96,7 @@
monitor.stop("JDBC store stopped");
}
- public void insertRecord(SCAObject owner, UUID id, Object object, long expiration) throws StoreWriteException {
+ public void insertRecord(SCAObject owner, String id, Object object, long expiration) throws StoreWriteException {
if (!(object instanceof Serializable)) {
StoreWriteException e = new StoreWriteException("Type must implement serializable");
e.setIdentifier(object.getClass().getName());
@@ -146,7 +145,7 @@
}
}
- public void updateRecord(SCAObject owner, UUID id, Object object, long expiration) throws StoreWriteException {
+ public void updateRecord(SCAObject owner, String id, Object object, long expiration) throws StoreWriteException {
if (!(object instanceof Serializable)) {
StoreWriteException e = new StoreWriteException("Type must implement serializable");
e.setIdentifier(object.getClass().getName());
@@ -186,7 +185,7 @@
}
- public Object readRecord(SCAObject owner, UUID id) throws StoreReadException {
+ public Object readRecord(SCAObject owner, String id) throws StoreReadException {
Connection conn = null;
try {
conn = dataSource.getConnection();
@@ -207,7 +206,7 @@
}
}
- public void removeRecord(SCAObject owner, UUID id) throws StoreWriteException {
+ public void removeRecord(SCAObject owner, String id) throws StoreWriteException {
Connection conn = null;
try {
conn = dataSource.getConnection();
Modified: incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/Record.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/Record.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/Record.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/Record.java Fri Nov 24 23:04:41 2006
@@ -19,7 +19,6 @@
package org.apache.tuscany.service.persistence.store.jdbc;
import java.io.Serializable;
-import java.util.UUID;
/**
* Represents a persistent object and its metadata.
@@ -33,7 +32,7 @@
public static final int UPDATE = 1;
private String ownerId;
- private UUID id;
+ private String id;
private Serializable object;
private long expiration = JDBCStore.NEVER;
private int operation;
@@ -44,11 +43,11 @@
* @param ownerId
* @param id the unique id of the record
* @param object the object to serialize
- * @param expiration the expirary time, {@link org.apache.tuscany.spi.services.store.Store.NEVER} if there is
- * no expiration
+ * @param expiration the expirary time, {@link org.apache.tuscany.spi.services.store.Store.NEVER} if there is no
+ * expiration
* @param operation an <code>INSERT</code> or <code>UPDATE</code> operation
*/
- public Record(String ownerId, UUID id, Serializable object, long expiration, int operation) {
+ public Record(String ownerId, String id, Serializable object, long expiration, int operation) {
this.id = id;
this.object = object;
this.expiration = expiration;
@@ -61,7 +60,7 @@
*
* @return the unique object id
*/
- public UUID getId() {
+ public String getId() {
return id;
}
Modified: incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/AbstractConverter.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/AbstractConverter.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/AbstractConverter.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/AbstractConverter.java Fri Nov 24 23:04:41 2006
@@ -25,7 +25,6 @@
import java.io.Serializable;
import java.sql.PreparedStatement;
import java.sql.SQLException;
-import java.util.UUID;
import org.apache.tuscany.spi.services.store.StoreWriteException;
@@ -39,24 +38,22 @@
*/
public abstract class AbstractConverter implements Converter {
public static final int OWNER = 1;
- public static final int MOST_SIGNIFICANT_BITS = 2;
- public static final int LEAST_SIGNIFICANT_BITS = 3;
- public static final int EXPIRATION = 4;
- public static final int DATA = 5;
+ public static final int ID = 2;
+ public static final int EXPIRATION = 3;
+ public static final int DATA = 4;
public static final int OBJECT_UPDATE = 1;
public static final int OWNER_UPDATE = 2;
- public static final int MOST_SIGNIFICANT_BITS_UPDATE = 3;
- public static final int LEAST_SIGNIFICANT_BITS_UPDATE = 4;
+ public static final int ID_UPDATE = 3;
- protected String findSql = "SELECT * FROM CONVERSATION_STATE WHERE OWNER = ? AND ID_1 = ? AND ID_2 = ?";
+ protected String findSql = "SELECT * FROM CONVERSATION_STATE WHERE OWNER = ? AND ID = ?";
protected String insertSql =
- "INSERT INTO CONVERSATION_STATE (OWNER, ID_1, ID_2, EXPIRATION, OBJECT) VALUES (?, ?, ?, ?, ?)";
- protected String updateSql = "UPDATE CONVERSATION_STATE SET OBJECT = ? WHERE OWNER = ? AND ID_1 = ? AND ID_2 = ?";
+ "INSERT INTO CONVERSATION_STATE (OWNER, ID, EXPIRATION, OBJECT) VALUES (?, ?, ?, ?)";
+ protected String updateSql = "UPDATE CONVERSATION_STATE SET OBJECT = ? WHERE OWNER = ? AND ID = ?";
protected String selectUpdateSql =
- "SELECT ID_1 FROM CONVERSATION_STATE WHERE OWNER = ? AND ID_1 = ? AND ID_2 = ? FOR UPDATE";
- protected String deleteSql = "DELETE FROM CONVERSATION_STATE WHERE ID_1 = ? AND ID_2 = ?";
+ "SELECT ID FROM CONVERSATION_STATE WHERE OWNER = ? AND ID = ? FOR UPDATE";
+ protected String deleteSql = "DELETE FROM CONVERSATION_STATE WHERE ID = ?";
protected String deleteExpiredSql = "DELETE FROM CONVERSATION_STATE WHERE EXPIRATION <= ?";
- protected String deleteRecordSql = "DELETE FROM CONVERSATION_STATE WHERE OWNER = ? AND ID_1 = ? AND ID_2 = ?";
+ protected String deleteRecordSql = "DELETE FROM CONVERSATION_STATE WHERE OWNER = ? AND ID = ?";
public String getInsertSql() {
return insertSql;
@@ -86,23 +83,21 @@
return deleteRecordSql;
}
- public boolean findAndLock(PreparedStatement stmt, String ownerId, UUID id)
+ public boolean findAndLock(PreparedStatement stmt, String ownerId, String id)
throws StoreWriteException {
try {
stmt.setString(OWNER, ownerId);
- stmt.setLong(MOST_SIGNIFICANT_BITS, id.getMostSignificantBits());
- stmt.setLong(LEAST_SIGNIFICANT_BITS, id.getLeastSignificantBits());
+ stmt.setString(ID, id);
return stmt.executeQuery().next();
} catch (SQLException e) {
throw new StoreWriteException(e);
}
}
- public void delete(PreparedStatement stmt, String ownerId, UUID id) throws StoreWriteException {
+ public void delete(PreparedStatement stmt, String ownerId, String id) throws StoreWriteException {
try {
stmt.setString(OWNER, ownerId);
- stmt.setLong(MOST_SIGNIFICANT_BITS, id.getMostSignificantBits());
- stmt.setLong(LEAST_SIGNIFICANT_BITS, id.getLeastSignificantBits());
+ stmt.setString(ID, id);
} catch (SQLException e) {
throw new StoreWriteException(e);
}
Modified: incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/HSQLDBConverter.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/HSQLDBConverter.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/HSQLDBConverter.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/HSQLDBConverter.java Fri Nov 24 23:04:41 2006
@@ -24,7 +24,6 @@
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
-import java.util.UUID;
import org.apache.tuscany.spi.services.store.StoreReadException;
@@ -38,18 +37,17 @@
public class HSQLDBConverter extends AbstractConverter {
// HSQLDB does not support SELECT FOR UPDATE
- protected String selectUpdateSql = "SELECT ID_1 FROM CONVERSATION_STATE WHERE OWNER = ? AND ID_1 = ? AND ID_2 = ?";
+ protected String selectUpdateSql = "SELECT ID FROM CONVERSATION_STATE WHERE OWNER = ? AND ID = ?";
public String getSelectUpdateSql() {
return selectUpdateSql;
}
- public void insert(PreparedStatement stmt, String ownerId, UUID id, long expiration, Serializable object)
+ public void insert(PreparedStatement stmt, String ownerId, String id, long expiration, Serializable object)
throws StoreWriteException {
try {
stmt.setString(OWNER, ownerId);
- stmt.setLong(MOST_SIGNIFICANT_BITS, id.getMostSignificantBits());
- stmt.setLong(LEAST_SIGNIFICANT_BITS, id.getLeastSignificantBits());
+ stmt.setString(ID, id);
stmt.setLong(EXPIRATION, expiration);
stmt.setBytes(DATA, serialize(object));
} catch (SQLException e) {
@@ -59,13 +57,12 @@
}
}
- public void update(PreparedStatement stmt, String ownerId, UUID id, Serializable object)
+ public void update(PreparedStatement stmt, String ownerId, String id, Serializable object)
throws StoreWriteException {
try {
stmt.setBytes(OBJECT_UPDATE, serialize(object));
stmt.setString(OWNER_UPDATE, ownerId);
- stmt.setLong(MOST_SIGNIFICANT_BITS_UPDATE, id.getMostSignificantBits());
- stmt.setLong(LEAST_SIGNIFICANT_BITS_UPDATE, id.getLeastSignificantBits());
+ stmt.setString(ID_UPDATE, id);
} catch (SQLException e) {
throw new StoreWriteException(e);
} catch (IOException e) {
@@ -73,13 +70,12 @@
}
}
- public Object read(Connection conn, String ownerId, UUID id) throws StoreReadException {
+ public Object read(Connection conn, String ownerId, String id) throws StoreReadException {
PreparedStatement stmt = null;
try {
stmt = conn.prepareStatement(findSql);
stmt.setString(OWNER, ownerId);
- stmt.setLong(MOST_SIGNIFICANT_BITS, id.getMostSignificantBits());
- stmt.setLong(LEAST_SIGNIFICANT_BITS, id.getLeastSignificantBits());
+ stmt.setString(ID, id);
ResultSet rs = stmt.executeQuery();
boolean more = rs.next();
if (!more) {
Modified: incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/JDBCConverter.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/JDBCConverter.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/JDBCConverter.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.jdbc/src/main/java/org/apache/tuscany/service/persistence/store/jdbc/converter/JDBCConverter.java Fri Nov 24 23:04:41 2006
@@ -29,7 +29,6 @@
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
-import java.util.UUID;
import org.apache.tuscany.spi.services.store.StoreReadException;
import org.apache.tuscany.spi.services.store.StoreWriteException;
@@ -41,12 +40,11 @@
*/
public class JDBCConverter extends AbstractConverter {
- public void insert(PreparedStatement stmt, String ownerId, UUID id, long expiration, Serializable object)
+ public void insert(PreparedStatement stmt, String ownerId, String id, long expiration, Serializable object)
throws StoreWriteException {
try {
stmt.setString(OWNER, ownerId);
- stmt.setLong(MOST_SIGNIFICANT_BITS, id.getMostSignificantBits());
- stmt.setLong(LEAST_SIGNIFICANT_BITS, id.getLeastSignificantBits());
+ stmt.setString(ID, id);
stmt.setLong(EXPIRATION, expiration);
byte[] data = serialize(object);
InputStream in = new ByteArrayInputStream(data);
@@ -58,18 +56,17 @@
}
}
- public void update(PreparedStatement stmt, String ownerId, UUID id, Serializable object)
+ public void update(PreparedStatement stmt, String ownerId, String id, Serializable object)
throws StoreWriteException {
throw new UnsupportedOperationException();
}
- public Object read(Connection conn, String ownerId, UUID id) throws StoreReadException {
+ public Object read(Connection conn, String ownerId, String id) throws StoreReadException {
PreparedStatement stmt = null;
try {
stmt = conn.prepareStatement(findSql);
stmt.setString(OWNER, ownerId);
- stmt.setLong(MOST_SIGNIFICANT_BITS, id.getMostSignificantBits());
- stmt.setLong(LEAST_SIGNIFICANT_BITS, id.getLeastSignificantBits());
+ stmt.setString(ID, id);
ResultSet rs = stmt.executeQuery();
rs.next();
Blob blob = rs.getBlob(DATA);
Modified: incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStoreInsertTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStoreInsertTestCase.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStoreInsertTestCase.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStoreInsertTestCase.java Fri Nov 24 23:04:41 2006
@@ -50,13 +50,12 @@
EasyMock.replay(object);
store.init();
JDBCStoreInsertTestCase.Foo foo = new JDBCStoreInsertTestCase.Foo("test");
- UUID id = UUID.randomUUID();
+ String id = UUID.randomUUID().toString();
store.insertRecord(object, id, foo, Store.NEVER);
Statement stmt = ds.getConnection().createStatement();
ResultSet rs = stmt.executeQuery(TestUtils.SELECT_SQL);
rs.next();
- assertEquals(id.getMostSignificantBits(), rs.getLong(AbstractConverter.MOST_SIGNIFICANT_BITS));
- assertEquals(id.getLeastSignificantBits(), rs.getLong(AbstractConverter.LEAST_SIGNIFICANT_BITS));
+ assertEquals(id, rs.getString(AbstractConverter.ID));
Assert.assertEquals(Store.NEVER, rs.getLong(AbstractConverter.EXPIRATION));
}
@@ -66,9 +65,9 @@
EasyMock.expect(object.getCanonicalName()).andReturn("foo").atLeastOnce();
EasyMock.replay(object);
JDBCStoreInsertTestCase.Foo foo = new JDBCStoreInsertTestCase.Foo("test");
- UUID id = UUID.randomUUID();
+ String id = UUID.randomUUID().toString();
store.insertRecord(object, id, foo, Store.NEVER);
- JDBCStoreInsertTestCase.Foo foo2 = (JDBCStoreInsertTestCase.Foo) store.readRecord(object, id);
+ Foo foo2 = (Foo) store.readRecord(object, id);
assertEquals("test", foo2.data);
}
@@ -78,11 +77,11 @@
EasyMock.expect(object.getCanonicalName()).andReturn("foo").atLeastOnce();
EasyMock.replay(object);
JDBCStoreInsertTestCase.Foo foo = new JDBCStoreInsertTestCase.Foo("test");
- UUID id = UUID.randomUUID();
+ String id = UUID.randomUUID().toString();
store.insertRecord(object, id, foo, Store.NEVER);
foo.data = "test2";
store.insertRecord(object, id, foo, Store.NEVER);
- JDBCStoreInsertTestCase.Foo foo2 = (JDBCStoreInsertTestCase.Foo) store.readRecord(object, id);
+ Foo foo2 = (Foo) store.readRecord(object, id);
assertEquals("test2", foo2.data);
}
@@ -98,7 +97,7 @@
EasyMock.replay(owner2);
store.init();
Foo foo1 = new Foo("test");
- UUID id1 = UUID.randomUUID();
+ String id1 = UUID.randomUUID().toString();
Foo foo2 = new Foo("test2");
store.insertRecord(owner1, id1, foo1, Store.NEVER);
store.insertRecord(owner2, id1, foo2, Store.NEVER);
Modified: incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStoreTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStoreTestCase.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStoreTestCase.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStoreTestCase.java Fri Nov 24 23:04:41 2006
@@ -44,7 +44,7 @@
SCAObject object = EasyMock.createMock(SCAObject.class);
EasyMock.expect(object.getCanonicalName()).andReturn("foo").atLeastOnce();
EasyMock.replay(object);
- UUID id = UUID.randomUUID();
+ String id = UUID.randomUUID().toString();
assertNull(store.readRecord(object, id));
}
@@ -54,7 +54,7 @@
EasyMock.expect(object.getCanonicalName()).andReturn("foo").atLeastOnce();
EasyMock.replay(object);
Foo foo = new Foo("test");
- UUID id = UUID.randomUUID();
+ String id = UUID.randomUUID().toString();
store.insertRecord(object, id, foo, NEVER);
Foo foo2 = (Foo) store.readRecord(object, id);
assertEquals("test", foo2.data);
@@ -69,7 +69,7 @@
EasyMock.expect(object.getCanonicalName()).andReturn("foo").atLeastOnce();
EasyMock.replay(object);
Foo foo = new Foo("test");
- UUID id = UUID.randomUUID();
+ String id = UUID.randomUUID().toString();
store.insertRecord(object, id, foo, System.currentTimeMillis() + 20);
Thread.sleep(100);
assertNull(store.readRecord(object, id));
Modified: incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStoreUpdateTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStoreUpdateTestCase.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStoreUpdateTestCase.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/JDBCStoreUpdateTestCase.java Fri Nov 24 23:04:41 2006
@@ -49,7 +49,7 @@
EasyMock.replay(owner2);
store.init();
Foo foo1 = new Foo("test");
- UUID id1 = UUID.randomUUID();
+ String id1 = UUID.randomUUID().toString();
Foo foo2 = new Foo("test2");
store.insertRecord(owner1, id1, foo1, Store.NEVER);
store.insertRecord(owner2, id1, foo2, Store.NEVER);
@@ -69,7 +69,7 @@
EasyMock.expect(object.getCanonicalName()).andReturn("foo").atLeastOnce();
EasyMock.replay(object);
Foo foo = new Foo("test");
- UUID id = UUID.randomUUID();
+ String id = UUID.randomUUID().toString();
store.insertRecord(object, id, foo, NEVER);
foo.data = "test2";
store.updateRecord(object, id, foo, Store.NEVER);
Modified: incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/RecordTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/RecordTestCase.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/RecordTestCase.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/RecordTestCase.java Fri Nov 24 23:04:41 2006
@@ -29,32 +29,32 @@
public class RecordTestCase extends TestCase {
public void testInsertCompare() {
- Record record = new Record(null, UUID.randomUUID(), "foo", NEVER, Record.INSERT);
- Record record2 = new Record(null, UUID.randomUUID(), "bar", NEVER, Record.INSERT);
+ Record record = new Record(null, UUID.randomUUID().toString(), "foo", NEVER, Record.INSERT);
+ Record record2 = new Record(null, UUID.randomUUID().toString(), "bar", NEVER, Record.INSERT);
assertEquals(0, record.compareTo(record2));
}
public void testUpdateCompare() {
- Record record = new Record(null, UUID.randomUUID(), "foo", NEVER, Record.UPDATE);
- Record record2 = new Record(null, UUID.randomUUID(), "bar", NEVER, Record.UPDATE);
+ Record record = new Record(null, UUID.randomUUID().toString(), "foo", NEVER, Record.UPDATE);
+ Record record2 = new Record(null, UUID.randomUUID().toString(), "bar", NEVER, Record.UPDATE);
assertEquals(0, record.compareTo(record2));
}
public void testInsertUpdateCompare() {
- Record record = new Record(null, UUID.randomUUID(), "foo", NEVER, Record.INSERT);
- Record record2 = new Record(null, UUID.randomUUID(), "bar", NEVER, Record.UPDATE);
+ Record record = new Record(null, UUID.randomUUID().toString(), "foo", NEVER, Record.INSERT);
+ Record record2 = new Record(null, UUID.randomUUID().toString(), "bar", NEVER, Record.UPDATE);
assertEquals(-1, record.compareTo(record2));
}
public void testUpdateInsertCompare() {
- Record record = new Record(null, UUID.randomUUID(), "foo", NEVER, Record.UPDATE);
- Record record2 = new Record(null, UUID.randomUUID(), "bar", NEVER, Record.INSERT);
+ Record record = new Record(null, UUID.randomUUID().toString(), "foo", NEVER, Record.UPDATE);
+ Record record2 = new Record(null, UUID.randomUUID().toString(), "bar", NEVER, Record.INSERT);
assertEquals(1, record.compareTo(record2));
}
public void testAssertion() {
- Record record = new Record(null, UUID.randomUUID(), "foo", NEVER, 4);
- Record record2 = new Record(null, UUID.randomUUID(), "bar", NEVER, 5);
+ Record record = new Record(null, UUID.randomUUID().toString(), "foo", NEVER, 4);
+ Record record2 = new Record(null, UUID.randomUUID().toString(), "bar", NEVER, 5);
try {
record.compareTo(record2);
fail();
Modified: incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/TestUtils.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/TestUtils.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/TestUtils.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/TestUtils.java Fri Nov 24 23:04:41 2006
@@ -30,7 +30,7 @@
public final class TestUtils {
public static final String CREATE_TABLE =
- "CREATE TABLE CONVERSATION_STATE(OWNER VARCHAR, ID_1 BIGINT, ID_2 BIGINT, EXPIRATION BIGINT, "
+ "CREATE TABLE CONVERSATION_STATE(OWNER VARCHAR, ID VARCHAR, EXPIRATION BIGINT, "
+ "OBJECT LONGVARBINARY);";
public static final String DROP_TABLE = "DROP TABLE CONVERSATION_STATE IF EXISTS";
Modified: incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/converter/AbstractConverterTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/converter/AbstractConverterTestCase.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/converter/AbstractConverterTestCase.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/converter/AbstractConverterTestCase.java Fri Nov 24 23:04:41 2006
@@ -22,7 +22,6 @@
import java.io.Serializable;
import java.sql.Connection;
import java.sql.PreparedStatement;
-import java.util.UUID;
import org.apache.tuscany.spi.services.store.StoreReadException;
@@ -45,28 +44,28 @@
private class TestConverter extends AbstractConverter {
- public void insert(PreparedStatement stmt, String ownerId, UUID id, long expiration, Serializable object)
+ public void insert(PreparedStatement stmt, String ownerId, String id, long expiration, Serializable object)
throws StoreWriteException {
}
- public void update(PreparedStatement stmt, String ownerId, UUID id, Serializable object)
+ public void update(PreparedStatement stmt, String ownerId, String id, Serializable object)
throws StoreWriteException {
}
public boolean findAndLock(PreparedStatement stmt,
String ownerId,
- UUID id
+ String id
) throws StoreWriteException {
return false;
}
- public Object read(Connection conn, String ownerId, UUID id) throws StoreReadException {
+ public Object read(Connection conn, String ownerId, String id) throws StoreReadException {
return null;
}
- public void delete(PreparedStatement stmt, String ownerId, UUID id) throws StoreWriteException {
+ public void delete(PreparedStatement stmt, String ownerId, String id) throws StoreWriteException {
}
@@ -81,6 +80,7 @@
}
}
+ @SuppressWarnings({"SerializableHasSerializationMethods"})
private static class Foo implements Serializable {
private static final long serialVersionUID = -3774909621298751358L;
private String data;
Modified: incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/converter/HSQLDBConverterTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/converter/HSQLDBConverterTestCase.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/converter/HSQLDBConverterTestCase.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.jdbc/src/test/java/org/apache/tuscany/service/persistence/store/jdbc/converter/HSQLDBConverterTestCase.java Fri Nov 24 23:04:41 2006
@@ -43,7 +43,7 @@
Connection conn = ds.getConnection();
conn.setAutoCommit(false);
PreparedStatement stmt = conn.prepareStatement(converter.getInsertSql());
- UUID id = UUID.randomUUID();
+ String id = UUID.randomUUID().toString();
Foo foo = new Foo();
foo.data = "test";
converter.insert(stmt, "foo", id, Store.NEVER, foo);
@@ -63,7 +63,7 @@
public void testNotFound() throws Exception {
Connection conn = ds.getConnection();
conn.setAutoCommit(false);
- UUID id = UUID.randomUUID();
+ String id = UUID.randomUUID().toString();
assertNull(converter.read(conn, null, id));
conn.commit();
conn.close();
@@ -80,6 +80,7 @@
cleanup(ds);
}
+ @SuppressWarnings({"SerializableHasSerializationMethods"})
private static class Foo implements Serializable {
private static final long serialVersionUID = -6119188073169441225L;
private String data;
Modified: incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/Header.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/Header.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/Header.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/Header.java Fri Nov 24 23:04:41 2006
@@ -44,8 +44,7 @@
protected byte[][] fields;
private short operation;
private String ownerId;
- private long mostSignificant;
- private long leastSignificant;
+ private String id;
private long expiration;
private int numBlocks;
@@ -101,35 +100,19 @@
}
/**
- * Returns the most significant bits of the record UUID
+ * Returns the record id
*
- * @return the most significant bits of the record UUID
+ * @return the record id
*/
- public long getMostSignificant() {
- return mostSignificant;
+ public String getId() {
+ return id;
}
/**
* Sets the most significant bits of the record UUID
*/
- public void setMostSignificant(long mostSignificant) {
- this.mostSignificant = mostSignificant;
- }
-
- /**
- * Returns the least significant bits of the record UUID
- *
- * @return the least significant bits of the record UUID
- */
- public long getLeastSignificant() {
- return leastSignificant;
- }
-
- /**
- * Sets the least significant bits of the record UUID
- */
- public void setLeastSignificant(long leastSignificant) {
- this.leastSignificant = leastSignificant;
+ public void setId(String id) {
+ this.id = id;
}
/**
Modified: incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/Journal.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/Journal.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/Journal.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/Journal.java Fri Nov 24 23:04:41 2006
@@ -21,6 +21,7 @@
import java.io.IOException;
import org.apache.tuscany.spi.services.store.StoreWriteException;
+
import org.objectweb.howl.log.Configuration;
import org.objectweb.howl.log.LogClosedException;
import org.objectweb.howl.log.LogFileOverflowException;
Modified: incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/JournalIinitializationException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/JournalIinitializationException.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/JournalIinitializationException.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/JournalIinitializationException.java Fri Nov 24 23:04:41 2006
@@ -21,7 +21,7 @@
import org.apache.tuscany.api.TuscanyException;
/**
- * Denotes an error starting the journal
+ * Denotes an error starting the journal
*
* @version $Rev$ $Date$
*/
Modified: incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/JournalStore.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/JournalStore.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/JournalStore.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/JournalStore.java Fri Nov 24 23:04:41 2006
@@ -22,7 +22,6 @@
import java.io.Serializable;
import java.util.List;
import java.util.Map;
-import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
@@ -34,20 +33,17 @@
import org.osoa.sca.annotations.Property;
import org.apache.tuscany.spi.component.SCAObject;
-
-import org.apache.tuscany.api.annotation.Monitor;
-import static org.apache.tuscany.persistence.store.journal.SerializationHelper.partition;
-import static org.apache.tuscany.persistence.store.journal.SerializationHelper.serialize;
-import static org.apache.tuscany.persistence.store.journal.SerializationHelper.serializeHeader;
-import static org.apache.tuscany.persistence.store.journal.SerializationHelper.serializeRecordId;
import org.apache.tuscany.spi.services.store.RecoveryListener;
import org.apache.tuscany.spi.services.store.Store;
-
import org.apache.tuscany.spi.services.store.StoreMonitor;
import org.apache.tuscany.spi.services.store.StoreReadException;
-
import org.apache.tuscany.spi.services.store.StoreWriteException;
+import org.apache.tuscany.api.annotation.Monitor;
+import static org.apache.tuscany.persistence.store.journal.SerializationHelper.partition;
+import static org.apache.tuscany.persistence.store.journal.SerializationHelper.serialize;
+import static org.apache.tuscany.persistence.store.journal.SerializationHelper.serializeHeader;
+import static org.apache.tuscany.persistence.store.journal.SerializationHelper.serializeRecordId;
import org.objectweb.howl.log.Configuration;
import org.objectweb.howl.log.InvalidFileSetException;
import org.objectweb.howl.log.InvalidLogBufferException;
@@ -63,14 +59,14 @@
/**
* A journal-based store service that uses HOWL for reliable persistence and recovery of object instances. Insert,
* update, and delete operations, as well as object instances, are written to a binary log. Delete operations are
- * written as a single header block as defined by {@link SerializationHelper#serializeHeader(short, int, String,
- * java.util.UUID, long)}. Insert and update operations are written using multiple blocks consisting of at least one
- * header and 1..n additional blocks containing the object byte array. If the byte array size is greater than the log
- * block size (the HOWL default is 4K), it must be partitioned into smaller units using {@link
- * SerializationHelper#partition(byte[], int)} and written across multiple blocks. The header contains the number of
- * ensuing blocks a record occupies. Since block writes to the log may be interleaved, blocks for a given record may not
- * be consecutive. In order to identify the record a block belongs to, the first byte array of written data for the
- * block contains the serialized owner id and UUID associated with the record.
+ * written as a single header block as defined by {@link SerializationHelper#serializeHeader(short, int, String, String,
+ * long)}. Insert and update operations are written using multiple blocks consisting of at least one header and 1..n
+ * additional blocks containing the object byte array. If the byte array size is greater than the log block size (the
+ * HOWL default is 4K), it must be partitioned into smaller units using {@link SerializationHelper#partition(byte[],
+ * int)} and written across multiple blocks. The header contains the number of ensuing blocks a record occupies. Since
+ * block writes to the log may be interleaved, blocks for a given record may not be consecutive. In order to identify
+ * the record a block belongs to, the first byte array of written data for the block contains the serialized owner id
+ * and UUID associated with the record.
* <p/>
* A cache of all active persisted instances is maintained in memory and is used for read operations. When an instance
* is persisted, a log record is written and an entry is added to the cache containing the instance. When an instance is
@@ -363,15 +359,15 @@
}
}
- public void insertRecord(SCAObject owner, UUID id, Object object, long expiration) throws StoreWriteException {
+ public void insertRecord(SCAObject owner, String id, Object object, long expiration) throws StoreWriteException {
write(owner, id, object, expiration, Header.INSERT);
}
- public void updateRecord(SCAObject owner, UUID id, Object object, long expiration) throws StoreWriteException {
+ public void updateRecord(SCAObject owner, String id, Object object, long expiration) throws StoreWriteException {
write(owner, id, object, expiration, Header.UPDATE);
}
- public Object readRecord(SCAObject owner, UUID id) throws StoreReadException {
+ public Object readRecord(SCAObject owner, String id) throws StoreReadException {
RecordEntry record;
RecordKey key = new RecordKey(id, owner.getCanonicalName());
record = cache.get(key);
@@ -384,7 +380,7 @@
return record.getObject();
}
- public void removeRecord(SCAObject owner, UUID id) throws StoreWriteException {
+ public void removeRecord(SCAObject owner, String id) throws StoreWriteException {
try {
journal.writeHeader(serializeHeader(Header.DELETE, 0, owner.getCanonicalName(), id, NEVER), true);
RecordKey key = new RecordKey(id, owner.getCanonicalName());
@@ -414,7 +410,7 @@
* @param operation
* @throws StoreWriteException
*/
- private void write(SCAObject owner, UUID id, Object object, long expiration, short operation)
+ private void write(SCAObject owner, String id, Object object, long expiration, short operation)
throws StoreWriteException {
if (!(object instanceof Serializable)) {
StoreWriteException e = new StoreWriteException("Type must implement serializable");
@@ -533,7 +529,7 @@
if (record.getExpiration() <= now) {
try {
String ownerName = key.getOwnerName();
- UUID id = key.getId();
+ String id = key.getId();
byte[] header =
SerializationHelper.serializeHeader(Header.DELETE, 0, ownerName, id, Store.NEVER);
journal.writeHeader(header, false);
Modified: incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/RecordEntry.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/RecordEntry.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/RecordEntry.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/RecordEntry.java Fri Nov 24 23:04:41 2006
@@ -35,8 +35,8 @@
/**
* Creates a new cached record
*
- * @param object the object to serialize
- * @param operation an <code>INSERT</code> or <code>UPDATE</code> operation
+ * @param object the object to serialize
+ * @param operation an <code>INSERT</code> or <code>UPDATE</code> operation
* @param journalKey the journal key for the block where the record is written
*/
public RecordEntry(Serializable object, short operation, long[] journalKey, long expiration) {
Modified: incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/RecordKey.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/RecordKey.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/RecordKey.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/RecordKey.java Fri Nov 24 23:04:41 2006
@@ -18,8 +18,6 @@
*/
package org.apache.tuscany.persistence.store.journal;
-import java.util.UUID;
-
/**
* Used by the store cache to retrieve record entries
*
@@ -27,15 +25,15 @@
*/
public class RecordKey {
- private UUID id;
+ private String id;
private String ownerName;
- public RecordKey(UUID id, String ownerName) {
+ public RecordKey(String id, String ownerName) {
this.id = id;
this.ownerName = ownerName;
}
- public UUID getId() {
+ public String getId() {
return id;
}
Modified: incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/SerializationHelper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/SerializationHelper.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/SerializationHelper.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/SerializationHelper.java Fri Nov 24 23:04:41 2006
@@ -26,7 +26,6 @@
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
-import java.util.UUID;
import org.apache.tuscany.spi.component.SCAExternalizable;
import org.apache.tuscany.spi.component.WorkContext;
@@ -113,7 +112,7 @@
* @return a byte array containing the serialized header
* @throws IOException
*/
- public static byte[] serializeHeader(short operation, int numRecords, String ownerId, UUID id, long expiration)
+ public static byte[] serializeHeader(short operation, int numRecords, String ownerId, String id, long expiration)
throws IOException {
ByteArrayOutputStream stream = null;
ObjectOutputStream ostream = null;
@@ -123,8 +122,7 @@
ostream.writeShort(operation);
ostream.writeInt(numRecords);
ostream.writeObject(ownerId);
- ostream.writeLong(id.getMostSignificantBits());
- ostream.writeLong(id.getLeastSignificantBits());
+ ostream.writeObject(id);
ostream.writeLong(expiration);
ostream.flush();
return stream.toByteArray();
@@ -150,11 +148,11 @@
* Serializes a unique record id consisting of the owner id and the record's UUID
*
* @param ownerId the id of the owner, typically an SCAObject canonical name
- * @param id the UUID associated with the record
+ * @param id the id associated with the record
* @return the serialized record byte array
* @throws IOException
*/
- public static byte[] serializeRecordId(String ownerId, UUID id)
+ public static byte[] serializeRecordId(String ownerId, String id)
throws IOException {
ByteArrayOutputStream stream = null;
ObjectOutputStream ostream = null;
@@ -162,8 +160,7 @@
stream = new ByteArrayOutputStream();
ostream = new ObjectOutputStream(stream);
ostream.writeObject(ownerId);
- ostream.writeLong(id.getMostSignificantBits());
- ostream.writeLong(id.getLeastSignificantBits());
+ ostream.writeObject(id);
ostream.flush();
return stream.toByteArray();
} finally {
@@ -202,8 +199,7 @@
header.setOperation(stream.readShort());
header.setNumBlocks(stream.readInt());
header.setOwnerId((String) stream.readObject());
- header.setMostSignificant(stream.readLong());
- header.setLeastSignificant(stream.readLong());
+ header.setId((String) stream.readObject());
header.setExpiration(stream.readLong());
return header;
} finally {
Modified: incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/TCCLObjectInputStream.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/TCCLObjectInputStream.java?view=diff&rev=479093&r1=479092&r2=479093
==============================================================================
--- incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/TCCLObjectInputStream.java (original)
+++ incubator/tuscany/java/sca/services/persistence/store.journal/src/main/java/org/apache/tuscany/persistence/store/journal/TCCLObjectInputStream.java Fri Nov 24 23:04:41 2006
@@ -18,9 +18,9 @@
*/
package org.apache.tuscany.persistence.store.journal;
-import java.io.ObjectInputStream;
-import java.io.InputStream;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.ObjectInputStream;
import java.io.ObjectStreamClass;
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org