You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ph...@apache.org on 2013/02/01 12:54:40 UTC
svn commit: r1441401 [2/2] - in /qpid/proton/trunk: ./ bin/ cmake/
design/api-reconciliation/ examples/ proton-c/ proton-c/bindings/
proton-c/bindings/java/ proton-c/docs/api/ proton-j/
proton-j/contrib/proton-hawtdispatch/ proton-j/contrib/proton-hawt...
Modified: qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/message/impl/MessageImpl.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/message/impl/MessageImpl.java?rev=1441401&r1=1441400&r2=1441401&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/message/impl/MessageImpl.java (original)
+++ qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/message/impl/MessageImpl.java Fri Feb 1 11:54:38 2013
@@ -1,4 +1,3 @@
-package org.apache.qpid.proton.message.impl;
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -20,6 +19,7 @@ package org.apache.qpid.proton.message.i
*
*/
+package org.apache.qpid.proton.message.impl;
import java.nio.ByteBuffer;
import java.util.Date;
@@ -32,10 +32,8 @@ import org.apache.qpid.proton.amqp.messa
import org.apache.qpid.proton.codec.*;
import org.apache.qpid.proton.message.*;
-public class MessageImpl implements Message
+public class MessageImpl implements ProtonJMessage
{
- public static final short DEFAULT_PRIORITY = 4;
-
private final AMQPMessageFormat _parser = new AMQPMessageFormat();
private Header _header;
@@ -47,11 +45,19 @@ public class MessageImpl implements Mess
private Footer _footer;
private MessageFormat _format = MessageFormat.DATA;
- public MessageImpl()
+ /**
+ * @deprecated This constructor's visibility will be reduced to the default scope in a future release.
+ * Client code outside this module should use a {@link MessageFactory} instead
+ */
+ @Deprecated public MessageImpl()
{
}
- public MessageImpl(Header header, DeliveryAnnotations deliveryAnnotations, MessageAnnotations messageAnnotations,
+ /**
+ * @deprecated This constructor's visibility will be reduced to the default scope in a future release.
+ * Client code outside this module should use a {@link MessageFactory} instead
+ */
+ @Deprecated public MessageImpl(Header header, DeliveryAnnotations deliveryAnnotations, MessageAnnotations messageAnnotations,
Properties properties, ApplicationProperties applicationProperties, Section body, Footer footer)
{
_header = header;
@@ -673,6 +679,7 @@ public class MessageImpl implements Mess
return encode(new WritableBuffer.ByteBufferWrapper(buffer));
}
+ @Override
public int encode2(byte[] data, int offset, int length)
{
ByteBuffer buffer = ByteBuffer.wrap(data, offset, length);
@@ -684,6 +691,7 @@ public class MessageImpl implements Mess
return composite.position() - start;
}
+ @Override
public int encode(WritableBuffer buffer)
{
int length = buffer.remaining();
Modified: qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/messenger/impl/MessengerImpl.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/messenger/impl/MessengerImpl.java?rev=1441401&r1=1441400&r2=1441401&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/messenger/impl/MessengerImpl.java (original)
+++ qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/messenger/impl/MessengerImpl.java Fri Feb 1 11:54:38 2013
@@ -28,23 +28,26 @@ import java.util.Iterator;
import java.util.concurrent.TimeoutException;
import java.util.logging.Level;
import java.util.logging.Logger;
+
+import org.apache.qpid.proton.ProtonFactoryLoader;
import org.apache.qpid.proton.driver.Connector;
import org.apache.qpid.proton.driver.Driver;
+import org.apache.qpid.proton.driver.DriverFactory;
import org.apache.qpid.proton.driver.Listener;
import org.apache.qpid.proton.engine.Connection;
import org.apache.qpid.proton.engine.Delivery;
import org.apache.qpid.proton.engine.EndpointState;
+import org.apache.qpid.proton.engine.EngineFactory;
import org.apache.qpid.proton.engine.Link;
import org.apache.qpid.proton.engine.Receiver;
import org.apache.qpid.proton.engine.Sasl;
import org.apache.qpid.proton.engine.Sender;
import org.apache.qpid.proton.engine.Session;
-import org.apache.qpid.proton.driver.impl.DriverImpl;
-import org.apache.qpid.proton.engine.impl.ConnectionImpl;
import org.apache.qpid.proton.message.Message;
-import org.apache.qpid.proton.message.impl.MessageImpl;
+import org.apache.qpid.proton.message.MessageFactory;
import org.apache.qpid.proton.messenger.Messenger;
import org.apache.qpid.proton.messenger.MessengerException;
+import org.apache.qpid.proton.messenger.MessengerFactory;
import org.apache.qpid.proton.messenger.Status;
import org.apache.qpid.proton.messenger.Tracker;
import org.apache.qpid.proton.amqp.messaging.Accepted;
@@ -53,6 +56,8 @@ import org.apache.qpid.proton.amqp.messa
public class MessengerImpl implements Messenger
{
+ private static ProtonFactoryLoader protonFactoryLoader = new ProtonFactoryLoader();
+
private static final EnumSet<EndpointState> UNINIT = EnumSet.of(EndpointState.UNINITIALIZED);
private static final EnumSet<EndpointState> ACTIVE = EnumSet.of(EndpointState.ACTIVE);
private static final EnumSet<EndpointState> CLOSED = EnumSet.of(EndpointState.CLOSED);
@@ -61,6 +66,9 @@ public class MessengerImpl implements Me
private final Logger _logger = Logger.getLogger("proton.messenger");
private final String _name;
+ private final EngineFactory _engineFactory;
+ private final DriverFactory _driverFactory;
+ private final MessageFactory _messageFactory;
private long _timeout = -1;
private long _nextTag = 1;
private byte[] _buffer = new byte[5*1024];
@@ -70,14 +78,35 @@ public class MessengerImpl implements Me
private TrackerQueue _incoming = new TrackerQueue();
private TrackerQueue _outgoing = new TrackerQueue();
- public MessengerImpl()
+
+ /**
+ * @deprecated This constructor's visibility will be reduced to the default scope in a future release.
+ * Client code outside this module should use a {@link MessengerFactory} instead
+ */
+ @Deprecated public MessengerImpl()
{
this(java.util.UUID.randomUUID().toString());
}
- public MessengerImpl(String name)
+ /**
+ * @deprecated This constructor's visibility will be reduced to the default scope in a future release.
+ * Client code outside this module should use a {@link MessengerFactory} instead
+ */
+ @Deprecated public MessengerImpl(String name)
+ {
+ this(name, defaultEngineFactory(), defaultDriverFactory(), defaultMessageFactory());
+ }
+
+ /**
+ * @deprecated This constructor's visibility will be reduced to the default scope in a future release.
+ * Client code outside this module should use a {@link MessengerFactory} instead
+ */
+ @Deprecated public MessengerImpl(String name, EngineFactory engineFactory, DriverFactory driverFactory, MessageFactory messageFactory)
{
_name = name;
+ _engineFactory = engineFactory;
+ _driverFactory = driverFactory;
+ _messageFactory = messageFactory;
}
public void setTimeout(long timeInMillis)
@@ -92,7 +121,7 @@ public class MessengerImpl implements Me
public void start() throws IOException
{
- _driver = new DriverImpl();
+ _driver = _driverFactory.createDriver();
}
public void stop()
@@ -197,7 +226,7 @@ public class MessengerImpl implements Me
{
_logger.log(Level.FINE, "Readable delivery found: " + delivery);
int size = read((Receiver) delivery.getLink());
- Message message = new MessageImpl();
+ Message message = _messageFactory.createMessage();
message.decode(_buffer, 0, size);
_incoming.add(delivery);
_distributed--;
@@ -375,7 +404,7 @@ public class MessengerImpl implements Me
for (Listener l = _driver.listener(); l != null; l = _driver.listener())
{
Connector c = l.accept();
- Connection connection = new ConnectionImpl();
+ Connection connection = _engineFactory.createConnection();
connection.setContainer(_name);
c.setConnection(connection);
//TODO: SSL and full SASL
@@ -735,7 +764,7 @@ public class MessengerImpl implements Me
{
Connector connector = _driver.createConnector(host, port, null);
_logger.log(Level.FINE, "Connecting to " + host + ":" + port);
- connection = new ConnectionImpl();
+ connection = _engineFactory.createConnection();
connection.setContainer(_name);
connection.setHostname(host);
connection.setContext(service);
@@ -914,4 +943,20 @@ public class MessengerImpl implements Me
if ("amqps".equals(scheme)) return 5671;
else return 5672;
}
+
+ private static EngineFactory defaultEngineFactory()
+ {
+ return (EngineFactory) protonFactoryLoader.loadFactory(EngineFactory.class);
+ }
+
+ private static DriverFactory defaultDriverFactory()
+ {
+ return (DriverFactory) protonFactoryLoader.loadFactory(DriverFactory.class);
+ }
+
+ private static MessageFactory defaultMessageFactory()
+ {
+ return (MessageFactory) protonFactoryLoader.loadFactory(MessageFactory.class);
+ }
+
}
Propchange: qpid/proton/trunk/tests/python/proton_tests/common.py
------------------------------------------------------------------------------
Merged /qpid/proton/branches/jni-binding/tests/python/proton_tests/common.py:r1440007-1441392
Propchange: qpid/proton/trunk/tests/python/proton_tests/engine.py
------------------------------------------------------------------------------
Merged /qpid/proton/branches/jni-binding/tests/python/proton_tests/engine.py:r1440007-1441392
Propchange: qpid/proton/trunk/tests/python/proton_tests/ssl.py
------------------------------------------------------------------------------
Merged /qpid/proton/branches/jni-binding/tests/python/proton_tests/ssl.py:r1440007-1441392
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org