You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by at...@apache.org on 2009/11/19 12:43:46 UTC
svn commit: r882116 [2/2] - in /incubator/aries/trunk: ./ jmx/ jmx/jmx-api/
jmx/jmx-api/src/ jmx/jmx-api/src/main/
jmx/jmx-api/src/main/appended-resources/
jmx/jmx-api/src/main/appended-resources/META-INF/
jmx/jmx-api/src/main/java/ jmx/jmx-api/src/mai...
Added: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/framework/ServiceStateMBean.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/framework/ServiceStateMBean.java?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/framework/ServiceStateMBean.java (added)
+++ incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/framework/ServiceStateMBean.java Thu Nov 19 11:43:42 2009
@@ -0,0 +1,254 @@
+/*
+ * Copyright (c) OSGi Alliance (2009). All Rights Reserved.
+ *
+ * Licensed 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.osgi.jmx.framework;
+
+import java.io.IOException;
+
+import javax.management.openmbean.CompositeType;
+import javax.management.openmbean.SimpleType;
+import javax.management.openmbean.TabularData;
+import javax.management.openmbean.TabularType;
+
+import org.osgi.jmx.Item;
+import org.osgi.jmx.JmxConstants;
+
+/**
+ * This MBean represents the Service state of the framework. This MBean also
+ * emits events that clients can use to get notified of the changes in the
+ * service state of the framework.
+ *
+ * @version $Rev$
+ */
+public interface ServiceStateMBean {
+ /**
+ * The fully qualified object name of this mbean.
+ */
+ String OBJECTNAME = JmxConstants.OSGI_CORE
+ + ":type=serviceState,version=1.5";
+ /**
+ * The key BUNDLE_IDENTIFIER, used in {@link #BUNDLE_IDENTIFIER_ITEM}.
+ */
+ String BUNDLE_IDENTIFIER = "BundleIdentifier";
+ /**
+ * The item containing the bundle identifier in {@link #SERVICE_TYPE}. The
+ * key is {@link #BUNDLE_IDENTIFIER} and the type is {@link SimpleType#LONG}
+ * .
+ */
+ Item BUNDLE_IDENTIFIER_ITEM = new Item(BUNDLE_IDENTIFIER,
+ "The identifier of the bundle the service belongs to",
+ SimpleType.LONG);
+
+ /**
+ * The key OBJECT_CLASS, used {@link #OBJECT_CLASS_ITEM}.
+ */
+ String OBJECT_CLASS = "objectClass";
+
+ /**
+ * The item containing the interfaces of the service in
+ * {@link #SERVICE_TYPE}. The key is {@link #OBJECT_CLASS} and the type is
+ * {@link JmxConstants#STRING_ARRAY_TYPE}.
+ */
+ Item OBJECT_CLASS_ITEM = new Item(
+ OBJECT_CLASS,
+ "An string array containing the interfaces under which the service has been registered",
+ JmxConstants.STRING_ARRAY_TYPE);
+
+ /**
+ * The key IDENTIFIER, used {@link #IDENTIFIER_ITEM}.
+ */
+ String IDENTIFIER = "Identifier";
+
+ /**
+ * The item containing the service identifier in {@link #SERVICE_TYPE}. The
+ * key is {@link #IDENTIFIER} and the type is {@link SimpleType#LONG}.
+ */
+ Item IDENTIFIER_ITEM = new Item(IDENTIFIER,
+ "The identifier of the service", SimpleType.LONG);
+
+ /**
+ * The key USING_BUNDLES, used in {@link #USING_BUNDLES_ITEM}.
+ */
+ String USING_BUNDLES = "UsingBundles";
+
+ /**
+ * The item containing the bundles using the service in
+ * {@link #SERVICE_TYPE}. The key is {@link #USING_BUNDLES} and the type is
+ * {@link JmxConstants#LONG_ARRAY_TYPE}.
+ */
+ Item USING_BUNDLES_ITEM = new Item(USING_BUNDLES,
+ "The bundles using the service", JmxConstants.LONG_ARRAY_TYPE);
+
+ /**
+ * The key PROPERTIES, used in {@link #PROPERTIES_ITEM}.
+ */
+ String PROPERTIES = "Properties";
+
+ /**
+ * The item containing service properties. The key is {@link #PROPERTIES}
+ * and the type is {@link JmxConstants#PROPERTIES_TYPE}.
+ */
+ Item PROPERTIES_ITEM = new Item(PROPERTIES, "The service properties",
+ JmxConstants.PROPERTIES_TYPE);
+
+ /**
+ * The item names in the CompositeData representing the service. This type
+ * consists of:
+ * <ul>
+ * <li>{@link #BUNDLE_IDENTIFIER}</li>
+ * <li>{@link #IDENTIFIER}</li>
+ * <li>{@link #OBJECT_CLASS}</li>
+ * <li>{@link #PROPERTIES}</li>
+ * <li>{@link #USING_BUNDLES}</li>
+ * </ul>
+ */
+ CompositeType SERVICE_TYPE = Item.compositeType("SERVICE",
+ "This type encapsulates an OSGi service", BUNDLE_IDENTIFIER_ITEM,
+ IDENTIFIER_ITEM, OBJECT_CLASS_ITEM,
+ USING_BUNDLES_ITEM);
+
+ /**
+ * The Tabular Type for a Service table. The rows consists of
+ * {@link #SERVICE_TYPE} Composite Data and the index is {@link #IDENTIFIER}
+ * .
+ */
+ TabularType SERVICES_TYPE = Item.tabularType("SERVICES",
+ "The table of all services", SERVICE_TYPE, IDENTIFIER);
+
+ /**
+ * The key BUNDLE_LOCATION, used in {@link #SERVICE_EVENT_TYPE}.
+ */
+ String BUNDLE_LOCATION = "BundleLocation";
+ /**
+ * The item containing the bundle location in {@link #EVENT_ITEM}. The key
+ * is {@link #BUNDLE_LOCATION} and the the type is {@link SimpleType#STRING}
+ * .
+ */
+ Item BUNDLE_LOCATION_ITEM = new Item(BUNDLE_LOCATION,
+ "The location of the bundle", SimpleType.STRING);
+ /**
+ * The key BUNDLE_SYMBOLIC_NAME, used in {@link #SERVICE_EVENT_TYPE}.
+ */
+ String BUNDLE_SYMBOLIC_NAME = "BundleSymbolicName";
+
+ /**
+ * The item containing the symbolic name in {@link #EVENT}. The key is
+ * {@link #BUNDLE_SYMBOLIC_NAME} and the the type is
+ * {@link SimpleType#STRING}.
+ */
+ Item BUNDLE_SYMBOLIC_NAME_ITEM = new Item(BUNDLE_SYMBOLIC_NAME,
+ "The symbolic name of the bundle", SimpleType.STRING);
+
+ /**
+ * The key EVENT, used in {@link #EVENT_ITEM}.
+ */
+ String EVENT = "ServiceEvent";
+
+ /**
+ * The item containing the event type. The key is {@link #EVENT} and the
+ * type is {@link SimpleType#INTEGER}
+ */
+ Item EVENT_ITEM = new Item(
+ EVENT,
+ "The eventType of the event: {REGISTERED=1, MODIFIED=2 UNREGISTERING=3}",
+ SimpleType.INTEGER);
+
+ /**
+ * The Composite Type that represents a service event. This composite
+ * consists of:
+ * <ul>
+ * <li>{@link #IDENTIFIER}</li>
+ * <li>{@link #OBJECT_CLASS}</li>
+ * <li>{@link #BUNDLE_LOCATION}</li>
+ * <li>{@link #BUNDLE_SYMBOLIC_NAME}</li>
+ * <li>{@link #EVENT}</li>
+ * </ul>
+ */
+ CompositeType SERVICE_EVENT_TYPE = Item.compositeType("SERVICE_EVENT",
+ "This type encapsulates OSGi service events", IDENTIFIER_ITEM,
+ OBJECT_CLASS_ITEM, BUNDLE_IDENTIFIER_ITEM, BUNDLE_LOCATION_ITEM,
+ BUNDLE_SYMBOLIC_NAME_ITEM, EVENT_ITEM);
+
+ /**
+ * Answer the list of interfaces that this service implements
+ *
+ * @param serviceId
+ * the identifier of the service
+ * @return the list of interfaces
+ * @throws IOException
+ * if the operation fails
+ * @throws IllegalArgumentException
+ * if the service indicated does not exist
+ */
+ public String[] getObjectClass(long serviceId) throws IOException;
+
+ /**
+ * Answer the bundle identifier of the bundle which registered the service
+ *
+ * @param serviceId
+ * the identifier of the service
+ * @return the identifier for the bundle
+ * @throws IOException
+ * if the operation fails
+ * @throws IllegalArgumentException
+ * if the service indicated does not exist
+ */
+ long getBundleIdentifier(long serviceId) throws IOException;
+
+ /**
+ * Answer the map of properties associated with this service
+ *
+ * @see JmxConstants#PROPERTIES_TYPE for the details of the TabularType
+ *
+ * @param serviceId
+ * the identifier of the service
+ * @return the table of properties. These include the standard mandatory
+ * service.id and objectClass properties as defined in the
+ * <code>org.osgi.framework.Constants</code> interface
+ * @throws IOException
+ * if the operation fails
+ * @throws IllegalArgumentException
+ * if the service indicated does not exist
+ */
+ TabularData getProperties(long serviceId) throws IOException;
+
+ /**
+ * Answer the service state of the system in tabular form.
+ *
+ * @see #SERVICES_TYPE for the details of the TabularType
+ *
+ * @return the tabular representation of the service state
+ * @throws IOException
+ * If the operation fails
+ * @throws IllegalArgumentException
+ * if the service indicated does not exist
+ */
+ TabularData listServices() throws IOException;
+
+ /**
+ * Answer the list of identifiers of the bundles that use the service
+ *
+ * @param serviceId
+ * the identifier of the service
+ * @return the list of bundle identifiers
+ * @throws IOException
+ * if the operation fails
+ * @throws IllegalArgumentException
+ * if the service indicated does not exist
+ */
+ long[] getUsingBundles(long serviceId) throws IOException;
+
+}
Propchange: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/framework/ServiceStateMBean.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/framework/package.html
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/framework/package.html?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/framework/package.html (added)
+++ incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/framework/package.html Thu Nov 19 11:43:42 2009
@@ -0,0 +1,11 @@
+<!-- $Rev$ -->
+<BODY>
+<p>OSGi JMX Framework Package Version 1.5.</p>
+<p>Bundles wishing to use this package must list the package
+in the Import-Package header of the bundle's manifest.
+For example:</p>
+<pre>
+Import-Package: org.osgi.jmx.framework; version="[1.5,2.0)"
+</pre>
+</BODY>
+
Propchange: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/framework/package.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/framework/packageinfo
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/framework/packageinfo?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/framework/packageinfo (added)
+++ incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/framework/packageinfo Thu Nov 19 11:43:42 2009
@@ -0,0 +1 @@
+version 1.5
Added: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/package.html
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/package.html?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/package.html (added)
+++ incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/package.html Thu Nov 19 11:43:42 2009
@@ -0,0 +1,11 @@
+<!-- $Rev$ -->
+<BODY>
+<p>OSGi JMX Package Version 1.0.</p>
+<p>Bundles wishing to use this package must list the package
+in the Import-Package header of the bundle's manifest.
+For example:</p>
+<pre>
+Import-Package: org.osgi.jmx; version="[1.0,2.0)"
+</pre>
+</BODY>
+
Propchange: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/package.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/packageinfo
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/packageinfo?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/packageinfo (added)
+++ incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/packageinfo Thu Nov 19 11:43:42 2009
@@ -0,0 +1 @@
+version 1.0
Added: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/cm/ConfigurationAdminMBean.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/cm/ConfigurationAdminMBean.java?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/cm/ConfigurationAdminMBean.java (added)
+++ incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/cm/ConfigurationAdminMBean.java Thu Nov 19 11:43:42 2009
@@ -0,0 +1,187 @@
+/*
+ * Copyright (c) OSGi Alliance (2009). All Rights Reserved.
+ *
+ * Licensed 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.osgi.jmx.service.cm;
+
+import java.io.IOException;
+
+import javax.management.openmbean.TabularData;
+
+import org.osgi.jmx.JmxConstants;
+
+/**
+ * This MBean provides the management interface to the OSGi Configuration
+ * Administration Service.
+ *
+ * @version $Rev$
+ */
+public interface ConfigurationAdminMBean {
+ /**
+ * The object name for this mbean.
+ */
+ String OBJECTNAME = JmxConstants.OSGI_COMPENDIUM+":service=cm,version=1.3";
+
+ /**
+ * Create a new configuration instance for the supplied persistent id of the
+ * factory, answering the PID of the created configuration
+ *
+ * @param factoryPid the persistent id of the factory
+ * @return the PID of the created configuration
+ * @throws IOException if the operation failed
+ */
+ String createFactoryConfiguration(String factoryPid) throws IOException;
+
+ /**
+ * Create a factory configuration for the supplied persistent id of the
+ * factory and the bundle location bound to bind the created configuration
+ * to, answering the PID of the created configuration
+ *
+ * @param factoryPid the persistent id of the factory
+ * @param location the bundle location
+ * @return the pid of the created configuation
+ * @throws IOException if the operation failed
+ */
+ String createFactoryConfiguration(String factoryPid, String location)
+ throws IOException;
+
+ /**
+ * Delete the configuration
+ *
+ * @param pid the persistent identifier of the configuration
+ * @throws IOException if the operation fails
+ */
+ void delete(String pid) throws IOException;
+
+ /**
+ * Delete the configuration
+ *
+ * @param pid the persistent identifier of the configuration
+ * @param location the bundle location
+ * @throws IOException if the operation fails
+ */
+ void delete(String pid, String location) throws IOException;
+
+ /**
+ * Delete the configurations matching the filter specification.
+ *
+ * @param filter the string representation of the
+ * <code>org.osgi.framework.Filter</code>
+ * @throws IOException if the operation failed
+ * @throws IllegalArgumentException if the filter is invalid
+ */
+ void deleteConfigurations(String filter) throws IOException;
+
+ /**
+ * Answer the bundle location the configuration is bound to
+ *
+ * @param pid the persistent identifier of the configuration
+ * @return the bundle location
+ * @throws IOException if the operation fails
+ */
+ String getBundleLocation(String pid) throws IOException;
+
+ /**
+ * Answer the factory PID if the configuration is a factory configuration,
+ * null otherwise.
+ *
+ * @param pid the persistent identifier of the configuration
+ * @return the factory PID
+ * @throws IOException if the operation fails
+ */
+ String getFactoryPid(String pid) throws IOException;
+
+ /**
+ * Answer the factory PID if the configuration is a factory configuration,
+ * null otherwise.
+ *
+ * @param pid the persistent identifier of the configuration
+ * @param location the bundle location
+ * @return the factory PID
+ * @throws IOException if the operation fails
+ */
+ String getFactoryPid(String pid, String location) throws IOException;
+
+ /**
+ * Answer the contents of the configuration <p/>
+ *
+ * @see JmxConstants#PROPERTIES_TYPE for the details of the TabularType
+ *
+ * @param pid the persistent identifier of the configuration
+ * @return the table of contents
+ * @throws IOException if the operation fails
+ */
+
+ TabularData getProperties(String pid) throws IOException;
+
+ /**
+ * Answer the contents of the configuration <p/>
+ *
+ * @see JmxConstants#PROPERTIES_TYPE for the details of the TabularType
+ *
+ * @param pid the persistent identifier of the configuration
+ * @param location the bundle location
+ * @return the table of contents
+ * @throws IOException if the operation fails
+ */
+ TabularData getProperties(String pid, String location) throws IOException;
+
+ /**
+ * Answer the list of PID/Location pairs of the configurations managed by
+ * this service
+ *
+ * @param filter the string representation of the
+ * <code>org.osgi.framework.Filter</code>
+ * @return the list of configuration PID/Location pairs
+ * @throws IOException if the operation failed
+ * @throws IllegalArgumentException if the filter is invalid
+ */
+ String[][] getConfigurations(String filter) throws IOException;
+
+ /**
+ * Set the bundle location the configuration is bound to
+ *
+ * @param pid the persistent identifier of the configuration
+ * @param location the bundle location
+ * @throws IOException if the operation fails
+ */
+ void setBundleLocation(String pid, String location) throws IOException;
+
+ /**
+ * Update the configuration with the supplied properties For each property
+ * entry, the following row is supplied <p/>
+ *
+ * @see JmxConstants#PROPERTIES_TYPE for the details of the TabularType
+ *
+ * @param pid the persistent identifier of the configuration
+ * @param properties the table of properties
+ * @throws IOException if the operation fails
+ */
+ void update(String pid, TabularData properties) throws IOException;
+
+ /**
+ * Update the configuration with the supplied properties For each property
+ * entry, the following row is supplied <p/>
+ *
+ * @see JmxConstants#PROPERTIES_TYPE for the details of the TabularType
+ *
+ * @param pid the persistent identifier of the configuration
+ * @param location the bundle location
+ * @param properties the table of properties
+ * @throws IOException if the operation fails
+ */
+ void update(String pid, String location, TabularData properties)
+ throws IOException;
+}
\ No newline at end of file
Propchange: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/cm/ConfigurationAdminMBean.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/cm/package.html
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/cm/package.html?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/cm/package.html (added)
+++ incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/cm/package.html Thu Nov 19 11:43:42 2009
@@ -0,0 +1,11 @@
+<!-- $Rev$ -->
+<BODY>
+<p>OSGi JMX CM Package Version 1.3.</p>
+<p>Bundles wishing to use this package must list the package
+in the Import-Package header of the bundle's manifest.
+For example:</p>
+<pre>
+Import-Package: org.osgi.jmx.service.cm; version="[1.3,2.0)"
+</pre>
+</BODY>
+
Propchange: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/cm/package.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/cm/packageinfo
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/cm/packageinfo?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/cm/packageinfo (added)
+++ incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/cm/packageinfo Thu Nov 19 11:43:42 2009
@@ -0,0 +1 @@
+version 1.3
Added: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/permissionadmin/PermissionAdminMBean.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/permissionadmin/PermissionAdminMBean.java?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/permissionadmin/PermissionAdminMBean.java (added)
+++ incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/permissionadmin/PermissionAdminMBean.java Thu Nov 19 11:43:42 2009
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) OSGi Alliance (2009). All Rights Reserved.
+ *
+ * Licensed 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.osgi.jmx.service.permissionadmin;
+
+import java.io.IOException;
+
+import org.osgi.jmx.JmxConstants;
+
+/**
+ * This MBean represents the OSGi Permission Manager Service
+ *
+ * @version $Rev$
+ */
+public interface PermissionAdminMBean {
+ /**
+ * Permission Admin MBean object name.
+ */
+ String OBJECTNAME = JmxConstants.OSGI_CORE
+ + ":service=permissionadmin,version=1.2";
+
+ /**
+ * Answer the bundle locations that have permissions assigned to them
+ *
+ * @return the bundle locations
+ * @throws IOException if the operation fails
+ */
+ String[] listLocations() throws IOException;
+
+ /**
+ * Answer the list of encoded permissions of the bundle specified by the
+ * bundle location
+ *
+ * @param location location identifying the bundle
+ * @return the array of String encoded permissions
+ * @throws IOException if the operation fails
+ */
+ String[] getPermissions(String location) throws IOException;
+
+ /**
+ * Set the default permissions assigned to bundle locations that have no
+ * assigned permissions
+ *
+ * @param encodedPermissions the string encoded permissions
+ * @throws IOException if the operation fails
+ */
+ void setDefaultPermissions(String[] encodedPermissions) throws IOException;
+
+ /**
+ * Answer the list of encoded permissions representing the default
+ * permissions assigned to bundle locations that have no assigned
+ * permissions
+ *
+ * @return the array of String encoded permissions
+ * @throws IOException if the operation fails
+ */
+ String[] listDefaultPermissions() throws IOException;
+
+ /**
+ * Set the permissions on the bundle specified by the bundle location
+ *
+ * @param location the location of the bundle
+ * @param encodedPermissions the string encoded permissions to set
+ * @throws IOException if the operation fails
+ */
+ void setPermissions(String location, String[] encodedPermissions)
+ throws IOException;
+}
Propchange: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/permissionadmin/PermissionAdminMBean.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/permissionadmin/package.html
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/permissionadmin/package.html?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/permissionadmin/package.html (added)
+++ incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/permissionadmin/package.html Thu Nov 19 11:43:42 2009
@@ -0,0 +1,11 @@
+<!-- $Rev$ -->
+<BODY>
+<p>OSGi JMX Permission Admin Package Admin Package Version 1.2.</p>
+<p>Bundles wishing to use this package must list the package
+in the Import-Package header of the bundle's manifest.
+For example:</p>
+<pre>
+Import-Package: org.osgi.jmx.service.permission; version="[1.2,2.0)"
+</pre>
+</BODY>
+
Propchange: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/permissionadmin/package.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/permissionadmin/packageinfo
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/permissionadmin/packageinfo?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/permissionadmin/packageinfo (added)
+++ incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/permissionadmin/packageinfo Thu Nov 19 11:43:42 2009
@@ -0,0 +1 @@
+version 1.2
Added: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/provisioning/ProvisioningServiceMBean.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/provisioning/ProvisioningServiceMBean.java?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/provisioning/ProvisioningServiceMBean.java (added)
+++ incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/provisioning/ProvisioningServiceMBean.java Thu Nov 19 11:43:42 2009
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) OSGi Alliance (2009). All Rights Reserved.
+ *
+ * Licensed 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.osgi.jmx.service.provisioning;
+
+import java.io.IOException;
+
+import javax.management.openmbean.TabularData;
+
+import org.osgi.jmx.JmxConstants;
+
+/**
+ * This MBean represents the management interface to the OSGi Initial
+ * Provisioning Service
+ *
+ * @version $Rev$
+ */
+public interface ProvisioningServiceMBean {
+ /**
+ * Provisioning MBean object name.
+ */
+ String OBJECTNAME = JmxConstants.OSGI_COMPENDIUM
+ + ":service=provisioning,version=1.2";
+
+ /**
+ * Processes the <code>ZipInputStream</code> contents of the provided
+ * zipURL and extracts information to add to the Provisioning Information
+ * dictionary, as well as, install/update and start bundles. This method
+ * causes the <code>PROVISIONING_UPDATE_COUNT</code> to be incremented.
+ *
+ * @param zipURL the String form of the URL that will be resolved into a
+ * <code>ZipInputStream</code> which will be used to add key/value
+ * pairs to the Provisioning Information dictionary and install and
+ * start bundles. If a <code>ZipEntry</code> does not have an
+ * <code>Extra</code> field that corresponds to one of the four
+ * defined MIME types (<code>MIME_STRING</code>,
+ * <code>MIME_BYTE_ARRAY</code>,<code>MIME_BUNDLE</code>, and
+ * <code>MIME_BUNDLE_URL</code>) in will be silently ignored.
+ * @throws IOException if an error occurs while processing the
+ * ZipInputStream of the URL. No additions will be made to the
+ * Provisioning Information dictionary and no bundles must be
+ * started or installed.
+ */
+ public void addInformation(String zipURL) throws IOException;
+
+ /**
+ * Adds the key/value pairs contained in <code>info</code> to the
+ * Provisioning Information dictionary. This method causes the
+ * <code>PROVISIONING_UPDATE_COUNT</code> to be incremented.
+ *
+ * @see JmxConstants#PROPERTIES_TYPE for details of the Tabular Data
+ *
+ * @param info the set of Provisioning Information key/value pairs to add to
+ * the Provisioning Information dictionary. Any keys are values that
+ * are of an invalid type will be silently ignored.
+ * @throws IOException if the operation fails
+ */
+ public void addInformation(TabularData info) throws IOException;
+
+ /**
+ * Returns a table representing the Provisioning Information Dictionary.
+ *
+ * @see JmxConstants#PROPERTIES_TYPE for details of the Tabular Data
+ *
+ * @throws IOException if the operation fails
+ * @return The table representing the manager dictionary.
+ */
+ public TabularData listInformation() throws IOException;
+
+ /**
+ * Replaces the Provisioning Information dictionary with the entries of the
+ * supplied table. This method causes the
+ * <code>PROVISIONING_UPDATE_COUNT</code> to be incremented.
+ *
+ * @see JmxConstants#PROPERTIES_TYPE for details of the Tabular Data
+ *
+ * @param info the new set of Provisioning Information key/value pairs. Any
+ * keys are values that are of an invalid type will be silently
+ * ignored.
+ * @throws IOException if the operation fails
+ */
+ public void setInformation(TabularData info) throws IOException;
+
+}
Propchange: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/provisioning/ProvisioningServiceMBean.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/provisioning/package.html
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/provisioning/package.html?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/provisioning/package.html (added)
+++ incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/provisioning/package.html Thu Nov 19 11:43:42 2009
@@ -0,0 +1,11 @@
+<!-- $Rev$ -->
+<BODY>
+<p>OSGi JMX Initial Provisioning Package Version 1.2.</p>
+<p>Bundles wishing to use this package must list the package
+in the Import-Package header of the bundle's manifest.
+For example:</p>
+<pre>
+Import-Package: org.osgi.jmx.service.provisioning; version="[1.2,2.0)"
+</pre>
+</BODY>
+
Propchange: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/provisioning/package.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/provisioning/packageinfo
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/provisioning/packageinfo?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/provisioning/packageinfo (added)
+++ incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/provisioning/packageinfo Thu Nov 19 11:43:42 2009
@@ -0,0 +1 @@
+version 1.2
Added: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/useradmin/UserAdminMBean.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/useradmin/UserAdminMBean.java?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/useradmin/UserAdminMBean.java (added)
+++ incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/useradmin/UserAdminMBean.java Thu Nov 19 11:43:42 2009
@@ -0,0 +1,594 @@
+/*
+ * Copyright (c) OSGi Alliance (2009). All Rights Reserved.
+ *
+ * Licensed 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.osgi.jmx.service.useradmin;
+
+import java.io.*;
+
+import javax.management.openmbean.*;
+
+import org.osgi.jmx.*;
+
+/**
+ * This MBean provides the management interface to the OSGi User Manager Service
+ *
+ * @version $Rev$
+ */
+public interface UserAdminMBean {
+ /**
+ * User Admin MBean object name.
+ */
+ String OBJECTNAME = JmxConstants.OSGI_COMPENDIUM
+ + ":service=useradmin,version=1.1";
+
+ /**
+ * The key NAME, used in {@link #NAME_ITEM}.
+ */
+ String NAME = "Name";
+
+ /**
+ * The user name for this authorization object. The key is {@link #NAME} and
+ * the type is {@link SimpleType#STRING}.
+ */
+ Item NAME_ITEM = new Item(NAME,
+ "The user name for this authorization object", SimpleType.STRING);
+
+ /**
+ * The key ROLES, used in {@link #ROLES_ITEM}.
+ */
+ String ROLES = "Roles";
+
+ /**
+ * The item containing the roles for this authorization object. The key is
+ * {@link #ROLES}. and the type is {@link JmxConstants#STRING_ARRAY_TYPE}.
+ */
+ Item ROLES_ITEM = new Item(ROLES,
+ "The names of the roles encapsulated by this auth object",
+ JmxConstants.STRING_ARRAY_TYPE);
+
+ /**
+ * The Composite Type for an Authorization object. It consists of the
+ * {@link #NAME_ITEM} and {@link #TYPE_ITEM} items.
+ */
+ CompositeType AUTORIZATION_TYPE = Item.compositeType("AUTHORIZATION",
+ "An authorization object defines which roles has a user got",
+ NAME_ITEM, ROLES_ITEM);
+ /**
+ * The Role TYPE key, used in {@link #TYPE_ITEM}.
+ */
+ String TYPE = "Type";
+
+ /**
+ * The item containing the type of the roles encapsulated by this
+ * authorization object. The key is {@link #TYPE} and the type is
+ * {@link SimpleType#INTEGER}.
+ */
+ Item TYPE_ITEM = new Item(
+ TYPE,
+ "An integer representing type of the role: {0=Role,1=user,2=group}",
+ SimpleType.INTEGER);
+
+ /**
+ * The PROPERTIES key, used in {@link #PROPERTIES_ITEM}.
+ */
+ String PROPERTIES = "Properties";
+
+ /**
+ * The item containing the properties of a Role. The key is
+ * {@link #PROPERTIES} and the type is {@link JmxConstants#PROPERTIES_TYPE}.
+ */
+ Item PROPERTIES_ITEM = new Item(PROPERTIES,
+ "A properties as defined by org.osgi.service.useradmin.Role",
+ JmxConstants.PROPERTIES_TYPE);
+ /**
+ * The item containing the type of Composite Type for a Role. It contains
+ * the following items:
+ * <ul>
+ * <li>{@link #NAME}</li>
+ * <li>{@link #TYPE}</li>
+ * <li>{@link #PROPERTIES}</li>
+ * </ul>
+ *
+ */
+ CompositeType ROLE_TYPE = Item
+ .compositeType(
+ "ROLE",
+ "Mapping of org.osgi.service.useradmin.Role for remote management purposes. User and Group extend Role",
+ NAME_ITEM, TYPE_ITEM);
+
+ /**
+ * The CREDENTIALS key, used in {@link #CREDENTIALS_ITEM}.
+ */
+ String CREDENTIALS = "Credentials";
+
+ /**
+ * The item containing the credentials of a user. The key is
+ * {@link #CREDENTIALS} and the type is {@link JmxConstants#PROPERTIES_TYPE}
+ * .
+ */
+ Item CREDENTIALS_ITEM = new Item(CREDENTIALS,
+ "The credentials for this user", JmxConstants.PROPERTIES_TYPE);
+
+ /**
+ * A Composite Type for a User. A User contains its Role description and
+ * adds the credentials. It extends {@link #ROLE_TYPE} and adds
+ * {@link #CREDENTIALS_ITEM}.
+ *
+ * This type extends the {@link #ROLE_TYPE}. It adds:
+ * <ul>
+ * <li>{@link #CREDENTIALS}</li>
+ * </ul>
+ */
+ CompositeType USER_TYPE = Item
+ .extend(
+ ROLE_TYPE,
+ "USER",
+ "Mapping of org.osgi.service.useradmin.User for remote management purposes. User extends Role");
+
+ /**
+ * The MEMBERS key, used in {@link #MEMBERS_ITEM}.
+ */
+ String MEMBERS = "Members";
+
+ /**
+ * The item containing the members of a group. The key is {@link #MEMBERS}
+ * and the type is {@link JmxConstants#STRING_ARRAY_TYPE}. It is used in
+ * {@link #GROUP_TYPE}.
+ */
+ Item MEMBERS_ITEM = new Item(MEMBERS, "The members of this group",
+ JmxConstants.STRING_ARRAY_TYPE);
+
+ /**
+ * The REQUIRED_MEMBERS key, used in {@link #REQUIRED_MEMBERS_ITEM}.
+ */
+ String REQUIRED_MEMBERS = "RequiredMembers";
+
+ /**
+ * The item containing the required members of a group. The key is
+ * {@link #REQUIRED_MEMBERS} and the type is
+ * {@link JmxConstants#STRING_ARRAY_TYPE}. It is used in {@link #GROUP_TYPE}
+ * .
+ */
+ Item REQUIRED_MEMBERS_ITEM = new Item(REQUIRED_MEMBERS,
+ "The required members of this group",
+ JmxConstants.STRING_ARRAY_TYPE);
+
+ /**
+ * The Composite Type for a Group. It extends {@link #USER_TYPE} and adds
+ * {@link #MEMBERS_ITEM}, and {@link #REQUIRED_MEMBERS_ITEM}.
+ *
+ * This type extends the {@link #USER_TYPE}. It adds:
+ * <ul>
+ * <li>{@link #MEMBERS}</li>
+ * <li>{@link #REQUIRED_MEMBERS}</li>
+ * </ul>
+ */
+ CompositeType GROUP_TYPE = Item
+ .extend(
+ USER_TYPE,
+ "GROUP",
+ "Mapping of org.osgi.service.useradmin.Group for remote management purposes. Group extends User which in turn extends Role",
+ MEMBERS_ITEM, REQUIRED_MEMBERS_ITEM);
+
+ /**
+ * Add credentials to a user, associated with the supplied key
+ *
+ * @param key
+ * The key of the credential to add
+ * @param value
+ * The value of the credential to add
+ * @param username
+ * The name of the user that gets the credential.
+ * @throws IOException
+ * if the operation fails
+ * @throws IllegalArgumentException
+ * if the user name is not a User
+ */
+ void addCredential(String key, byte[] value, String username)
+ throws IOException;
+
+ /**
+ * Add credentials to a user, associated with the supplied key
+ *
+ * @param key
+ * The key of the credential to add
+ * @param value
+ * The value of the credential to add
+ * @param username
+ * The name of the user that gets the credential.
+ * @throws IOException
+ * if the operation fails
+ * @throws IllegalArgumentException
+ * if the username is not a User
+ */
+ void addCredential(String key, String value, String username)
+ throws IOException;
+
+ /**
+ * Add a member to the group.
+ *
+ * @param groupname
+ * The group name that receives the <code>rolename</code> as
+ * member.
+ * @param rolename
+ * The <code>rolename</code> (User or Group) that must be added.
+ * @return <code>true</code> if the role was added to the group
+ * @throws IOException
+ * if the operation fails
+ *
+ * TODO Hal, please check, I am not clear who is the receiver
+ * and who is the parameter. The ordering seems very confusing,
+ * because here the rolename seems the parameter but in all
+ * other calls it is the dest?
+ */
+ boolean addMember(String groupname, String rolename) throws IOException;
+
+ /**
+ * Add or update a property on a role
+ *
+ * @param key
+ * The key of the property to add
+ * @param value
+ * The value of the property to add (<code>String</code>)
+ * @param rolename
+ * The role name
+ * @throws IOException
+ * if the operation fails
+ */
+ void addProperty(String key, String value, String rolename)
+ throws IOException;
+
+ /**
+ * Add or update a property on a role.
+ *
+ * @param key
+ * The added property key
+ * @param value
+ * The added byte[] property value
+ * @param rolename
+ * The role name that receives the property
+ * @throws IOException
+ * if the operation fails
+ */
+ void addProperty(String key, byte[] value, String rolename)
+ throws IOException;
+
+ /**
+ * Add a required member to the group
+ *
+ * @param groupname
+ * The group name that is addded
+ * @param rolename
+ * The role that
+ * @return true if the role was added to the group
+ * @throws IOException
+ * if the operation fails
+ */
+ boolean addRequiredMember(String groupname, String rolename)
+ throws IOException;
+
+ /**
+ * Create a User
+ *
+ * @param name
+ * Name of the user to create
+ * @throws IOException
+ * if the operation fails
+ */
+ void createUser(String name) throws IOException;
+
+ /**
+ * Create a Group
+ *
+ * @param name
+ * Name of the group to create
+ * @throws IOException
+ * if the operation fails
+ */
+ void createGroup(String name) throws IOException;
+
+ /**
+ * Create a Role
+ *
+ * @param name
+ * of the role to create
+ * @throws IOException
+ * if the operation fails
+ */
+ void createRole(String name) throws IOException;
+
+ /**
+ * Answer the authorization for the user name.
+ *
+ * The Composite Data is typed by {@link #AUTORIZATION_TYPE}.
+ *
+ * @param user
+ * The user name
+ * @return the Authorization typed by {@link #AUTORIZATION_TYPE}.
+ * @throws IOException
+ * if the operation fails
+ * @throws IllegalArgumentException
+ * if the user name is not a User
+ */
+ CompositeData getAuthorization(String user) throws IOException;
+
+ /**
+ * Answer the credentials associated with a user.
+ *
+ * The returned Tabular Data is typed by
+ * {@link JmxConstants#PROPERTIES_TYPE}.
+ *
+ * @param username
+ * The user name
+ * @return the credentials associated with the user, see
+ * {@link JmxConstants#PROPERTIES_TYPE}
+ * @throws IOException
+ * if the operation fails
+ * @throws IllegalArgumentException
+ * if the user name is not a User
+ */
+ TabularData getCredentials(String username) throws IOException;
+
+ /**
+ * Answer the Group associated with the group name.
+ *
+ * The returned Composite Data is typed by {@link #GROUP_TYPE}
+ *
+ * @param groupname
+ * The group name
+ * @return the Group, see {@link #GROUP_TYPE}
+ * @throws IOException
+ * if the operation fails
+ * @throws IllegalArgumentException
+ * if the group name is not a Group
+ */
+ CompositeData getGroup(String groupname) throws IOException;
+
+ /**
+ * Answer the list of group names
+ *
+ * @return The list of group names
+ * @throws IOException
+ * if the operation fails
+ */
+ String[] listGroups() throws IOException;
+
+ /**
+ * Answer the list of group names
+ *
+ * @param filter
+ * The filter to apply
+ * @return The list of group names
+ * @throws IOException
+ * if the operation fails
+ */
+ String[] getGroups(String filter) throws IOException;
+
+ /**
+ * Answer the list of implied roles for a user
+ *
+ * TODO I do not know how this maps to User Admin?
+ *
+ * @param username
+ * The name of the user that has the implied roles
+ * @return The list of role names
+ * @throws IOException
+ * if the operation fails
+ * @throws IllegalArgumentException
+ * if the username is not a User
+ */
+ String[] getImpliedRoles(String username) throws IOException;
+
+ /**
+ * Answer the the user names which are members of the group
+ *
+ * @param groupname
+ * The name of the group to get the members from
+ * @return The list of user names
+ * @throws IOException
+ * if the operation fails
+ * @throws IllegalArgumentException
+ * if the <code>groupname</code> is not a group
+ */
+ String[] getMembers(String groupname) throws IOException;
+
+ /**
+ * Answer the properties associated with a role.
+ *
+ * The returned Tabular Data is typed by
+ * {@link JmxConstants#PROPERTIES_TYPE}.
+ *
+ * @param rolename
+ * The name of the role to get properties from
+ * @return the properties associated with the role, see
+ * {@link JmxConstants#PROPERTIES_TYPE}
+ * @throws IOException
+ * if the operation fails
+ */
+ TabularData getProperties(String rolename) throws IOException;
+
+ /**
+ * Answer the list of user names which are required members of this group
+ *
+ * @param groupname
+ * The name of the group to get the required members from
+ * @return The list of user names
+ * @throws IOException
+ * if the operation fails
+ * @throws IllegalArgumentException
+ * if the group name is not a group
+ */
+ String[] getRequiredMembers(String groupname) throws IOException;
+
+ /**
+ * Answer the role associated with a name.
+ *
+ * The returned Composite Data is typed by {@link #ROLE_TYPE}.
+ *
+ * TODO Is this also all users and groups?
+ *
+ * @param name
+ * The name of the role to get the data from
+ * @return the Role, see {@link #ROLE_TYPE}
+ * @throws IOException
+ * if the operation fails
+ */
+ CompositeData getRole(String name) throws IOException;
+
+ /**
+ * Answer the list of role names in the User Admin database
+ *
+ * TODO Is this also all users and groups?
+ *
+ * @return The list of role names
+ * @throws IOException
+ * if the operation fails
+ */
+ String[] listRoles() throws IOException;
+
+ /**
+ * Answer the list of role names which match the supplied filter
+ *
+ * @param filter
+ * The string representation of the
+ * <code>org.osgi.framework.Filter</code> that is used to filter
+ * the roles by applying to the properties, if <code>null</code>
+ * all roles are returned.
+ *
+ * @return The list the role names
+ * @throws IOException
+ * if the operation fails
+ */
+ String[] getRoles(String filter) throws IOException;
+
+ /**
+ * Answer the User associated with the user name.
+ *
+ * The returned Composite Data is typed by {@link #USER_TYPE}.
+ *
+ * @param username
+ * The name of the requested user
+ * @return The User, see {@link #USER_TYPE}
+ * @throws IOException
+ * if the operation fails
+ * @throws IllegalArgumentException
+ * if the <code>username</code> is not a User
+ */
+ CompositeData getUser(String username) throws IOException;
+
+ /**
+ * Answer the user name with the given property key-value pair from the User
+ * Admin service database.
+ *
+ * @param key
+ * The key to compare
+ * @param value
+ * The value to compare
+ * @return The User
+ * @throws IOException
+ * if the operation fails
+ */
+ String getUser(String key, String value) throws IOException;
+
+ /**
+ * Answer the list of user names in the User Admin database
+ *
+ * @return The list of user names
+ * @throws IOException
+ * if the operation fails
+ */
+ String[] listUsers() throws IOException;
+
+ /**
+ * Answer the list of user names in the User Admin database
+ *
+ * @param filter
+ * The filter to apply
+ * @return The list of user names
+ * @throws IOException
+ * if the operation fails
+ */
+ String[] getUsers(String filter) throws IOException;
+
+ /**
+ * Remove the credential associated with the given user
+ *
+ * @param key
+ * The key of the credential to remove
+ * @param username
+ * The name of the user for which the credential must be removed
+ * @throws IOException
+ * if the operation fails
+ * @throws IllegalArgumentException
+ * if the username is not a User
+ */
+ void removeCredential(String key, String username) throws IOException;
+
+ /**
+ * Remove a role from the group
+ *
+ * @param groupname
+ * The group name
+ * @param rolename
+ * @return true if the role was removed from the group
+ * @throws IOException
+ * if the operation fails
+ * @throws IllegalArgumentException
+ * if the groupname is not a Group
+ */
+ boolean removeMember(String groupname, String rolename) throws IOException;
+
+ /**
+ * Remove a property from a role
+ *
+ * @param key
+ * @param rolename
+ * @throws IOException
+ * if the operation fails
+ */
+ void removeProperty(String key, String rolename) throws IOException;
+
+ /**
+ * Remove the Role associated with the name
+ *
+ * @param name
+ * @return true if the remove succeeded
+ * @throws IOException
+ * if the operation fails
+ */
+ boolean removeRole(String name) throws IOException;
+
+ /**
+ * Remove the Group associated with the name
+ *
+ * @param name
+ * @return true if the remove succeeded
+ * @throws IOException
+ * if the operation fails
+ */
+ boolean removeGroup(String name) throws IOException;
+
+ /**
+ * Remove the User associated with the name
+ *
+ * @param name
+ * @return true if the remove succeeded
+ * @throws IOException
+ * if the operation fails
+ */
+ boolean removeUser(String name) throws IOException;
+
+}
\ No newline at end of file
Propchange: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/useradmin/UserAdminMBean.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/useradmin/package.html
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/useradmin/package.html?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/useradmin/package.html (added)
+++ incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/useradmin/package.html Thu Nov 19 11:43:42 2009
@@ -0,0 +1,11 @@
+<!-- $Rev$ -->
+<BODY>
+<p>OSGi JMX User Admin Package Version 1.1.</p>
+<p>Bundles wishing to use this package must list the package
+in the Import-Package header of the bundle's manifest.
+For example:</p>
+<pre>
+Import-Package: org.osgi.jmx.service.useradmin; version="[1.1,2.0)"
+</pre>
+</BODY>
+
Propchange: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/useradmin/package.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/useradmin/packageinfo
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/useradmin/packageinfo?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/useradmin/packageinfo (added)
+++ incubator/aries/trunk/jmx/jmx-api/src/main/java/org/osgi/jmx/service/useradmin/packageinfo Thu Nov 19 11:43:42 2009
@@ -0,0 +1 @@
+version 1.1
Added: incubator/aries/trunk/jmx/jmx-bundle/pom.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-bundle/pom.xml?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-bundle/pom.xml (added)
+++ incubator/aries/trunk/jmx/jmx-bundle/pom.xml Thu Nov 19 11:43:42 2009
@@ -0,0 +1,193 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF 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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.aries.jmx</groupId>
+ <artifactId>jmx</artifactId>
+ <version>1.0.0-incubating-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>aries-jmx</artifactId>
+ <packaging>bundle</packaging>
+ <name>Apache Aries JMX Bundle</name>
+ <description>
+ This bundle contains the standalone implementation of the along with the API.
+ </description>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.aries.jmx</groupId>
+ <artifactId>aries-jmx-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.aries.jmx</groupId>
+ <artifactId>aries-jmx-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Bundle-SymbolicName>${pom.groupId}</Bundle-SymbolicName>
+ <Import-Package>
+ !org.apache.aries.jmx*,
+ org.osgi.framework;version="1.5.0",
+ org.osgi.service.cm;version="1.3.0",
+ org.osgi.service.permissionadmin;version="1.2.0",
+ org.osgi.service.provisioning;version="1.2.0",
+ org.osgi.service.useradmin;version="1.1.0",
+ org.osgi.jmx;version="1.0.0",
+ org.osgi.jmx.framework;version="1.5.0",
+ org.osgi.jmx.service.cm;version="1.3.0",
+ org.osgi.jmx.service.permissionadmin;version="1.2.0",
+ org.osgi.jmx.service.provisioning;version="1.2.0",
+ org.osgi.jmx.service.useradmin;version="1.1.0",
+ org.osgi.util.tracker,*
+ </Import-Package>
+ <Bundle-Activator>org.apache.aries.jmx.Activator</Bundle-Activator>
+ <!-- Not currently exporting from the standalone -->
+ <Export-Package>
+ !*
+ </Export-Package>
+ <!-- include the right NOTICE with attribution to the OSGi alliance -->
+ <Include-Resource>{maven-resources},META-INF/NOTICE=../NOTICE</Include-Resource>
+ <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>
+ <_removeheaders>Ignore-Package,Include-Resource,Private-Package,Bundle-DocURL</_removeheaders>
+ <_failok>true</_failok>
+ </instructions>
+ <unpackBundle>true</unpackBundle>
+ </configuration>
+ </plugin>
+ <!-- Use the shade plugin with the dependency plugin to unjar the two jars (api & core)
+ so that the associated sources and javadocs jars are complete.
+ To build the main jar, the maven-bundle-plugin is used, that's why everything is exluded -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ <configuration>
+ <artifactSet>
+ <includes>
+ <include>org.apache.aries.jmx:aries-jmx-api</include>
+ <include>org.apache.aries.jmx:aries-jmx-core</include>
+ </includes>
+ </artifactSet>
+ <createSourcesJar>${createSourcesJar}</createSourcesJar>
+ <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
+ <createDependencyReducedPom>true</createDependencyReducedPom>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>deploy</id>
+ <properties>
+ <createSourcesJar>true</createSourcesJar>
+ </properties>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>unpack-sources</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.apache.aries.jmx</groupId>
+ <artifactId>aries-jmx-api</artifactId>
+ <classifier>sources</classifier>
+ </artifactItem>
+ <artifactItem>
+ <groupId>org.apache.aries.jmx</groupId>
+ <artifactId>aries-jmx-core</artifactId>
+ <classifier>sources</classifier>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>${project.build.directory}/sources</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>package</id>
+ <phase>package</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <minmemory>128m</minmemory>
+ <maxmemory>512m</maxmemory>
+ <sourcepath>${project.build.directory}/sources</sourcepath>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+</project>
Propchange: incubator/aries/trunk/jmx/jmx-bundle/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/aries/trunk/jmx/jmx-bundle/src/main/appended-resources/META-INF/NOTICE.vm
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-bundle/src/main/appended-resources/META-INF/NOTICE.vm?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-bundle/src/main/appended-resources/META-INF/NOTICE.vm (added)
+++ incubator/aries/trunk/jmx/jmx-bundle/src/main/appended-resources/META-INF/NOTICE.vm Thu Nov 19 11:43:42 2009
@@ -0,0 +1,2 @@
+This product includes software developed at
+the OSGi Alliance (http://www.osgi.org/).
\ No newline at end of file
Propchange: incubator/aries/trunk/jmx/jmx-bundle/src/main/appended-resources/META-INF/NOTICE.vm
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/aries/trunk/jmx/jmx-core/pom.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-core/pom.xml?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-core/pom.xml (added)
+++ incubator/aries/trunk/jmx/jmx-core/pom.xml Thu Nov 19 11:43:42 2009
@@ -0,0 +1,90 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF 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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.aries.jmx</groupId>
+ <artifactId>jmx</artifactId>
+ <version>1.0.0-incubating-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>aries-jmx-core</artifactId>
+ <packaging>bundle</packaging>
+ <name>Apache Aries JMX Core</name>
+ <description>
+ This bundle contains the core implementation
+ of the JMX Control specification
+ </description>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.aries.jmx</groupId>
+ <artifactId>aries-jmx-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Bundle-SymbolicName>${pom.groupId}.core</Bundle-SymbolicName>
+ <Bundle-Activator>org.apache.aries.jmx.Activator</Bundle-Activator>
+ <Import-Package>
+ !org.apache.aries.jmx*,
+ org.osgi.framework;version="1.5.0",
+ org.osgi.service.cm;version="1.3.0",
+ org.osgi.service.permissionadmin;version="1.2.0",
+ org.osgi.service.provisioning;version="1.2.0",
+ org.osgi.service.useradmin;version="1.1.0",
+ org.osgi.util.tracker,
+ org.osgi.jmx;version="1.0.0",
+ org.osgi.jmx.framework;version="1.5.0",
+ org.osgi.jmx.service.cm;version="1.3.0",
+ org.osgi.jmx.service.permissionadmin;version="1.2.0",
+ org.osgi.jmx.service.provisioning;version="1.2.0",
+ org.osgi.jmx.service.useradmin;version="1.1.0",
+ *
+ </Import-Package>
+ <!-- Not currently exporting anything -->
+ <Export-Package>
+ !*
+ </Export-Package>
+ <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>
+ <_removeheaders>Ignore-Package,Include-Resource,Private-Package,Bundle-DocURL</_removeheaders>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Propchange: incubator/aries/trunk/jmx/jmx-core/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/aries/trunk/jmx/jmx-core/src/main/appended-resources/META-INF/NOTICE.vm
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-core/src/main/appended-resources/META-INF/NOTICE.vm?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-core/src/main/appended-resources/META-INF/NOTICE.vm (added)
+++ incubator/aries/trunk/jmx/jmx-core/src/main/appended-resources/META-INF/NOTICE.vm Thu Nov 19 11:43:42 2009
@@ -0,0 +1,2 @@
+This product includes software developed at
+the OSGi Alliance (http://www.osgi.org/).
\ No newline at end of file
Propchange: incubator/aries/trunk/jmx/jmx-core/src/main/appended-resources/META-INF/NOTICE.vm
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/aries/trunk/jmx/jmx-core/src/main/java/org/apache/aries/jmx/Activator.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/jmx-core/src/main/java/org/apache/aries/jmx/Activator.java?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/jmx-core/src/main/java/org/apache/aries/jmx/Activator.java (added)
+++ incubator/aries/trunk/jmx/jmx-core/src/main/java/org/apache/aries/jmx/Activator.java Thu Nov 19 11:43:42 2009
@@ -0,0 +1,45 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF 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.apache.aries.jmx;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+/**
+ *
+ *
+ * @version $Rev$ $Date$
+ */
+public class Activator implements BundleActivator {
+
+ /* (non-Javadoc)
+ * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ // TODO Auto-generated method stub
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Propchange: incubator/aries/trunk/jmx/jmx-core/src/main/java/org/apache/aries/jmx/Activator.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: incubator/aries/trunk/jmx/pom.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jmx/pom.xml?rev=882116&view=auto
==============================================================================
--- incubator/aries/trunk/jmx/pom.xml (added)
+++ incubator/aries/trunk/jmx/pom.xml Thu Nov 19 11:43:42 2009
@@ -0,0 +1,132 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF 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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <parent>
+ <groupId>org.apache.aries</groupId>
+ <artifactId>java5-parent</artifactId>
+ <version>1.0.0-incubating-SNAPSHOT</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.aries.jmx</groupId>
+ <artifactId>jmx</artifactId>
+ <name>Apache Aries JMX</name>
+ <version>1.0.0-incubating-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+
+ <description>Implementation of the JMX Management Model Specification</description>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/aries/trunk/jmx</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/aries/trunk/jmx</developerConnection>
+ <url>http://svn.apache.org/viewvc/incubator/aries/trunk/jmx</url>
+ </scm>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.aries.jmx</groupId>
+ <artifactId>aries-jmx-api</artifactId>
+ <version>${version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.aries.jmx</groupId>
+ <artifactId>aries-jmx-core</artifactId>
+ <version>${version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.aries.jmx</groupId>
+ <artifactId>aries-jmx</artifactId>
+ <version>${version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <version>1.4.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.foundation</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ <version>1.2.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.foundation</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>javax.servlet</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.5</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>2.0.0</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <useReleaseProfile>false</useReleaseProfile>
+ <goals>deploy</goals>
+ <arguments>-Papache-release,deploy</arguments>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <modules>
+ <module>jmx-api</module>
+ <module>jmx-core</module>
+ <module>jmx-bundle</module>
+ </modules>
+
+</project>
Propchange: incubator/aries/trunk/jmx/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/aries/trunk/pom.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/pom.xml?rev=882116&r1=882115&r2=882116&view=diff
==============================================================================
--- incubator/aries/trunk/pom.xml (original)
+++ incubator/aries/trunk/pom.xml Thu Nov 19 11:43:42 2009
@@ -42,6 +42,7 @@
<module>jndi</module>
<module>transaction</module>
<module>application</module>
+ <module>jmx</module>
</modules>
</project>