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=&quot;[1.5,2.0)&quot;
+</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=&quot;[1.0,2.0)&quot;
+</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=&quot;[1.3,2.0)&quot;
+</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=&quot;[1.2,2.0)&quot;
+</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=&quot;[1.2,2.0)&quot;
+</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=&quot;[1.1,2.0)&quot;
+</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>