[hornetq-commits] JBoss hornetq SVN: r9025 - in trunk: src/main/org/hornetq/core/management/impl and 1 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Mar 31 09:31:10 EDT 2010


Author: jmesnil
Date: 2010-03-31 09:31:09 -0400 (Wed, 31 Mar 2010)
New Revision: 9025

Added:
   trunk/src/main/org/hornetq/api/core/management/AddressSettingsInfo.java
Modified:
   trunk/src/main/org/hornetq/api/core/management/HornetQServerControl.java
   trunk/src/main/org/hornetq/core/management/impl/HornetQServerControlImpl.java
   trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlTest.java
   trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlUsingCoreTest.java
Log:
fix Management API

* do not expose HornetQ internal resources through the management API

Added: trunk/src/main/org/hornetq/api/core/management/AddressSettingsInfo.java
===================================================================
--- trunk/src/main/org/hornetq/api/core/management/AddressSettingsInfo.java	                        (rev 0)
+++ trunk/src/main/org/hornetq/api/core/management/AddressSettingsInfo.java	2010-03-31 13:31:09 UTC (rev 9025)
@@ -0,0 +1,154 @@
+/*
+ * Copyright 2010 Red Hat, Inc.
+ * Red Hat licenses this file to you under the Apache License, version
+ * 2.0 (the "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.  See the License for the specific language governing
+ * permissions and limitations under the License.
+ */
+
+package org.hornetq.api.core.management;
+
+import org.hornetq.utils.json.JSONObject;
+
+/**
+ * A AddressSettingsInfo
+ *
+ * @author jmesnil
+ *
+ *
+ */
+public class AddressSettingsInfo
+{
+
+   // Constants -----------------------------------------------------
+
+   // Attributes ----------------------------------------------------
+
+   private String addressFullMessagePolicy;
+
+   private long maxSizeBytes;
+
+   private int pageSizeBytes;
+
+   private int maxDeliveryAttempts;
+
+   private long redeliveryDelay;
+
+   private String deadLetterAddress;
+
+   private String expiryAddress;
+
+   private boolean lastValueQueue;
+
+   private long redistributionDelay;
+
+   private boolean sendToDLAOnNoRoute;
+
+   // Static --------------------------------------------------------
+
+   public static final AddressSettingsInfo from(final String jsonString) throws Exception
+   {
+      JSONObject object = new JSONObject(jsonString);
+      return new AddressSettingsInfo(object.getString("addressFullMessagePolicy"),
+                                     object.getLong("maxSizeBytes"),
+                                     object.getInt("pageSizeBytes"),
+                                     object.getInt("maxDeliveryAttempts"),
+                                     object.getLong("redeliveryDelay"),
+                                     object.getString("DLA"),
+                                     object.getString("expiryAddress"),
+                                     object.getBoolean("lastValueQueue"),
+                                     object.getLong("redistributionDelay"),
+                                     object.getBoolean("sendToDLAOnNoRoute"));
+   }
+
+   // Constructors --------------------------------------------------
+
+   public AddressSettingsInfo(String addressFullMessagePolicy,
+                              long maxSizeBytes,
+                              int pageSizeBytes,
+                              int maxDeliveryAttempts,
+                              long redeliveryDelay,
+                              String deadLetterAddress,
+                              String expiryAddress,
+                              boolean lastValueQueue,
+                              long redistributionDelay,
+                              boolean sendToDLAOnNoRoute)
+   {
+      this.addressFullMessagePolicy = addressFullMessagePolicy;
+      this.maxSizeBytes = maxSizeBytes;
+      this.pageSizeBytes = pageSizeBytes;
+      this.maxDeliveryAttempts = maxDeliveryAttempts;
+      this.redeliveryDelay = redeliveryDelay;
+      this.deadLetterAddress = deadLetterAddress;
+      this.expiryAddress = expiryAddress;
+      this.lastValueQueue = lastValueQueue;
+      this.redistributionDelay = redistributionDelay;
+      this.sendToDLAOnNoRoute = sendToDLAOnNoRoute;
+   }
+
+   // Public --------------------------------------------------------
+
+   public String getAddressFullMessagePolicy()
+   {
+      return addressFullMessagePolicy;
+   }
+
+   public long getMaxSizeBytes()
+   {
+      return maxSizeBytes;
+   }
+
+   public int getPageSizeBytes()
+   {
+      return pageSizeBytes;
+   }
+
+   public int getMaxDeliveryAttempts()
+   {
+      return maxDeliveryAttempts;
+   }
+
+   public long getRedeliveryDelay()
+   {
+      return redeliveryDelay;
+   }
+
+   public String getDeadLetterAddress()
+   {
+      return deadLetterAddress;
+   }
+
+   public String getExpiryAddress()
+   {
+      return expiryAddress;
+   }
+
+   public boolean isLastValueQueue()
+   {
+      return lastValueQueue;
+   }
+
+   public long getRedistributionDelay()
+   {
+      return redistributionDelay;
+   }
+
+   public boolean isSendToDLAOnNoRoute()
+   {
+      return sendToDLAOnNoRoute;
+   }
+
+   // Package protected ---------------------------------------------
+
+   // Protected -----------------------------------------------------
+
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+
+}

Modified: trunk/src/main/org/hornetq/api/core/management/HornetQServerControl.java
===================================================================
--- trunk/src/main/org/hornetq/api/core/management/HornetQServerControl.java	2010-03-31 11:31:37 UTC (rev 9024)
+++ trunk/src/main/org/hornetq/api/core/management/HornetQServerControl.java	2010-03-31 13:31:09 UTC (rev 9025)
@@ -20,7 +20,6 @@
 import org.hornetq.api.core.HornetQException;
 import org.hornetq.api.core.Interceptor;
 import org.hornetq.core.security.Role;
-import org.hornetq.core.settings.impl.AddressSettings;
 
 /**
  * A HornetQServerControl is used to manage HornetQ servers.
@@ -495,8 +494,6 @@
    @Operation(desc = "Remove security settings for an address", impact = MBeanOperationInfo.ACTION)
    void removeSecuritySettings(@Parameter(desc = "an address match", name = "addressMatch") String addressMatch) throws Exception;
 
-   Set<Role> getSecuritySettings(String addressMatch) throws Exception;
-
    @Operation(desc = "get roles for a specific address match", impact = MBeanOperationInfo.INFO)
    Object[] getRoles(@Parameter(desc = "an address match", name = "addressMatch") String addressMatch) throws Exception;
 
@@ -519,8 +516,6 @@
                            @Parameter(desc="do we send to the DLA when there is no where to route the message", name="sendToDLAOnNoRoute") boolean sendToDLAOnNoRoute,
                            @Parameter(desc="the ploicy to use when the address is full", name="addressFullMessagePolicy") String addressFullMessagePolicy) throws Exception;
 
-   AddressSettings getAddressSettings(String address) throws Exception;
-
    void removeAddressSettings(String addressMatch) throws Exception;
 
    /**

Modified: trunk/src/main/org/hornetq/core/management/impl/HornetQServerControlImpl.java
===================================================================
--- trunk/src/main/org/hornetq/core/management/impl/HornetQServerControlImpl.java	2010-03-31 11:31:37 UTC (rev 9024)
+++ trunk/src/main/org/hornetq/core/management/impl/HornetQServerControlImpl.java	2010-03-31 13:31:09 UTC (rev 9025)
@@ -1227,21 +1227,6 @@
       }
    }
 
-   public Set<Role> getSecuritySettings(String addressMatch) throws Exception
-   {
-      checkStarted();
-
-      clearIO();
-      try
-      {
-         return server.getSecurityRepository().getMatch(addressMatch);
-      }
-      finally
-      {
-         blockOnIO();
-      }
-   }
-
    public Object[] getRoles(String addressMatch) throws Exception
    {
       checkStarted();
@@ -1372,13 +1357,6 @@
       storageManager.storeAddressSetting(new PersistedAddressSetting(new SimpleString(address), addressSettings));
    }
 
-   public AddressSettings getAddressSettings(final String address)
-   {
-      checkStarted();
-
-      return server.getAddressSettingsRepository().getMatch(address);
-   }
-
    public void removeAddressSettings(String addressMatch) throws Exception
    {
       checkStarted();

Modified: trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlTest.java	2010-03-31 11:31:37 UTC (rev 9024)
+++ trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlTest.java	2010-03-31 13:31:09 UTC (rev 9025)
@@ -20,9 +20,9 @@
 
 import org.hornetq.api.core.SimpleString;
 import org.hornetq.api.core.TransportConfiguration;
+import org.hornetq.api.core.management.AddressSettingsInfo;
 import org.hornetq.api.core.management.HornetQServerControl;
 import org.hornetq.api.core.management.ObjectNameBuilder;
-import org.hornetq.api.core.management.Parameter;
 import org.hornetq.api.core.management.QueueControl;
 import org.hornetq.api.core.management.RoleInfo;
 import org.hornetq.core.config.Configuration;
@@ -31,7 +31,6 @@
 import org.hornetq.core.remoting.impl.invm.InVMConnectorFactory;
 import org.hornetq.core.server.HornetQServer;
 import org.hornetq.core.server.HornetQServers;
-import org.hornetq.core.settings.impl.AddressSettings;
 import org.hornetq.tests.util.RandomUtil;
 import org.hornetq.utils.json.JSONArray;
 import org.hornetq.utils.json.JSONObject;
@@ -481,18 +480,19 @@
       //restartServer();
       serverControl = createManagementControl();
 
-      AddressSettings settings = serverControl.getAddressSettings(exactAddress);
-
-      assertEquals(DLA, settings.getDeadLetterAddress().toString());
-      assertEquals(expiryAddress, settings.getExpiryAddress().toString());
-      assertEquals(lastValueQueue, settings.isLastValueQueue());
-      assertEquals(deliveryAttempts, settings.getMaxDeliveryAttempts());
-      assertEquals(maxSizeBytes, settings.getMaxSizeBytes());
-      assertEquals(pageSizeBytes, settings.getPageSizeBytes());
-      assertEquals(redeliveryDelay, settings.getRedeliveryDelay());
-      assertEquals(redistributionDelay, settings.getRedistributionDelay());
-      assertEquals(sendToDLAOnNoRoute, settings.isSendToDLAOnNoRoute());
-      assertEquals(addressFullMessagePolicy, settings.getAddressFullMessagePolicy().toString());
+      String jsonString = serverControl.getAddressSettingsAsJSON(exactAddress);
+      AddressSettingsInfo info = AddressSettingsInfo.from(jsonString);
+      
+      assertEquals(DLA, info.getDeadLetterAddress());
+      assertEquals(expiryAddress, info.getExpiryAddress());
+      assertEquals(lastValueQueue, info.isLastValueQueue());
+      assertEquals(deliveryAttempts, info.getMaxDeliveryAttempts());
+      assertEquals(maxSizeBytes, info.getMaxSizeBytes());
+      assertEquals(pageSizeBytes, info.getPageSizeBytes());
+      assertEquals(redeliveryDelay, info.getRedeliveryDelay());
+      assertEquals(redistributionDelay, info.getRedistributionDelay());
+      assertEquals(sendToDLAOnNoRoute, info.isSendToDLAOnNoRoute());
+      assertEquals(addressFullMessagePolicy, info.getAddressFullMessagePolicy());
    }
 
    // Package protected ---------------------------------------------

Modified: trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlUsingCoreTest.java
===================================================================
--- trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlUsingCoreTest.java	2010-03-31 11:31:37 UTC (rev 9024)
+++ trunk/tests/src/org/hornetq/tests/integration/management/HornetQServerControlUsingCoreTest.java	2010-03-31 13:31:09 UTC (rev 9025)
@@ -517,24 +517,6 @@
             proxy.invokeOperation("addAddressSettings", addressMatch, DLA, expiryAddress, lastValueQueue, deliveryAttempts, maxSizeBytes, pageSizeBytes, redeliveryDelay, redistributionDelay, sendToDLAOnNoRoute, addressFullMessagePolicy);
          }
 
-         public AddressSettings getAddressSettings(String address) throws Exception
-         {
-            String res = (String)proxy.invokeOperation("getAddressSettingsAsJSON", address);
-            JSONObject object = new JSONObject(res);
-            AddressSettings settings = new AddressSettings();
-            settings.setDeadLetterAddress(SimpleString.toSimpleString(object.getString("DLA")));
-            settings.setExpiryAddress(SimpleString.toSimpleString(object.getString("expiryAddress")));
-            settings.setLastValueQueue(object.getBoolean("lastValueQueue"));
-            settings.setMaxDeliveryAttempts(object.getInt("maxDeliveryAttempts"));
-            settings.setMaxSizeBytes(object.getLong("maxSizeBytes"));
-            settings.setPageSizeBytes(object.getInt("pageSizeBytes"));
-            settings.setRedeliveryDelay(object.getLong("redeliveryDelay"));
-            settings.setRedistributionDelay(object.getLong("redistributionDelay"));
-            settings.setSendToDLAOnNoRoute(object.getBoolean("sendToDLAOnNoRoute"));
-            settings.setAddressFullMessagePolicy(AddressFullMessagePolicy.valueOf(object.getString("addressFullMessagePolicy")));
-            return settings;
-         }
-
          public void removeAddressSettings(String addressMatch) throws Exception
          {
             proxy.invokeOperation("removeAddressSettings", addressMatch);



More information about the hornetq-commits mailing list