You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kp...@apache.org on 2013/10/22 00:05:07 UTC
svn commit: r1534394 [18/22] - in /qpid/branches/linearstore/qpid: ./ cpp/
cpp/bindings/qmf2/examples/python/ cpp/bindings/qmf2/python/
cpp/bindings/qpid/dotnet/ cpp/etc/ cpp/examples/ cpp/examples/messaging/
cpp/examples/qmf-agent/ cpp/include/qpid/ c...
Modified: qpid/branches/linearstore/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/type/transport/codec/ErrorConstructor.java
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/type/transport/codec/ErrorConstructor.java?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/type/transport/codec/ErrorConstructor.java (original)
+++ qpid/branches/linearstore/qpid/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/type/transport/codec/ErrorConstructor.java Mon Oct 21 22:04:51 2013
@@ -86,6 +86,10 @@ public class ErrorConstructor extends De
if(condition == null)
{
condition = TransactionErrors.valueOf(val);
+ if(condition == null)
+ {
+ condition = new UnknownErrorCondition((Symbol)val);
+ }
}
}
}
@@ -166,4 +170,52 @@ public class ErrorConstructor extends De
}
+ private static final class UnknownErrorCondition implements ErrorCondition
+ {
+ private final Symbol _value;
+
+ public UnknownErrorCondition(final Symbol value)
+ {
+ _value = value;
+ }
+
+ public Symbol getValue()
+ {
+ return _value;
+ }
+
+ @Override
+ public boolean equals(final Object o)
+ {
+ if (this == o)
+ {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass())
+ {
+ return false;
+ }
+
+ final UnknownErrorCondition that = (UnknownErrorCondition) o;
+
+ if (!_value.equals(that._value))
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return _value.hashCode();
+ }
+
+ @Override
+ public String toString()
+ {
+ return _value.toString();
+ }
+ }
}
Propchange: qpid/branches/linearstore/qpid/java/bdbstore/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Oct 21 22:04:51 2013
@@ -0,0 +1,3 @@
+*.iml
+target
+release
Modified: qpid/branches/linearstore/qpid/java/bdbstore/bin/backup.sh
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/bdbstore/bin/backup.sh?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/bdbstore/bin/backup.sh (original)
+++ qpid/branches/linearstore/qpid/java/bdbstore/bin/backup.sh Mon Oct 21 22:04:51 2013
@@ -35,7 +35,7 @@ if [ -z "${QPID_HOME}" ]; then
fi
# BDB's je JAR expected to be found in lib/opt
-LIBS="${QPID_HOME}/lib/opt/*:${QPID_HOME}/lib/qpid-all.jar"
+LIBS="${QPID_HOME}/lib/*:${QPID_HOME}/lib/plugins/*:${QPID_HOME}/lib/opt/*"
echo "Starting Hot Backup Script"
java -Dlog4j.configuration=backup-log4j.xml ${JAVA_OPTS} -cp "${LIBS}" org.apache.qpid.server.store.berkeleydb.BDBBackup "${ARGS[@]}"
Modified: qpid/branches/linearstore/qpid/java/bdbstore/build.xml
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/bdbstore/build.xml?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/bdbstore/build.xml (original)
+++ qpid/branches/linearstore/qpid/java/bdbstore/build.xml Mon Oct 21 22:04:51 2013
@@ -17,10 +17,10 @@
- under the License.
-->
<project name="bdbstore" xmlns:ivy="antlib:org.apache.ivy.ant" default="build">
- <property name="module.depends" value="common broker broker-plugins/amqp-0-8-protocol broker-plugins/amqp-0-10-protocol" />
- <property name="module.test.depends" value="client common/tests broker/tests management/common systests broker-plugins/management-jmx broker-plugins/memory-store broker-plugins/amqp-0-8-protocol broker-plugins/amqp-0-10-protocol broker-plugins/amqp-msg-conv-0-8-to-0-10" />
+ <property name="module.depends" value="common broker-core broker-plugins/amqp-0-8-protocol broker-plugins/amqp-0-10-protocol" />
+ <property name="module.test.depends" value="client qpid-test-utils broker-core/tests management/common systests broker-plugins/management-jmx broker-plugins/memory-store broker-plugins/amqp-0-8-protocol broker-plugins/amqp-0-10-protocol broker-plugins/amqp-msg-conv-0-8-to-0-10" />
<property name="module.genpom" value="true"/>
- <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker=provided -Sqpid-broker-plugins-amqp-0-8-protocol=provided -Sje=provided"/>
+ <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker-core=provided -Sqpid-broker-plugins-amqp-0-8-protocol=provided -Sje=provided"/>
<property name="broker.plugin" value="true"/>
Propchange: qpid/branches/linearstore/qpid/java/bdbstore/jmx/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Oct 21 22:04:51 2013
@@ -0,0 +1,3 @@
+*.iml
+target
+release
Modified: qpid/branches/linearstore/qpid/java/bdbstore/jmx/build.xml
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/bdbstore/jmx/build.xml?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/bdbstore/jmx/build.xml (original)
+++ qpid/branches/linearstore/qpid/java/bdbstore/jmx/build.xml Mon Oct 21 22:04:51 2013
@@ -17,11 +17,11 @@
- under the License.
-->
<project name="bdbstore-jmx" default="build">
- <property name="module.depends" value="common broker broker-plugins/management-jmx management/common bdbstore" />
- <property name="module.test.depends" value="broker/tests common/tests management/common client systests bdbstore/tests broker-plugins/memory-store" />
+ <property name="module.depends" value="common broker-core broker-plugins/management-jmx management/common bdbstore" />
+ <property name="module.test.depends" value="broker-core/tests qpid-test-utils management/common client systests bdbstore/tests broker-plugins/memory-store" />
<property name="module.genpom" value="true"/>
- <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker=provided -Sqpid-broker-plugins-management-jmx=provided -Sqpid-management-common=provided -Sqpid-bdbstore=provided -Sje=provided"/>
+ <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker-core=provided -Sqpid-broker-plugins-management-jmx=provided -Sqpid-management-common=provided -Sqpid-bdbstore=provided -Sje=provided"/>
<property name="broker.plugin" value="true"/>
Modified: qpid/branches/linearstore/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBStoreUpgradeTestPreparer.java
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBStoreUpgradeTestPreparer.java?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBStoreUpgradeTestPreparer.java (original)
+++ qpid/branches/linearstore/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/BDBStoreUpgradeTestPreparer.java Mon Oct 21 22:04:51 2013
@@ -293,7 +293,7 @@ public class BDBStoreUpgradeTestPreparer
connection.close();
}
- public static void sendMessages(Session session, MessageProducer messageProducer,
+ private static void sendMessages(Session session, MessageProducer messageProducer,
Destination dest, int deliveryMode, int length, int numMesages) throws JMSException
{
for (int i = 1; i <= numMesages; i++)
@@ -304,7 +304,7 @@ public class BDBStoreUpgradeTestPreparer
}
}
- public static void publishMessages(Session session, TopicPublisher publisher,
+ private static void publishMessages(Session session, TopicPublisher publisher,
Destination dest, int deliveryMode, int length, int numMesages, String selectorProperty) throws JMSException
{
for (int i = 1; i <= numMesages; i++)
@@ -322,7 +322,7 @@ public class BDBStoreUpgradeTestPreparer
* @param length number of characters in the string
* @return string sequence of the given length
*/
- public static String generateString(int length)
+ private static String generateString(int length)
{
char[] base_chars = new char[]{'0','1','2','3','4','5','6','7','8','9'};
char[] chars = new char[length];
Propchange: qpid/branches/linearstore/qpid/java/bdbstore/systests/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Oct 21 22:04:51 2013
@@ -0,0 +1,3 @@
+*.iml
+target
+release
Propchange: qpid/branches/linearstore/qpid/java/broker/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Oct 21 22:04:51 2013
@@ -0,0 +1,3 @@
+*.iml
+target
+release
Propchange: qpid/branches/linearstore/qpid/java/broker/
------------------------------------------------------------------------------
svn:mergeinfo = /qpid/trunk/qpid/java/broker:1525736-1534385
Propchange: qpid/branches/linearstore/qpid/java/broker-core/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Oct 21 22:04:51 2013
@@ -0,0 +1,9 @@
+*.iml
+intellijclasses
+log
+target
+release
+qpid-broker.ipr
+qpid-broker.iws
+.classpath
+.project
Propchange: qpid/branches/linearstore/qpid/java/broker-core/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Oct 21 22:04:51 2013
@@ -0,0 +1,15 @@
+/qpid/branches/0.5.x-dev/broker-core:886720-886722
+/qpid/branches/0.5.x-dev/qpid/java/broker:886720-886722,887145,892761,930288
+/qpid/branches/0.5.x-dev/qpid/java/broker-core:886720-886722,887145,892761,894875,916304,916325,930288,931179
+/qpid/branches/java-broker-0-10/qpid/java/broker:795950-829653
+/qpid/branches/java-broker-0-10/qpid/java/broker-core:795950-829653
+/qpid/branches/java-broker-vhost-refactor/java/broker:1493674-1494547
+/qpid/branches/java-broker-vhost-refactor/java/broker-core:1493674-1494547
+/qpid/branches/java-network-refactor/qpid/java/broker:805429-821809
+/qpid/branches/java-network-refactor/qpid/java/broker-core:805429-821809
+/qpid/branches/jmx_mc_gsoc09/qpid/java/broker:787599
+/qpid/branches/qpid-2935/qpid/java/broker:1061302-1072333
+/qpid/branches/qpid-2935/qpid/java/broker-core:1061302-1072333
+/qpid/trunk/qpid/broker-core:796646-796653
+/qpid/trunk/qpid/java/broker:742626,743015,743028-743029,743304,743306,743311,743357,744113,747363,747367,747369-747370,747376,747783,747868-747870,747875,748561,748591,748641,748680,748686,749149,749282,749285,749315,749340,749572,753219-753220,753253,754934,754958,755256,757258,757270,758730,759097,760919,761721,762365,762992,763959,764026,764109,764140,764790
+/qpid/trunk/qpid/java/broker-core:1501885-1525056,1525731-1534385
Propchange: qpid/branches/linearstore/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/
------------------------------------------------------------------------------
Merged /qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue:r1501885-1525056,1525731-1534385
Merged /qpid/branches/0.5.x-dev/broker-core/src/main/java/org/apache/qpid/server/queue:r886720-886722
Merged /qpid/branches/java-broker-0-10/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue:r795950-829653
Merged /qpid/branches/0.5.x-dev/qpid/java/broker/src/main/java/org/apache/qpid/server/queue:r887145,892761,930288
Merged /qpid/branches/java-broker-vhost-refactor/java/broker-core/src/main/java/org/apache/qpid/server/queue:r1493674-1494547
Merged /qpid/branches/qpid-2935/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue:r1061302-1072333
Merged /qpid/branches/0.5.x-dev/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue:r886720-886722,887145,892761,894875,916304,916325,930288,931179
Merged /qpid/trunk/qpid/broker-core/src/main/java/org/apache/qpid/server/queue:r796646-796653
Merged /qpid/branches/java-network-refactor/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue:r805429-821809
Merged /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue:r742626,743015,743028-743029,743304,743306,743311,743357,744113,747363,747367,747369-747370,747376,747783,747868-747870,747875,748561,748591,748641,748680,748686,749149,749282,749285,749315,749340,749572,754934,754958,755256,757258
Propchange: qpid/branches/linearstore/qpid/java/broker-plugins/access-control/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Oct 21 22:04:51 2013
@@ -0,0 +1,3 @@
+*.iml
+target
+release
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/access-control/build.xml
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/access-control/build.xml?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/access-control/build.xml (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/access-control/build.xml Mon Oct 21 22:04:51 2013
@@ -17,11 +17,11 @@
- under the License.
-->
<project name="Qpid Broker-Plugins Access Control" default="build">
- <property name="module.depends" value="common broker" />
- <property name="module.test.depends" value="common/tests broker/tests management/common" />
+ <property name="module.depends" value="common broker-core" />
+ <property name="module.test.depends" value="qpid-test-utils broker-core/tests management/common" />
<property name="module.genpom" value="true"/>
- <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker=provided"/>
+ <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker-core=provided"/>
<property name="broker.plugin" value="true"/>
@@ -31,6 +31,4 @@
<target name="bundle" depends="bundle-tasks"/>
- <target name="precompile" depends="gen_logging"/>
-
</project>
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/RuleSet.java
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/RuleSet.java?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/RuleSet.java (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/RuleSet.java Mon Oct 21 22:04:51 2013
@@ -39,12 +39,12 @@ import org.apache.commons.lang.BooleanUt
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.qpid.server.logging.actors.CurrentActor;
+import org.apache.qpid.server.logging.messages.AccessControlMessages;
import org.apache.qpid.server.security.Result;
import org.apache.qpid.server.security.access.ObjectProperties;
import org.apache.qpid.server.security.access.ObjectType;
import org.apache.qpid.server.security.access.Operation;
import org.apache.qpid.server.security.access.Permission;
-import org.apache.qpid.server.security.access.logging.AccessControlMessages;
/**
* Models the rule configuration for the access control plugin.
Propchange: qpid/branches/linearstore/qpid/java/broker-plugins/amqp-0-10-protocol/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Oct 21 22:04:51 2013
@@ -0,0 +1,3 @@
+*.iml
+target
+release
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/amqp-0-10-protocol/build.xml
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/amqp-0-10-protocol/build.xml?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/amqp-0-10-protocol/build.xml (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/amqp-0-10-protocol/build.xml Mon Oct 21 22:04:51 2013
@@ -17,11 +17,11 @@
- under the License.
-->
<project name="Qpid Broker-Plugins AMQP 0-10 Protocol" default="build">
- <property name="module.depends" value="common broker" />
- <property name="module.test.depends" value="common/tests broker/tests" />
+ <property name="module.depends" value="common broker-core" />
+ <property name="module.test.depends" value="qpid-test-utils broker-core/tests" />
<property name="module.genpom" value="true"/>
- <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker=provided"/>
+ <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker-core=provided"/>
<property name="broker-plugins-amqp-0-10-protocol.libs" value="" />
<property name="broker.plugin" value="true"/>
Propchange: qpid/branches/linearstore/qpid/java/broker-plugins/amqp-0-8-protocol/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Oct 21 22:04:51 2013
@@ -0,0 +1,3 @@
+*.iml
+target
+release
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/amqp-0-8-protocol/build.xml
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/amqp-0-8-protocol/build.xml?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/amqp-0-8-protocol/build.xml (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/amqp-0-8-protocol/build.xml Mon Oct 21 22:04:51 2013
@@ -17,11 +17,11 @@
- under the License.
-->
<project name="Qpid Broker-Plugins AMQP 0-8 Protocol" default="build">
- <property name="module.depends" value="common broker" />
- <property name="module.test.depends" value="common/tests broker/tests" />
+ <property name="module.depends" value="common broker-core" />
+ <property name="module.test.depends" value="qpid-test-utils broker-core/tests" />
<property name="module.genpom" value="true"/>
- <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker=provided"/>
+ <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker-core=provided"/>
<property name="broker-plugins-amqp-0-8-protocol.libs" value="" />
<property name="broker.plugin" value="true"/>
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/InternalTestProtocolSession.java
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/InternalTestProtocolSession.java?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/InternalTestProtocolSession.java (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/InternalTestProtocolSession.java Mon Oct 21 22:04:51 2013
@@ -20,38 +20,38 @@
*/
package org.apache.qpid.server.protocol.v0_8;
+import java.net.InetSocketAddress;
+import java.net.SocketAddress;
+import java.nio.ByteBuffer;
+import java.security.Principal;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
+
+import javax.security.auth.Subject;
+
import org.apache.qpid.AMQException;
import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.framing.ContentHeaderBody;
import org.apache.qpid.framing.abstraction.MessagePublishInfo;
import org.apache.qpid.protocol.AMQConstant;
-import org.apache.qpid.server.protocol.AMQSessionModel;
-import org.apache.qpid.server.protocol.v0_8.AMQChannel;
-import org.apache.qpid.server.protocol.v0_8.AMQMessage;
import org.apache.qpid.server.message.MessageContentSource;
import org.apache.qpid.server.model.Broker;
-import org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine;
+import org.apache.qpid.server.protocol.AMQSessionModel;
import org.apache.qpid.server.protocol.v0_8.output.ProtocolOutputConverter;
import org.apache.qpid.server.queue.QueueEntry;
import org.apache.qpid.server.security.auth.AuthenticatedPrincipal;
import org.apache.qpid.server.security.auth.UsernamePrincipal;
import org.apache.qpid.server.subscription.ClientDeliveryMethod;
import org.apache.qpid.server.subscription.Subscription;
-import org.apache.qpid.server.protocol.v0_8.SubscriptionImpl;
import org.apache.qpid.server.virtualhost.VirtualHost;
-import org.apache.qpid.transport.TestNetworkConnection;
-
-import javax.security.auth.Subject;
-
-import java.security.Principal;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.atomic.AtomicLong;
+import org.apache.qpid.transport.Sender;
+import org.apache.qpid.transport.network.NetworkConnection;
public class InternalTestProtocolSession extends AMQProtocolEngine implements ProtocolOutputConverter
{
@@ -266,4 +266,95 @@ public class InternalTestProtocolSession
}
}
}
+
+ private static class TestNetworkConnection implements NetworkConnection
+ {
+ private String _remoteHost = "127.0.0.1";
+ private String _localHost = "127.0.0.1";
+ private int _port = 1;
+ private final Sender<ByteBuffer> _sender;
+
+ public TestNetworkConnection()
+ {
+ _sender = new Sender<ByteBuffer>()
+ {
+ public void setIdleTimeout(int i)
+ {
+ }
+
+ public void send(ByteBuffer msg)
+ {
+ }
+
+ public void flush()
+ {
+ }
+
+ public void close()
+ {
+ }
+ };
+ }
+
+ @Override
+ public SocketAddress getLocalAddress()
+ {
+ return new InetSocketAddress(_localHost, _port);
+ }
+
+ @Override
+ public SocketAddress getRemoteAddress()
+ {
+ return new InetSocketAddress(_remoteHost, _port);
+ }
+
+ @Override
+ public void setMaxReadIdle(int idleTime)
+ {
+ }
+
+ @Override
+ public void setPeerPrincipal(Principal principal)
+ {
+ }
+
+ @Override
+ public Principal getPeerPrincipal()
+ {
+ return null;
+ }
+
+ @Override
+ public int getMaxReadIdle()
+ {
+ return 0;
+ }
+
+ @Override
+ public int getMaxWriteIdle()
+ {
+ return 0;
+ }
+
+ @Override
+ public void setMaxWriteIdle(int idleTime)
+ {
+ }
+
+ @Override
+ public void close()
+ {
+ }
+
+ @Override
+ public Sender<ByteBuffer> getSender()
+ {
+ return _sender;
+ }
+
+ @Override
+ public void start()
+ {
+ }
+ }
}
Propchange: qpid/branches/linearstore/qpid/java/broker-plugins/amqp-1-0-protocol/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Oct 21 22:04:51 2013
@@ -0,0 +1,3 @@
+*.iml
+target
+release
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/amqp-1-0-protocol/build.xml
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/amqp-1-0-protocol/build.xml?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/amqp-1-0-protocol/build.xml (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/amqp-1-0-protocol/build.xml Mon Oct 21 22:04:51 2013
@@ -17,11 +17,11 @@
- under the License.
-->
<project name="Qpid Broker-Plugins AMQP 1.0 Protocol" default="build">
- <property name="module.depends" value="common broker amqp-1-0-common" />
- <property name="module.test.depends" value="common/tests broker/tests" />
+ <property name="module.depends" value="common broker-core amqp-1-0-common" />
+ <property name="module.test.depends" value="qpid-test-utils broker-core/tests" />
<property name="module.genpom" value="true"/>
- <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker=provided"/>
+ <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker-core=provided"/>
<property name="broker-plugins-amqp-1-0-protocol.libs" value="" />
<property name="broker.plugin" value="true"/>
Propchange: qpid/branches/linearstore/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/
------------------------------------------------------------------------------
Merged /qpid/trunk/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0:r1525057-1534385
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_to_1_0.java
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_to_1_0.java?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_to_1_0.java (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_to_1_0.java Mon Oct 21 22:04:51 2013
@@ -23,8 +23,12 @@ package org.apache.qpid.server.protocol.
import java.io.EOFException;
import java.nio.ByteBuffer;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
+import java.util.ListIterator;
+import java.util.Map;
+
import org.apache.qpid.amqp_1_0.messaging.SectionEncoder;
import org.apache.qpid.amqp_1_0.messaging.SectionEncoderImpl;
import org.apache.qpid.amqp_1_0.type.Binary;
@@ -92,6 +96,7 @@ public abstract class MessageConverter_t
{
String propName = reader.readStringImpl();
Object value = reader.readObject();
+
map.put(propName, value);
}
catch (EOFException e)
@@ -105,21 +110,23 @@ public abstract class MessageConverter_t
}
- return new AmqpValue(map);
+ return new AmqpValue(fixMapValues(map));
}
else if("amqp/map".equals(mimeType))
{
BBDecoder decoder = new BBDecoder();
decoder.init(ByteBuffer.wrap(data));
- return new AmqpValue(decoder.readMap());
+ final Map<String,Object> map = decoder.readMap();
+
+ return new AmqpValue(fixMapValues(map));
}
else if("amqp/list".equals(mimeType))
{
BBDecoder decoder = new BBDecoder();
decoder.init(ByteBuffer.wrap(data));
- return new AmqpValue(decoder.readList());
+ return new AmqpValue(fixListValues(decoder.readList()));
}
else if("jms/stream-message".equals(mimeType))
{
@@ -130,7 +137,7 @@ public abstract class MessageConverter_t
{
try
{
- list.add(reader.readObject());
+ list.add(fixValue(reader.readObject()));
}
catch (TypedBytesFormatException e)
{
@@ -150,6 +157,47 @@ public abstract class MessageConverter_t
}
}
+ private static Map fixMapValues(final Map<String, Object> map)
+ {
+ for(Map.Entry<String,Object> entry : map.entrySet())
+ {
+ entry.setValue(fixValue(entry.getValue()));
+ }
+ return map;
+ }
+
+ private static Object fixValue(final Object value)
+ {
+ if(value instanceof byte[])
+ {
+ return new Binary((byte[])value);
+ }
+ else if(value instanceof Map)
+ {
+ return fixMapValues((Map)value);
+ }
+ else if(value instanceof List)
+ {
+ return fixListValues((List)value);
+ }
+ else
+ {
+ return value;
+ }
+ }
+
+ private static List fixListValues(final List list)
+ {
+ ListIterator iterator = list.listIterator();
+ while(iterator.hasNext())
+ {
+ Object value = iterator.next();
+ iterator.set(fixValue(value));
+
+ }
+ return list;
+ }
+
private StoredMessage<MessageMetaData_1_0> convertServerMessage(final MessageMetaData_1_0 metaData,
final ServerMessage serverMessage,
SectionEncoder sectionEncoder)
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java Mon Oct 21 22:04:51 2013
@@ -164,7 +164,7 @@ public class SendingLink_1_0 implements
}
source.setFilter(actualFilters.isEmpty() ? null : actualFilters);
- _subscription = new Subscription_1_0(this, qd);
+ _subscription = new Subscription_1_0(this, qd, source.getDistributionMode() != StdDistMode.COPY);
}
else if(destination instanceof ExchangeDestination)
{
Propchange: qpid/branches/linearstore/qpid/java/broker-plugins/amqp-msg-conv-0-10-to-1-0/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Oct 21 22:04:51 2013
@@ -0,0 +1,3 @@
+*.iml
+target
+release
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/amqp-msg-conv-0-10-to-1-0/build.xml
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/amqp-msg-conv-0-10-to-1-0/build.xml?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/amqp-msg-conv-0-10-to-1-0/build.xml (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/amqp-msg-conv-0-10-to-1-0/build.xml Mon Oct 21 22:04:51 2013
@@ -17,11 +17,11 @@
- under the License.
-->
<project name="Qpid Broker-Plugins AMQP 0.8 to 1.0 MessageConversion" default="build">
- <property name="module.depends" value="common broker amqp-1-0-common broker-plugins/amqp-1-0-protocol broker-plugins/amqp-0-10-protocol" />
- <property name="module.test.depends" value="common/tests broker/tests" />
+ <property name="module.depends" value="common broker-core amqp-1-0-common broker-plugins/amqp-1-0-protocol broker-plugins/amqp-0-10-protocol" />
+ <property name="module.test.depends" value="qpid-test-utils broker-core/tests" />
<property name="module.genpom" value="true"/>
- <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker=provided -Sqpid-amqp-1-0-common=provided -Sqpid-broker-plugins-amqp-0-10-protocol=provided -Sqpid-broker-plugins-amqp-1-0-protocol=provided"/>
+ <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker-core=provided -Sqpid-amqp-1-0-common=provided -Sqpid-broker-plugins-amqp-0-10-protocol=provided -Sqpid-broker-plugins-amqp-1-0-protocol=provided"/>
<property name="broker-plugins-amqp-msg-conv-0-10-to-1-0.libs" value="" />
<property name="broker.plugin" value="true"/>
Propchange: qpid/branches/linearstore/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-0-10/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Oct 21 22:04:51 2013
@@ -0,0 +1,3 @@
+*.iml
+target
+release
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-0-10/build.xml
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-0-10/build.xml?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-0-10/build.xml (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-0-10/build.xml Mon Oct 21 22:04:51 2013
@@ -17,11 +17,11 @@
- under the License.
-->
<project name="Qpid Broker-Plugins AMQP 0.8 to 0.10 MessageConversion" default="build">
- <property name="module.depends" value="common broker broker-plugins/amqp-0-8-protocol broker-plugins/amqp-0-10-protocol" />
- <property name="module.test.depends" value="common/tests broker/tests" />
+ <property name="module.depends" value="common broker-core broker-plugins/amqp-0-8-protocol broker-plugins/amqp-0-10-protocol" />
+ <property name="module.test.depends" value="qpid-test-utils broker-core/tests" />
<property name="module.genpom" value="true"/>
- <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker=provided -Sqpid-broker-plugins-amqp-0-10-protocol=provided -Sqpid-broker-plugins-amqp-0-8-protocol=provided"/>
+ <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker-core=provided -Sqpid-broker-plugins-amqp-0-10-protocol=provided -Sqpid-broker-plugins-amqp-0-8-protocol=provided"/>
<property name="broker-plugins-amqp-msg-conv-0-8-to-0-10.libs" value="" />
<property name="broker.plugin" value="true"/>
Propchange: qpid/branches/linearstore/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-1-0/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Oct 21 22:04:51 2013
@@ -0,0 +1,3 @@
+*.iml
+target
+release
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-1-0/build.xml
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-1-0/build.xml?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-1-0/build.xml (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-1-0/build.xml Mon Oct 21 22:04:51 2013
@@ -17,11 +17,11 @@
- under the License.
-->
<project name="Qpid Broker-Plugins AMQP 0.8 to 1.0 MessageConversion" default="build">
- <property name="module.depends" value="common broker amqp-1-0-common broker-plugins/amqp-0-8-protocol broker-plugins/amqp-1-0-protocol" />
- <property name="module.test.depends" value="common/tests broker/tests" />
+ <property name="module.depends" value="common broker-core amqp-1-0-common broker-plugins/amqp-0-8-protocol broker-plugins/amqp-1-0-protocol" />
+ <property name="module.test.depends" value="qpid-test-utils broker-core/tests" />
<property name="module.genpom" value="true"/>
- <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker=provided -Sqpid-amqp-1-0-common=provided -Sqpid-broker-plugins-amqp-1-0-protocol=provided -Sqpid-broker-plugins-amqp-0-8-protocol=provided"/>
+ <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker-core=provided -Sqpid-amqp-1-0-common=provided -Sqpid-broker-plugins-amqp-1-0-protocol=provided -Sqpid-broker-plugins-amqp-0-8-protocol=provided"/>
<property name="broker-plugins-amqp-msg-conv-0-8-to-1-0.libs" value="" />
<property name="broker.plugin" value="true"/>
Propchange: qpid/branches/linearstore/qpid/java/broker-plugins/derby-store/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Oct 21 22:04:51 2013
@@ -0,0 +1,3 @@
+*.iml
+target
+release
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/derby-store/build.xml
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/derby-store/build.xml?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/derby-store/build.xml (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/derby-store/build.xml Mon Oct 21 22:04:51 2013
@@ -17,11 +17,11 @@
- under the License.
-->
<project name="Qpid Broker-Plugins Derby Store" default="build">
- <property name="module.depends" value="common broker" />
- <property name="module.test.depends" value="common/tests broker/tests" />
+ <property name="module.depends" value="common broker-core" />
+ <property name="module.test.depends" value="qpid-test-utils broker-core/tests" />
<property name="module.genpom" value="true"/>
- <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker=provided"/>
+ <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker-core=provided"/>
<property name="broker-plugins-derby-store.libs" value="" />
<property name="broker.plugin" value="true"/>
Propchange: qpid/branches/linearstore/qpid/java/broker-plugins/jdbc-provider-bone/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Oct 21 22:04:51 2013
@@ -0,0 +1,3 @@
+*.iml
+target
+release
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/jdbc-provider-bone/build.xml
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/jdbc-provider-bone/build.xml?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/jdbc-provider-bone/build.xml (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/jdbc-provider-bone/build.xml Mon Oct 21 22:04:51 2013
@@ -17,9 +17,9 @@
- under the License.
-->
<project name="jdbc-provider-bone" xmlns:ivy="antlib:org.apache.ivy.ant" default="build">
- <property name="module.depends" value="common broker" />
+ <property name="module.depends" value="common broker-core" />
<property name="module.genpom" value="true"/>
- <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker=provided"/>
+ <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker-core=provided"/>
<property name="broker.plugin" value="true"/>
Propchange: qpid/branches/linearstore/qpid/java/broker-plugins/jdbc-store/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Oct 21 22:04:51 2013
@@ -0,0 +1,3 @@
+*.iml
+target
+release
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/jdbc-store/build.xml
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/jdbc-store/build.xml?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/jdbc-store/build.xml (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/jdbc-store/build.xml Mon Oct 21 22:04:51 2013
@@ -17,11 +17,11 @@
- under the License.
-->
<project name="Qpid Broker-Plugins JDBC Store" default="build">
- <property name="module.depends" value="common broker" />
- <property name="module.test.depends" value="common/tests broker/tests" />
+ <property name="module.depends" value="common broker-core" />
+ <property name="module.test.depends" value="qpid-test-utils broker-core/tests" />
<property name="module.genpom" value="true"/>
- <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker=provided"/>
+ <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker-core=provided"/>
<property name="broker-plugins-jdbc-store.libs" value="" />
<property name="broker.plugin" value="true"/>
Propchange: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Oct 21 22:04:51 2013
@@ -0,0 +1,3 @@
+*.iml
+target
+release
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/build.xml
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/build.xml?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/build.xml (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/build.xml Mon Oct 21 22:04:51 2013
@@ -18,36 +18,35 @@
-->
<project name="Qpid Broker-Plugins Management HTTP" default="build">
- <property name="module.depends" value="common broker" />
- <property name="module.test.depends" value="broker/tests common/tests management/common client" />
+ <property name="module.depends" value="common broker-core" />
+ <property name="module.test.depends" value="broker-core/tests qpid-test-utils management/common client" />
<property name="module.genpom" value="true" />
- <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker=provided" />
+ <property name="module.genpom.args" value="-Sqpid-common=provided -Sqpid-broker-core=provided" />
<property name="broker.plugin" value="true"/>
- <property name="broker-plugins-management-http.libs" value="" />
-
<import file="../../module.xml" />
- <!-- Flagfile used to determine if uwar needs to be done. ._ is part of Ant's defaultexcludes so wont appear bundles -->
- <property name="dojo.uptodate.flagfile" value="${module.classes}/resources/dojo/._dojouptodate.timestamp" />
+ <property name="module.manifest" value="${module.build}/MANIFEST.MF" />
+ <property name="dojo.config.file" value="${module.classes}/dojoconfig.properties" />
- <target name="precompile" depends="unwardojo" />
+ <target name="precompile" depends="generate-manifest, generate-dojo-config"/>
- <target name="unwardojo" depends="check-unwardojo.done" unless="unwardojo.done">
- <unwar src="${project.root}/${dojo}" dest="${module.classes}/resources/dojo">
- <patternset>
- <exclude name="META-INF/**" />
- <exclude name="WEB-INF/**" />
- <exclude name="**/*.uncompressed.js" />
- </patternset>
- </unwar>
- <touch file="${dojo.uptodate.flagfile}" />
+ <target name="generate-manifest">
+ <!-- Echos exactly as shown, so leave no spaces before/after lines -->
+ <echo file="${module.manifest}" append="false">Manifest-Version: 1.0
+Class-Path: dojo-${dojo-version}.zip
+</echo>
</target>
- <target name="check-unwardojo.done">
- <uptodate property="unwardojo.done" targetfile="${dojo.uptodate.flagfile}" srcfile="${project.root}/${dojo}" />
+ <target name="generate-dojo-config">
+ <!-- Echos exactly as shown, so leave no spaces before/after lines -->
+ <echo file="${dojo.config.file}" append="false">dojo-version=${dojo-version}
+dojo-path=/dojo-${dojo-version}/dojo
+dijit-path=/dojo-${dojo-version}/dijit
+dojox-path=/dojo-${dojo-version}/dojox
+</echo>
</target>
<target name="bundle" depends="bundle-tasks" />
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java Mon Oct 21 22:04:51 2013
@@ -47,7 +47,7 @@ import org.apache.qpid.server.management
import org.apache.qpid.server.management.plugin.servlet.rest.LogoutServlet;
import org.apache.qpid.server.management.plugin.servlet.rest.MessageContentServlet;
import org.apache.qpid.server.management.plugin.servlet.rest.MessageServlet;
-import org.apache.qpid.server.management.plugin.servlet.rest.PreferencesServlet;
+import org.apache.qpid.server.management.plugin.servlet.rest.LoggedOnUserPreferencesServlet;
import org.apache.qpid.server.management.plugin.servlet.rest.UserPreferencesServlet;
import org.apache.qpid.server.management.plugin.servlet.rest.RestServlet;
import org.apache.qpid.server.management.plugin.servlet.rest.SaslServlet;
@@ -300,7 +300,7 @@ public class HttpManagement extends Abst
addRestServlet(root, "preferencesprovider", AuthenticationProvider.class, PreferencesProvider.class);
root.addServlet(new ServletHolder(new UserPreferencesServlet()), "/rest/userpreferences/*");
- root.addServlet(new ServletHolder(new PreferencesServlet()), "/rest/preferences");
+ root.addServlet(new ServletHolder(new LoggedOnUserPreferencesServlet()), "/rest/preferences");
root.addServlet(new ServletHolder(new StructureServlet()), "/rest/structure");
root.addServlet(new ServletHolder(new MessageServlet()), "/rest/message/*");
root.addServlet(new ServletHolder(new MessageContentServlet()), "/rest/message-content/*");
@@ -313,6 +313,10 @@ public class HttpManagement extends Abst
root.addServlet(new ServletHolder(new DefinedFileServlet("index.html")), "/");
root.addServlet(new ServletHolder(new LogoutServlet()), "/logout");
+ root.addServlet(new ServletHolder(new FileServlet(DojoHelper.getDojoPath(), true)), "/dojo/dojo/*");
+ root.addServlet(new ServletHolder(new FileServlet(DojoHelper.getDijitPath(), true)), "/dojo/dijit/*");
+ root.addServlet(new ServletHolder(new FileServlet(DojoHelper.getDojoxPath(), true)), "/dojo/dojox/*");
+
root.addServlet(new ServletHolder(FileServlet.INSTANCE), "*.js");
root.addServlet(new ServletHolder(FileServlet.INSTANCE), "*.css");
root.addServlet(new ServletHolder(FileServlet.INSTANCE), "*.html");
@@ -324,16 +328,9 @@ public class HttpManagement extends Abst
root.addServlet(new ServletHolder(FileServlet.INSTANCE), "*.txt");
root.addServlet(new ServletHolder(FileServlet.INSTANCE), "*.xsl");
root.addServlet(new ServletHolder(new HelperServlet()), "/rest/helper");
- root.addServlet(new ServletHolder(new LogFileListingServlet()), "/rest/logfiles");
+ root.addServlet(new ServletHolder(new LogFileListingServlet()), "/rest/logfilenames");
root.addServlet(new ServletHolder(new LogFileServlet()), "/rest/logfile");
- String[] timeZoneFiles = {"africa", "antarctica", "asia", "australasia", "backward",
- "etcetera", "europe", "northamerica", "pacificnew", "southamerica"};
- for (String timeZoneFile : timeZoneFiles)
- {
- root.addServlet(new ServletHolder(FileServlet.INSTANCE), "/dojo/dojox/date/zoneinfo/" + timeZoneFile);
- }
-
final SessionManager sessionManager = root.getSessionHandler().getSessionManager();
sessionManager.setSessionCookie(JSESSIONID_COOKIE_PREFIX + lastPort);
sessionManager.setMaxInactiveInterval((Integer)getAttribute(TIME_OUT));
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/log/LogFileHelper.java
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/log/LogFileHelper.java?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/log/LogFileHelper.java (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/log/LogFileHelper.java Mon Oct 21 22:04:51 2013
@@ -55,14 +55,23 @@ public class LogFileHelper
Map<String, List<LogFileDetails>> cache = new HashMap<String, List<LogFileDetails>>();
for (int i = 0; i < requestedFiles.length; i++)
{
- String[] paths = requestedFiles[i].split("/");
- if (paths.length != 2)
+ String logFile = requestedFiles[i];
+ if ("".equals(logFile))
{
- throw new IllegalArgumentException("Log file name '" + requestedFiles[i] + "' does not include an appender name");
+ throw new IllegalArgumentException("Log file parameter is empty");
+ }
+ int pos = logFile.indexOf("/");
+ if (pos == -1)
+ {
+ throw new IllegalArgumentException("Log file parameter '" + logFile + "' does not include an appender name");
+ }
+ if (pos == logFile.length())
+ {
+ throw new IllegalArgumentException("Log file parameter '" + logFile + "' does not include an file name");
}
- String appenderName = paths[0];
- String fileName = paths[1];
+ String appenderName = logFile.substring(0, pos);
+ String fileName = logFile.substring(pos + 1);
List<LogFileDetails> appenderFiles = cache.get(appenderName);
if (appenderFiles == null)
@@ -92,6 +101,7 @@ public class LogFileHelper
if (logFileDetails.getName().equals(fileName))
{
logFiles.add(logFileDetails);
+ break;
}
}
}
@@ -147,16 +157,16 @@ public class LogFileHelper
{
if (appender instanceof QpidCompositeRollingAppender)
{
- return listAppenderFiles((QpidCompositeRollingAppender) appender, includeLogFileLocation);
+ return listQpidCompositeRollingAppenderFiles((QpidCompositeRollingAppender) appender, includeLogFileLocation);
}
else if (appender instanceof FileAppender)
{
- return listAppenderFiles((FileAppender) appender, includeLogFileLocation);
+ return listFileAppenderFiles((FileAppender) appender, includeLogFileLocation);
}
return null;
}
- private List<LogFileDetails> listAppenderFiles(FileAppender appender, boolean includeLogFileLocation)
+ private List<LogFileDetails> listFileAppenderFiles(FileAppender appender, boolean includeLogFileLocation)
{
String appenderFilePath = appender.getFile();
File appenderFile = new File(appenderFilePath);
@@ -167,17 +177,17 @@ public class LogFileHelper
return Collections.emptyList();
}
- private List<LogFileDetails> listAppenderFiles(QpidCompositeRollingAppender appender, boolean includeLogFileLocation)
+ private List<LogFileDetails> listQpidCompositeRollingAppenderFiles(QpidCompositeRollingAppender appender, boolean includeLogFileLocation)
{
- List<LogFileDetails> files = listAppenderFiles((FileAppender) appender, includeLogFileLocation);
+ List<LogFileDetails> files = listFileAppenderFiles((FileAppender) appender, includeLogFileLocation);
String appenderFilePath = appender.getFile();
File appenderFile = new File(appenderFilePath);
File backupFolder = new File(appender.getBackupFilesToPath());
if (backupFolder.exists())
{
- String backFolderName = backupFolder.getName() + "/";
+ String backupFolderName = backupFolder.getName() + "/";
List<LogFileDetails> backedUpFiles = listLogFiles(backupFolder, appenderFile.getName(), appender.getName(),
- backFolderName, includeLogFileLocation);
+ backupFolderName, includeLogFileLocation);
files.addAll(backedUpFiles);
}
return files;
@@ -192,7 +202,12 @@ public class LogFileHelper
String name = file.getName();
if (name.startsWith(baseFileName))
{
- files.add(new LogFileDetails(name, appenderName, includeLogFileLocation ? file : null, getMimeType(name), file.length(),
+ String diplayPath = name;
+ if (!relativePath.equals(""))
+ {
+ diplayPath = relativePath + name;
+ }
+ files.add(new LogFileDetails(diplayPath, appenderName, includeLogFileLocation ? file : null, getMimeType(name), file.length(),
file.lastModified()));
}
}
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/FileServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/FileServlet.java?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/FileServlet.java (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/FileServlet.java Mon Oct 21 22:04:51 2013
@@ -26,6 +26,7 @@ import java.net.URL;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
+
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
@@ -34,6 +35,8 @@ import javax.servlet.http.HttpServletRes
public class FileServlet extends HttpServlet
{
+ private static final String RESOURCES_PREFIX = "/resources";
+
public static final FileServlet INSTANCE = new FileServlet();
private static final Map<String, String> CONTENT_TYPES;
@@ -52,14 +55,33 @@ public class FileServlet extends HttpSer
CONTENT_TYPES = Collections.unmodifiableMap(contentTypes);
}
+ private final String _resourcePathPrefix;
+ private boolean _usePathInfo;
public FileServlet()
{
+ _resourcePathPrefix = RESOURCES_PREFIX;
+ _usePathInfo = false;
+ }
+
+ public FileServlet(String resourcePathPrefix, boolean usePathInfo)
+ {
+ _resourcePathPrefix = resourcePathPrefix;
+ _usePathInfo = usePathInfo;
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
- String filename = request.getServletPath();
+ String filename = null;
+ if(_usePathInfo)
+ {
+ filename = request.getPathInfo();
+ }
+ else
+ {
+ filename = request.getServletPath();
+ }
+
if(filename.contains("."))
{
String suffix = filename.substring(filename.lastIndexOf('.')+1);
@@ -69,7 +91,8 @@ public class FileServlet extends HttpSer
response.setContentType(contentType);
}
}
- URL resourceURL = getClass().getResource("/resources" + filename);
+
+ URL resourceURL = getClass().getResource(_resourcePathPrefix + filename);
if(resourceURL != null)
{
response.setStatus(HttpServletResponse.SC_OK);
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/LogFileServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/LogFileServlet.java?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/LogFileServlet.java (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/LogFileServlet.java Mon Oct 21 22:04:51 2013
@@ -35,14 +35,13 @@ import org.apache.qpid.server.management
public class LogFileServlet extends AbstractServlet
{
+ private static final String PARAMETER_LOG_FILE = "l";
+
private static final long serialVersionUID = 1L;
public static final String LOGS_FILE_NAME = "qpid-logs-%s.zip";
public static final String DATE_FORMAT = "yyyy-MM-dd-mmHHss";
- @SuppressWarnings("unchecked")
- private LogFileHelper _helper = new LogFileHelper(Collections.list(LogManager.getRootLogger().getAllAppenders()));
-
@Override
protected void doGetWithSubjectAndActor(HttpServletRequest request, HttpServletResponse response) throws IOException,
ServletException
@@ -57,7 +56,7 @@ public class LogFileServlet extends Abst
return;
}
- String[] requestedFiles = request.getParameterValues("l");
+ String[] requestedFiles = request.getParameterValues(PARAMETER_LOG_FILE);
if (requestedFiles == null || requestedFiles.length == 0)
{
@@ -65,11 +64,14 @@ public class LogFileServlet extends Abst
return;
}
+ @SuppressWarnings("unchecked")
+ LogFileHelper helper = new LogFileHelper(Collections.list(LogManager.getRootLogger().getAllAppenders()));
+
List<LogFileDetails> logFiles = null;
try
{
- logFiles = _helper.findLogFileDetails(requestedFiles);
+ logFiles = helper.findLogFileDetails(requestedFiles);
}
catch(IllegalArgumentException e)
{
@@ -91,7 +93,7 @@ public class LogFileServlet extends Abst
OutputStream os = response.getOutputStream();
try
{
- _helper.writeLogFiles(logFiles, os);
+ helper.writeLogFiles(logFiles, os);
}
finally
{
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java Mon Oct 21 22:04:51 2013
@@ -275,4 +275,14 @@ public abstract class AbstractServlet ex
mapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
mapper.writeValue(writer, object);
}
+
+ protected String[] getPathInfoElements(HttpServletRequest request)
+ {
+ String pathInfo = request.getPathInfo();
+ if (pathInfo != null && pathInfo.length() > 0)
+ {
+ return pathInfo.substring(1).split("/");
+ }
+ return null;
+ }
}
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/HelperServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/HelperServlet.java?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/HelperServlet.java (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/HelperServlet.java Mon Oct 21 22:04:51 2013
@@ -35,6 +35,7 @@ import org.apache.qpid.server.management
import org.apache.qpid.server.management.plugin.servlet.rest.action.ListAuthenticationProviderAttributes;
import org.apache.qpid.server.management.plugin.servlet.rest.action.ListBrokerAttribute;
import org.apache.qpid.server.management.plugin.servlet.rest.action.ListGroupProviderAttributes;
+import org.apache.qpid.server.management.plugin.servlet.rest.action.ListTimeZones;
import org.apache.qpid.server.model.Broker;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;
@@ -61,7 +62,8 @@ public class HelperServlet extends Abstr
new ListBrokerAttribute(Broker.PRODUCT_VERSION, "version"),
new ListGroupProviderAttributes(),
new ListAccessControlProviderAttributes(),
- new PluginClassProviderAction()
+ new PluginClassProviderAction(),
+ new ListTimeZones()
};
_actions = new HashMap<String, Action>();
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/LogFileListingServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/LogFileListingServlet.java?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/LogFileListingServlet.java (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/LogFileListingServlet.java Mon Oct 21 22:04:51 2013
@@ -36,9 +36,6 @@ public class LogFileListingServlet exten
{
private static final long serialVersionUID = 1L;
- @SuppressWarnings("unchecked")
- private LogFileHelper _helper = new LogFileHelper(Collections.list(LogManager.getRootLogger().getAllAppenders()));
-
@Override
protected void doGetWithSubjectAndActor(HttpServletRequest request, HttpServletResponse response) throws IOException,
ServletException
@@ -49,11 +46,13 @@ public class LogFileListingServlet exten
if (!getBroker().getSecurityManager().authoriseLogsAccess())
{
- response.sendError(HttpServletResponse.SC_FORBIDDEN, "Log files download is denied");
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, "Log files access is denied");
return;
}
- List<LogFileDetails> logFiles = _helper.getLogFileDetails(false);
+ @SuppressWarnings("unchecked")
+ LogFileHelper helper = new LogFileHelper(Collections.list(LogManager.getRootLogger().getAllAppenders()));
+ List<LogFileDetails> logFiles = helper.getLogFileDetails(false);
response.setContentType("application/json");
response.setStatus(HttpServletResponse.SC_OK);
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java Mon Oct 21 22:04:51 2013
@@ -44,8 +44,8 @@ public class MessageContentServlet exten
@Override
protected void doGetWithSubjectAndActor(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
-
- if(request.getPathInfo() != null && request.getPathInfo().length()>0 && request.getPathInfo().substring(1).split("/").length > 2)
+ String[] pathInfoElements = getPathInfoElements(request);
+ if(pathInfoElements != null && pathInfoElements.length > 2)
{
getMessageContent(request, response);
}
@@ -55,7 +55,7 @@ public class MessageContentServlet exten
private void getMessageContent(HttpServletRequest request, HttpServletResponse response) throws IOException
{
Queue queue = getQueueFromRequest(request);
- String path[] = request.getPathInfo().substring(1).split("/");
+ String path[] = getPathInfoElements(request);
MessageFinder finder = new MessageFinder(Long.parseLong(path[2]));
queue.visit(finder);
if(finder.isFound())
@@ -70,15 +70,15 @@ public class MessageContentServlet exten
private Queue getQueueFromRequest(HttpServletRequest request)
{
- List<String> names = new ArrayList<String>();
// TODO - validation that there is a vhost and queue and only those in the path
- if(request.getPathInfo() != null && request.getPathInfo().length()>0)
+
+ String[] pathInfoElements = getPathInfoElements(request);
+ if(pathInfoElements == null || pathInfoElements.length < 2)
{
- String path = request.getPathInfo().substring(1);
- names.addAll(Arrays.asList(path.split("/")));
+ throw new IllegalArgumentException("Invalid path is specified");
}
- String vhostName = names.get(0);
- String queueName = names.get(1);
+ String vhostName = pathInfoElements[0];
+ String queueName = pathInfoElements[1];
VirtualHost vhost = null;
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java Mon Oct 21 22:04:51 2013
@@ -56,8 +56,8 @@ public class MessageServlet extends Abst
@Override
protected void doGetWithSubjectAndActor(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
-
- if(request.getPathInfo() != null && request.getPathInfo().length()>0 && request.getPathInfo().substring(1).split("/").length > 2)
+ String[] pathInfoElements = getPathInfoElements(request);
+ if(pathInfoElements != null && pathInfoElements.length > 2)
{
getMessageContent(request, response);
}
@@ -71,7 +71,7 @@ public class MessageServlet extends Abst
private void getMessageContent(HttpServletRequest request, HttpServletResponse response) throws IOException
{
Queue queue = getQueueFromRequest(request);
- String path[] = request.getPathInfo().substring(1).split("/");
+ String path[] = getPathInfoElements(request);
MessageFinder messageFinder = new MessageFinder(Long.parseLong(path[2]));
queue.visit(messageFinder);
@@ -124,15 +124,15 @@ public class MessageServlet extends Abst
private Queue getQueueFromRequest(HttpServletRequest request)
{
- List<String> names = new ArrayList<String>();
// TODO - validation that there is a vhost and queue and only those in the path
- if(request.getPathInfo() != null && request.getPathInfo().length()>0)
+
+ String[] pathInfoElements = getPathInfoElements(request);
+ if(pathInfoElements == null || pathInfoElements.length < 2)
{
- String path = request.getPathInfo().substring(1);
- names.addAll(Arrays.asList(path.split("/")));
+ throw new IllegalArgumentException("Invalid path is specified");
}
- String vhostName = names.get(0);
- String queueName = names.get(1);
+ String vhostName = pathInfoElements[0];
+ String queueName = pathInfoElements[1];
VirtualHost vhost = null;
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java Mon Oct 21 22:04:51 2013
@@ -115,16 +115,15 @@ public class RestServlet extends Abstrac
protected Collection<ConfiguredObject> getObjects(HttpServletRequest request)
{
+ String[] pathInfoElements = getPathInfoElements(request);
List<String> names = new ArrayList<String>();
- if(request.getPathInfo() != null && request.getPathInfo().length()>0)
+ if(pathInfoElements != null)
{
- String path = request.getPathInfo().substring(1);
- names.addAll(Arrays.asList(path.split("/")));
-
- if(names.size() > _hierarchy.length)
+ if(pathInfoElements.length > _hierarchy.length)
{
throw new IllegalArgumentException("Too many entries in path. Expected " + _hierarchy.length + "; path: " + names);
}
+ names.addAll(Arrays.asList(pathInfoElements));
}
Collection<ConfiguredObject> parents = Collections.singleton((ConfiguredObject) getBroker());
@@ -329,16 +328,15 @@ public class RestServlet extends Abstrac
List<String> names = new ArrayList<String>();
- if(request.getPathInfo() != null && request.getPathInfo().length()>0)
+ String[] pathInfoElements = getPathInfoElements(request);
+ if(pathInfoElements != null )
{
- String path = request.getPathInfo().substring(1);
- names.addAll(Arrays.asList(path.split("/")));
-
- if(names.size() != _hierarchy.length)
+ if(pathInfoElements.length != _hierarchy.length)
{
throw new IllegalArgumentException("Path to object to create must be fully specified. "
+ "Found " + names + " of size " + names.size() + " expecting " + _hierarchy.length);
}
+ names.addAll(Arrays.asList(pathInfoElements));
}
if (names.isEmpty())
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/UserPreferencesServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/UserPreferencesServlet.java?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/UserPreferencesServlet.java (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/UserPreferencesServlet.java Mon Oct 21 22:04:51 2013
@@ -25,7 +25,7 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
-import java.util.Iterator;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -50,11 +50,7 @@ public class UserPreferencesServlet exte
protected void doGetWithSubjectAndActor(HttpServletRequest request, HttpServletResponse response) throws IOException,
ServletException
{
- String[] pathElements = null;
- if (request.getPathInfo() != null && request.getPathInfo().length() > 0)
- {
- pathElements = request.getPathInfo().substring(1).split("/");
- }
+ String[] pathElements = getPathInfoElements(request);
if (pathElements != null && pathElements.length > 1)
{
getUserPreferences(pathElements[0], pathElements[1], response);
@@ -70,7 +66,7 @@ public class UserPreferencesServlet exte
{
if (!userPreferencesOperationAuthorized(userId))
{
- response.sendError(HttpServletResponse.SC_FORBIDDEN, "Vieweing of preferences is not allowed");
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, "Viewing of preferences is not allowed");
return;
}
Map<String, Object> preferences = null;
@@ -161,53 +157,75 @@ public class UserPreferencesServlet exte
@Override
protected void doDeleteWithSubjectAndActor(HttpServletRequest request, HttpServletResponse response) throws IOException
{
- final List<String[]> userData = new ArrayList<String[]>();
- for (String name : request.getParameterValues("user"))
+ Broker broker = getBroker();
+ Collection<AuthenticationProvider> authenticationProviders = broker.getAuthenticationProviders();
+ Map<String, Set<String>> providerUsers = new HashMap<String, Set<String>>();
+ Map<String, AuthenticationProvider> requestProviders = new HashMap<String, AuthenticationProvider>();
+ for (String path : request.getParameterValues("user"))
{
- String[] elements = name.split("/");
+ String[] elements = path.split("/");
if (elements.length != 2)
{
- throw new IllegalArgumentException("Illegal parameter");
+ throw new IllegalArgumentException("Illegal user parameter " + path);
}
- userData.add(elements);
+
+ String userId = elements[1];
+
+ if (!userPreferencesOperationAuthorized(userId))
+ {
+ response.sendError(HttpServletResponse.SC_FORBIDDEN, "Deletion of preferences is not allowed");
+ return;
+ }
+ String providerName = elements[0];
+ Set<String> users = providerUsers.get(providerName);
+
+ if (users == null)
+ {
+ AuthenticationProvider provider = findAuthenticationProviderByName(providerName, authenticationProviders);
+ if (provider == null)
+ {
+ throw new IllegalArgumentException("Cannot find provider with name '" + providerName + "'");
+ }
+ users = new HashSet<String>();
+ providerUsers.put(providerName, users);
+ requestProviders.put(providerName, provider);
+ }
+ users.add(userId);
}
- if (!userData.isEmpty())
+ if (!providerUsers.isEmpty())
{
- Broker broker = getBroker();
- Collection<AuthenticationProvider> authenticationProviders = broker.getAuthenticationProviders();
- for (Iterator<String[]> it = userData.iterator(); it.hasNext();)
+ for (Map.Entry<String, Set<String>> entry : providerUsers.entrySet())
{
- String[] data = (String[]) it.next();
- String authenticationProviderName = data[0];
- String userId = data[1];
+ String providerName = entry.getKey();
+ AuthenticationProvider provider = requestProviders.get(providerName);
+ Set<String> usersToDelete = entry.getValue();
+ PreferencesProvider preferencesProvider = provider.getPreferencesProvider();
- for (AuthenticationProvider authenticationProvider : authenticationProviders)
+ if (preferencesProvider != null && !usersToDelete.isEmpty())
{
- if (authenticationProviderName.equals(authenticationProvider.getName()))
- {
- PreferencesProvider preferencesProvider = authenticationProvider.getPreferencesProvider();
- if (preferencesProvider != null)
- {
- Set<String> usernames = preferencesProvider.listUserIDs();
- if (usernames.contains(userId))
- {
- if (!userPreferencesOperationAuthorized(userId))
- {
- response.sendError(HttpServletResponse.SC_FORBIDDEN, "Deletion of preferences is not allowed");
- return;
- }
- preferencesProvider.deletePreferences(userId);
- }
- }
- break;
- }
+ String[] users = usersToDelete.toArray(new String[usersToDelete.size()]);
+ preferencesProvider.deletePreferences(users);
}
}
}
}
+ protected AuthenticationProvider findAuthenticationProviderByName(String providerName, Collection<AuthenticationProvider> authenticationProviders)
+ {
+ AuthenticationProvider provider = null;
+ for (AuthenticationProvider authenticationProvider : authenticationProviders)
+ {
+ if(authenticationProvider.getName().equals(providerName))
+ {
+ provider = authenticationProvider;
+ break;
+ }
+ }
+ return provider;
+ }
+
private boolean userPreferencesOperationAuthorized(String userId)
{
return getBroker().getSecurityManager().authoriseUserOperation(Operation.UPDATE, userId);
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/addAuthenticationProvider.html
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/addAuthenticationProvider.html?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/addAuthenticationProvider.html (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/addAuthenticationProvider.html Mon Oct 21 22:04:51 2013
@@ -17,7 +17,7 @@
<div class="dijitHidden">
<div data-dojo-type="dijit.Dialog" data-dojo-props="title:'Authentication Provider'" id="addAuthenticationProvider">
<form id="formAddAuthenticationProvider" method="post" dojoType="dijit.form.Form">
- <div style="height:100px; width:420px; overflow: auto">
+ <div style="width:420px; overflow: auto">
<table class="tableContainer-table tableContainer-table-horiz" width="100%" cellspacing="1">
<tr>
<td class="tableContainer-labelCell" style="width: 200px;">Type*:</td>
@@ -32,6 +32,10 @@
</table>
<input type="hidden" id="formAddAuthenticationProvider.id" name="id"/>
<div id="addAuthenticationProvider.fieldSets"></div>
+ <br/>
+ <div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Preferences Provider', open: true" id="addAuthenticationProvider.preferencesProviderPanel">
+ <div id="addAuthenticationProvider.preferencesProvider"></div>
+ </div>
</div>
<div class="dijitDialogPaneActionBar">
<!-- submit buttons -->
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/addPreferencesProvider.html
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/addPreferencesProvider.html?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/addPreferencesProvider.html (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/addPreferencesProvider.html Mon Oct 21 22:04:51 2013
@@ -18,24 +18,8 @@
<div data-dojo-type="dijit.Dialog" data-dojo-props="title:'Preferences Provider'" id="addPreferencesProvider">
<form id="formAddPreferencesProvider" method="post" data-dojo-type="dijit.form.Form">
<input type="hidden" id="preferencesProvider.id" name="id"/>
- <div style="height:100px; width:420px; overflow: auto">
- <table class="tableContainer-table tableContainer-table-horiz" width="100%" cellspacing="1">
- <tr>
- <td class="tableContainer-labelCell" style="width: 200px;"><strong>Type*:</strong></td>
- <td class="tableContainer-valueCell"><div id="addPreferencesProvider.selectPreferencesProviderDiv"></div></td>
- </tr>
- <tr>
- <td class="tableContainer-labelCell" style="width: 200px;"><strong>Name*:</strong></td>
- <td class="tableContainer-valueCell"><input type="text" name="name"
- id="preferencesProvider.name" data-dojo-type="dijit.form.ValidationTextBox"
- data-dojo-props="placeHolder: 'Name',
- required: true,
- missingMessage: 'A name must be supplied',
- title: 'Enter name',
- pattern: '^[\x20-\x2e\x30-\x7F]{1,255}$'" /></td>
- </tr>
- </table>
- <div id="preferencesProvider.fieldsContainer"></div>
+ <div style="width:420px; overflow: auto">
+ <div id="addPreferencesProvider.preferencesProvider"></div>
</div>
<div class="dijitDialogPaneActionBar">
<!-- submit buttons -->
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/authenticationprovider/preferences/filesystempreferences/add.html
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/authenticationprovider/preferences/filesystempreferences/add.html?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/authenticationprovider/preferences/filesystempreferences/add.html (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/authenticationprovider/preferences/filesystempreferences/add.html Mon Oct 21 22:04:51 2013
@@ -18,7 +18,7 @@
<tr>
<td class="tableContainer-labelCell" style="width: 200px;"><strong>Path*: </strong></td>
<td class="tableContainer-valueCell" >
- <input type="text" name="path"
+ <input type="text" name="preferencesProviderPath"
id="preferencesProvider.path"
data-dojo-type="dijit.form.ValidationTextBox"
data-dojo-props="placeHolder: 'Path/to/file',
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org