First commit of the jmx console interface



git-svn-id: https://svn.apache.org/repos/asf/incubator/felix/trunk@424245 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/org.apache.felix.mosgi.console.ifc/pom.xml b/org.apache.felix.mosgi.console.ifc/pom.xml
new file mode 100644
index 0000000..a99a79b
--- /dev/null
+++ b/org.apache.felix.mosgi.console.ifc/pom.xml
@@ -0,0 +1,49 @@
+<project>
+  <parent>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>felix</artifactId>
+    <version>0.8.0-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <packaging>osgi-bundle</packaging>
+  <name>MOSGi JMX Console Interface</name>
+  <artifactId>org.apache.felix.mosgi.console.ifc</artifactId>
+  <dependencies>
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>org.osgi.core</artifactId>
+      <version>${pom.version}</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <artifactId>org.osgi.compendium</artifactId>
+      <version>${pom.version}</version>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.felix.plugins</groupId>
+        <artifactId>maven-osgi-plugin</artifactId>
+        <version>${pom.version}</version>
+        <extensions>true</extensions>
+        <configuration>
+          <osgiManifest>
+            <bundleName>MOSGi JMX Console  Ifc</bundleName>
+            <bundleDescription>MOSGi JMX Console Ifc</bundleDescription>
+            <bundleActivator>auto-detect</bundleActivator>
+            <bundleDocUrl>http://oscar-osgi.sf.net/obr2/${pom.artifactId}/</bundleDocUrl>
+            <bundleUrl>http://oscar-osgi.sf.net/obr2/${pom.artifactId}/${pom.artifactId}-${pom.version}.jar</bundleUrl>
+            <bundleSource>http://oscar-osgi.sf.net/obr2/${pom.artifactId}/${pom.artifactId}-${pom.version}-src.jar</bundleSource>
+            <bundleSymbolicName>${pom.artifactId}</bundleSymbolicName>
+            <exportPackage>
+	                   ${pom.artifactId};specification-version="1.0.0"
+            </exportPackage>
+          </osgiManifest>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
diff --git a/org.apache.felix.mosgi.console.ifc/src/main/java/org/apache/felix/mosgi/console/ifc/CommonPlugin.java b/org.apache.felix.mosgi.console.ifc/src/main/java/org/apache/felix/mosgi/console/ifc/CommonPlugin.java
new file mode 100644
index 0000000..8cee2c0
--- /dev/null
+++ b/org.apache.felix.mosgi.console.ifc/src/main/java/org/apache/felix/mosgi/console/ifc/CommonPlugin.java
@@ -0,0 +1,22 @@
+/*
+ *   Copyright 2005 The Apache Software Foundation
+ *
+ *   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.apache.felix.mosgi.console.ifc;
+
+public interface CommonPlugin extends Plugin{
+  public static final String COMMON_PLUGIN_ADDED = "commonPluginAdded";
+  public static final String COMMON_PLUGIN_REMOVED = "commonPluginRemoved";
+}
diff --git a/org.apache.felix.mosgi.console.ifc/src/main/java/org/apache/felix/mosgi/console/ifc/Plugin.java b/org.apache.felix.mosgi.console.ifc/src/main/java/org/apache/felix/mosgi/console/ifc/Plugin.java
new file mode 100644
index 0000000..77e7a4c
--- /dev/null
+++ b/org.apache.felix.mosgi.console.ifc/src/main/java/org/apache/felix/mosgi/console/ifc/Plugin.java
@@ -0,0 +1,40 @@
+/*
+ *   Copyright 2005 The Apache Software Foundation
+ *
+ *   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.apache.felix.mosgi.console.ifc;
+
+import java.awt.Component;
+import java.beans.PropertyChangeListener;
+
+public interface Plugin extends PropertyChangeListener
+{
+    public String getName();
+    public Component getGUI();
+
+    public void registerServicePlugin();
+    public void unregisterServicePlugin();
+    public String pluginLocation();
+
+    public static final String NEW_NODE_SELECTED="newNodeSelected";
+    public static final String NEW_NODE_READY="newNodeReady";
+    public static final String NEW_NODE_CONNECTION="newNodeConnection";
+    public static final String EMPTY_NODE="emptyNode";
+
+    public static final String PLUGIN_ADDED="pluggin_added";
+    public static final String PLUGIN_REMOVED="pluggin_removed";
+    public static final String PLUGIN_ACTIVATED="pluggin_activated";
+
+}
diff --git a/org.apache.felix.mosgi.console.ifc/src/main/java/org/apache/felix/mosgi/console/ifc/TabIfc.java b/org.apache.felix.mosgi.console.ifc/src/main/java/org/apache/felix/mosgi/console/ifc/TabIfc.java
new file mode 100644
index 0000000..f797619
--- /dev/null
+++ b/org.apache.felix.mosgi.console.ifc/src/main/java/org/apache/felix/mosgi/console/ifc/TabIfc.java
@@ -0,0 +1,21 @@
+/*
+ *   Copyright 2005 The Apache Software Foundation
+ *
+ *   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.apache.felix.mosgi.console.ifc;
+
+public interface TabIfc {
+  public String getBundleName();
+}