You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by gn...@apache.org on 2017/03/24 08:10:45 UTC

svn commit: r1788375 - in /aries/trunk/jmx: jmx-blueprint-api/src/main/java/org/apache/aries/jmx/blueprint/ jmx-blueprint-core/src/main/java/org/apache/aries/jmx/blueprint/impl/ jmx-blueprint-core/src/test/java/org/apache/aries/jmx/blueprint/impl/

Author: gnodet
Date: Fri Mar 24 08:10:45 2017
New Revision: 1788375

URL: http://svn.apache.org/viewvc?rev=1788375&view=rev
Log:
[ARIES-1707]  BlueprintMetadata.getBlueprintContainer throws inconsistent exceptions

Modified:
    aries/trunk/jmx/jmx-blueprint-api/src/main/java/org/apache/aries/jmx/blueprint/BlueprintMetadataMBean.java
    aries/trunk/jmx/jmx-blueprint-core/src/main/java/org/apache/aries/jmx/blueprint/impl/BlueprintMetadata.java
    aries/trunk/jmx/jmx-blueprint-core/src/test/java/org/apache/aries/jmx/blueprint/impl/BlueprintMetadataTest.java

Modified: aries/trunk/jmx/jmx-blueprint-api/src/main/java/org/apache/aries/jmx/blueprint/BlueprintMetadataMBean.java
URL: http://svn.apache.org/viewvc/aries/trunk/jmx/jmx-blueprint-api/src/main/java/org/apache/aries/jmx/blueprint/BlueprintMetadataMBean.java?rev=1788375&r1=1788374&r2=1788375&view=diff
==============================================================================
--- aries/trunk/jmx/jmx-blueprint-api/src/main/java/org/apache/aries/jmx/blueprint/BlueprintMetadataMBean.java (original)
+++ aries/trunk/jmx/jmx-blueprint-api/src/main/java/org/apache/aries/jmx/blueprint/BlueprintMetadataMBean.java Fri Mar 24 08:10:45 2017
@@ -1074,8 +1074,9 @@ public interface BlueprintMetadataMBean
      * 
      * @param containerServiceId The blueprint container service id
      * @return the array of component id
+     * @throws IOException if the operation fails
      */
-    String[] getComponentIds(long containerServiceId);
+    String[] getComponentIds(long containerServiceId) throws IOException;
     
     /**
      * Returns all component ids of the specified component type
@@ -1083,8 +1084,9 @@ public interface BlueprintMetadataMBean
      * @param containerServiceId The blueprint container service id
      * @param type The string used to specify the type of component
      * @return the array of component id
+     * @throws IOException if the operation fails
      */
-    String[] getComponentIdsByType(long containerServiceId, String type);
+    String[] getComponentIdsByType(long containerServiceId, String type) throws IOException;
     
     /**
      * Returns the ComponentMetadata according to the its component id.
@@ -1094,8 +1096,9 @@ public interface BlueprintMetadataMBean
      * @param containerServiceId The blueprint container service id
      * @param componentId The component id
      * @return the ComponentMetadata
+     * @throws IOException if the operation fails
      */
-    CompositeData getComponentMetadata(long containerServiceId, String componentId);
+    CompositeData getComponentMetadata(long containerServiceId, String componentId) throws IOException;
         
     /**
      * Returns all the blueprint containers' service IDs, which successfully

Modified: aries/trunk/jmx/jmx-blueprint-core/src/main/java/org/apache/aries/jmx/blueprint/impl/BlueprintMetadata.java
URL: http://svn.apache.org/viewvc/aries/trunk/jmx/jmx-blueprint-core/src/main/java/org/apache/aries/jmx/blueprint/impl/BlueprintMetadata.java?rev=1788375&r1=1788374&r2=1788375&view=diff
==============================================================================
--- aries/trunk/jmx/jmx-blueprint-core/src/main/java/org/apache/aries/jmx/blueprint/impl/BlueprintMetadata.java (original)
+++ aries/trunk/jmx/jmx-blueprint-core/src/main/java/org/apache/aries/jmx/blueprint/impl/BlueprintMetadata.java Fri Mar 24 08:10:45 2017
@@ -86,7 +86,7 @@ public class BlueprintMetadata implement
         return serviceIds;
     }
 
-    public String[] getComponentIds(long containerServiceId) {
+    public String[] getComponentIds(long containerServiceId) throws IOException {
         BlueprintContainer container = getBlueprintContainer(containerServiceId);
         return (String[]) container.getComponentIds().toArray(new String[0]);
     }
@@ -97,7 +97,7 @@ public class BlueprintMetadata implement
      * 
      * @see org.apache.aries.jmx.blueprint.BlueprintMetadataMBean#getComponentIdsByType(long, java.lang.String)
      */
-    public String[] getComponentIdsByType(long containerServiceId, String type) {
+    public String[] getComponentIdsByType(long containerServiceId, String type) throws IOException {
         BlueprintContainer container = getBlueprintContainer(containerServiceId);
         Collection<? extends ComponentMetadata> components;
         if (type.equals(BlueprintMetadataMBean.SERVICE_METADATA)) {
@@ -122,24 +122,24 @@ public class BlueprintMetadata implement
         return ids;
     }
 
-    public CompositeData getComponentMetadata(long containerServiceId, String componentId) {
+    public CompositeData getComponentMetadata(long containerServiceId, String componentId) throws IOException {
         BlueprintContainer container = getBlueprintContainer(containerServiceId);
         ComponentMetadata componentMetadata = container.getComponentMetadata(componentId);
         BPMetadata metadata = Util.metadata2BPMetadata(componentMetadata);
         return metadata.asCompositeData();
     }
 
-    private BlueprintContainer getBlueprintContainer(long containerServiceId) {
+    private BlueprintContainer getBlueprintContainer(long containerServiceId) throws IOException {
         String filter = "(" + Constants.SERVICE_ID + "=" + containerServiceId + ")";
         ServiceReference[] serviceReferences = null;
         try {
             serviceReferences = bundleContext.getServiceReferences(BlueprintContainer.class.getName(), filter);
         } catch (InvalidSyntaxException e) {
-            throw new RuntimeException(e);
+            throw new IOException(e);
         }
 
         if (serviceReferences == null || serviceReferences.length <1) {
-            throw new IllegalArgumentException("Invalid BlueprintContainer service id: " + containerServiceId);
+            throw new IOException("Invalid BlueprintContainer service id: " + containerServiceId);
         }
         return (BlueprintContainer) bundleContext.getService(serviceReferences[0]);
     }

Modified: aries/trunk/jmx/jmx-blueprint-core/src/test/java/org/apache/aries/jmx/blueprint/impl/BlueprintMetadataTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/jmx/jmx-blueprint-core/src/test/java/org/apache/aries/jmx/blueprint/impl/BlueprintMetadataTest.java?rev=1788375&r1=1788374&r2=1788375&view=diff
==============================================================================
--- aries/trunk/jmx/jmx-blueprint-core/src/test/java/org/apache/aries/jmx/blueprint/impl/BlueprintMetadataTest.java (original)
+++ aries/trunk/jmx/jmx-blueprint-core/src/test/java/org/apache/aries/jmx/blueprint/impl/BlueprintMetadataTest.java Fri Mar 24 08:10:45 2017
@@ -23,6 +23,7 @@ import static org.junit.Assert.assertEqu
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -322,21 +323,21 @@ public class BlueprintMetadataTest {
             metadata.getComponentIds(serviceId);
         }catch(Exception ex)
         {
-            assertTrue(ex instanceof IllegalArgumentException);
+            assertTrue(ex instanceof IOException);
         }
         
         try{
             metadata.getComponentIdsByType(serviceId, BlueprintMetadataMBean.SERVICE_METADATA);
         }catch(Exception ex)
         {
-            assertTrue(ex instanceof IllegalArgumentException);
+            assertTrue(ex instanceof IOException);
         }
         
         try{
             metadata.getComponentMetadata(serviceId, "xxxx");
         }catch(Exception ex)
         {
-            assertTrue(ex instanceof IllegalArgumentException);
+            assertTrue(ex instanceof IOException);
         }
     }