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);
         }
     }
 


Reply via email to