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