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