You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2015/07/10 00:12:19 UTC
[39/50] qpid-proton git commit: PROTON-937: LinkImpl.localOpen() does
not initialize source and target
PROTON-937: LinkImpl.localOpen() does not initialize source and target
Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/f6d74a47
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/f6d74a47
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/f6d74a47
Branch: refs/heads/cjansen-cpp-client
Commit: f6d74a47d1f3f4ee3f4f3a444e239a209276f928
Parents: d4d22ee
Author: Bozo Dragojevic <bo...@digiverse.si>
Authored: Tue Jul 7 21:32:58 2015 +0200
Committer: Bozo Dragojevic <bo...@digiverse.si>
Committed: Tue Jul 7 21:49:44 2015 +0200
----------------------------------------------------------------------
.../qpid/proton/amqp/messaging/Source.java | 19 +++++++++++++++++++
.../qpid/proton/amqp/messaging/Target.java | 12 ++++++++++++
.../qpid/proton/amqp/messaging/Terminus.java | 17 +++++++++++++++++
.../proton/amqp/transaction/Coordinator.java | 5 +++++
.../qpid/proton/amqp/transport/Source.java | 2 ++
.../qpid/proton/amqp/transport/Target.java | 2 ++
.../apache/qpid/proton/engine/impl/LinkImpl.java | 4 ++++
7 files changed, 61 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/f6d74a47/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/Source.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/Source.java b/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/Source.java
index 5efc15a..e6fffef 100644
--- a/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/Source.java
+++ b/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/Source.java
@@ -21,7 +21,9 @@
package org.apache.qpid.proton.amqp.messaging;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.Map;
+
import org.apache.qpid.proton.amqp.Symbol;
public final class Source extends Terminus
@@ -32,6 +34,18 @@ public final class Source extends Terminus
private Outcome _defaultOutcome;
private Symbol[] _outcomes;
+ private Source(Source other) {
+ super(other);
+ _distributionMode = other._distributionMode;
+ if (other._filter != null)
+ _filter = new HashMap(other._filter);
+ _defaultOutcome = other._defaultOutcome;
+ if (other._outcomes != null)
+ _outcomes = other._outcomes.clone();
+ }
+
+ public Source() {}
+
public Symbol getDistributionMode()
{
return _distributionMode;
@@ -90,5 +104,10 @@ public final class Source extends Terminus
", capabilities=" + (getCapabilities() == null ? null : Arrays.asList(getCapabilities())) +
'}';
}
+
+ @Override
+ public org.apache.qpid.proton.amqp.transport.Source copy() {
+ return new Source(this);
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/f6d74a47/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/Target.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/Target.java b/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/Target.java
index 1749d40..38678d1 100644
--- a/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/Target.java
+++ b/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/Target.java
@@ -28,6 +28,13 @@ import java.util.Arrays;
public final class Target extends Terminus
implements org.apache.qpid.proton.amqp.transport.Target
{
+ private Target(Target other) {
+ super(other);
+ }
+
+ public Target() {
+ }
+
@Override
public String toString()
{
@@ -41,5 +48,10 @@ public final class Target extends Terminus
", capabilities=" + (getCapabilities() == null ? null : Arrays.asList(getCapabilities())) +
'}';
}
+
+ @Override
+ public org.apache.qpid.proton.amqp.transport.Target copy() {
+ return new Target(this);
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/f6d74a47/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/Terminus.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/Terminus.java b/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/Terminus.java
index be57957..ac28b32 100644
--- a/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/Terminus.java
+++ b/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/Terminus.java
@@ -20,7 +20,9 @@
*/
package org.apache.qpid.proton.amqp.messaging;
+import java.util.HashMap;
import java.util.Map;
+
import org.apache.qpid.proton.amqp.Symbol;
import org.apache.qpid.proton.amqp.UnsignedInteger;
@@ -37,6 +39,21 @@ public abstract class Terminus
Terminus()
{
}
+
+ protected Terminus(Terminus other) {
+ _address = other._address;
+ _durable = other._durable;
+ _expiryPolicy = other._expiryPolicy;
+ _timeout = other._timeout;
+ _dynamic = other._dynamic;
+ if (other._dynamicNodeProperties != null) {
+ // TODO: Do we need to copy or can we make a simple reference?
+ _dynamicNodeProperties = new HashMap(other._dynamicNodeProperties); // FIXME
+ }
+ if (other._capabilities != null) {
+ _capabilities = other._capabilities.clone(); // FIXME?
+ }
+ }
public final String getAddress()
{
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/f6d74a47/proton-j/src/main/java/org/apache/qpid/proton/amqp/transaction/Coordinator.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/amqp/transaction/Coordinator.java b/proton-j/src/main/java/org/apache/qpid/proton/amqp/transaction/Coordinator.java
index 2af968d..7ff000a 100644
--- a/proton-j/src/main/java/org/apache/qpid/proton/amqp/transaction/Coordinator.java
+++ b/proton-j/src/main/java/org/apache/qpid/proton/amqp/transaction/Coordinator.java
@@ -55,5 +55,10 @@ public final class Coordinator
{
return null;
}
+
+ @Override
+ public Target copy() {
+ return null;
+ }
}
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/f6d74a47/proton-j/src/main/java/org/apache/qpid/proton/amqp/transport/Source.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/amqp/transport/Source.java b/proton-j/src/main/java/org/apache/qpid/proton/amqp/transport/Source.java
index 93d71f7..2d6f3b2 100644
--- a/proton-j/src/main/java/org/apache/qpid/proton/amqp/transport/Source.java
+++ b/proton-j/src/main/java/org/apache/qpid/proton/amqp/transport/Source.java
@@ -23,4 +23,6 @@ package org.apache.qpid.proton.amqp.transport;
public interface Source
{
public String getAddress();
+
+ public Source copy();
}
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/f6d74a47/proton-j/src/main/java/org/apache/qpid/proton/amqp/transport/Target.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/amqp/transport/Target.java b/proton-j/src/main/java/org/apache/qpid/proton/amqp/transport/Target.java
index 8b81f37..c972c02 100644
--- a/proton-j/src/main/java/org/apache/qpid/proton/amqp/transport/Target.java
+++ b/proton-j/src/main/java/org/apache/qpid/proton/amqp/transport/Target.java
@@ -24,4 +24,6 @@ package org.apache.qpid.proton.amqp.transport;
public interface Target
{
public String getAddress();
+
+ public Target copy();
}
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/f6d74a47/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/LinkImpl.java
----------------------------------------------------------------------
diff --git a/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/LinkImpl.java b/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/LinkImpl.java
index 6b63b9a..ca98096 100644
--- a/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/LinkImpl.java
+++ b/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/LinkImpl.java
@@ -418,6 +418,10 @@ public abstract class LinkImpl extends EndpointImpl implements Link
@Override
void localOpen()
{
+ if (_source == null)
+ _source = _remoteSource.copy();
+ if (_target == null)
+ _target = _remoteTarget.copy();
getConnectionImpl().put(Event.Type.LINK_LOCAL_OPEN, this);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org