You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2014/03/06 01:40:08 UTC
[5/6] git commit: Revert [KARAF-2762]
Revert [KARAF-2762]
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/ed9f0785
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/ed9f0785
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/ed9f0785
Branch: refs/heads/master
Commit: ed9f0785faf28f0bf142ea67546f83684a8edb80
Parents: 662c07a
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Thu Mar 6 01:31:22 2014 +0100
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Thu Mar 6 01:31:22 2014 +0100
----------------------------------------------------------------------
shell/command-exporter/NOTICE | 71 ----------
shell/command-exporter/pom.xml | 110 ---------------
.../karaf/shell/exporter/ActionCommand.java | 133 -------------------
.../karaf/shell/exporter/ActionTracker.java | 94 -------------
.../apache/karaf/shell/exporter/Activator.java | 42 ------
shell/pom.xml | 1 -
6 files changed, 451 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/ed9f0785/shell/command-exporter/NOTICE
----------------------------------------------------------------------
diff --git a/shell/command-exporter/NOTICE b/shell/command-exporter/NOTICE
deleted file mode 100644
index b70f1f9..0000000
--- a/shell/command-exporter/NOTICE
+++ /dev/null
@@ -1,71 +0,0 @@
-Apache Karaf
-Copyright 2010-2014 The Apache Software Foundation
-
-
-I. Included Software
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2010).
-Licensed under the Apache License 2.0.
-
-This product includes software developed at
-OW2 (http://www.ow2.org/).
-Licensed under the BSD License.
-
-This product includes software developed at
-OPS4J (http://www.ops4j.org/).
-Licensed under the Apache License 2.0.
-
-This product includes software developed at
-Eclipse Foundation (http://www.eclipse.org/).
-Licensed under the EPL.
-
-This product includes software written by
-Antony Lesuisse.
-Licensed under Public Domain.
-
-
-II. Used Software
-
-This product uses software developed at
-FUSE Source (http://www.fusesource.org/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-AOP Alliance (http://aopalliance.sourceforge.net/).
-Licensed under the Public Domain.
-
-This product uses software developed at
-Tanuki Software (http://www.tanukisoftware.com/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-Jasypt (http://jasypt.sourceforge.net/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-JLine (http://jline.sourceforge.net).
-Licensed under the BSD License.
-
-This product uses software developed at
-SLF4J (http://www.slf4j.org/).
-Licensed under the MIT License.
-
-This product uses software developed at
-SpringSource (http://www.springsource.org/).
-Licensed under the Apache License 2.0.
-
-This product includes software from http://www.json.org.
-Copyright (c) 2002 JSON.org
-
-
-III. License Summary
-- Apache License 2.0
-- BSD License
-- EPL License
-- MIT License
http://git-wip-us.apache.org/repos/asf/karaf/blob/ed9f0785/shell/command-exporter/pom.xml
----------------------------------------------------------------------
diff --git a/shell/command-exporter/pom.xml b/shell/command-exporter/pom.xml
deleted file mode 100644
index cf4bca9..0000000
--- a/shell/command-exporter/pom.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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/xsd/maven-4.0.0.xsd">
-
- <!--
-
- 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.
- -->
-
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.karaf.shell</groupId>
- <artifactId>shell</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>command-exporter</artifactId>
- <packaging>bundle</packaging>
-
- <properties>
- <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.console</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.table</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.karaf.package</groupId>
- <artifactId>org.apache.karaf.package.core</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.gogo.runtime</artifactId>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.core</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-jdk14</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.utils</artifactId>
- <scope>provided</scope>
- </dependency>
- </dependencies>
-
- <build>
- <resources>
- <resource>
- <directory>${project.basedir}/src/main/resources</directory>
- <includes>
- <include>**/*</include>
- </includes>
- </resource>
- <resource>
- <directory>${project.basedir}/src/main/resources</directory>
- <filtering>true</filtering>
- <includes>
- <include>**/*.info</include>
- </includes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <configuration>
- <instructions>
- <Bundle-Activator>org.apache.karaf.shell.exporter.Activator</Bundle-Activator>
- <Export-Package>!*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf/blob/ed9f0785/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/ActionCommand.java
----------------------------------------------------------------------
diff --git a/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/ActionCommand.java b/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/ActionCommand.java
deleted file mode 100644
index 8779249..0000000
--- a/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/ActionCommand.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * 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.karaf.shell.exporter;
-
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.felix.gogo.commands.Action;
-import org.apache.felix.gogo.commands.Command;
-import org.apache.felix.gogo.commands.CommandWithAction;
-import org.apache.felix.gogo.commands.basic.AbstractCommand;
-import org.apache.felix.service.command.CommandProcessor;
-import org.apache.felix.service.command.Function;
-import org.apache.karaf.shell.console.CompletableFunction;
-import org.apache.karaf.shell.console.Completer;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Wraps an Action as a command using a template for the action injects
- */
-@SuppressWarnings("deprecation")
-public class ActionCommand extends AbstractCommand implements CompletableFunction {
-
- private static Logger logger = LoggerFactory.getLogger(ActionCommand.class);
-
- private Action actionTemplate;
- private List<Completer> completers = new ArrayList<Completer>();
-
- public ActionCommand(Action actionTemplate) {
- this.actionTemplate = actionTemplate;
- addCompleters();
- }
-
- public ServiceRegistration<?> registerService(BundleContext context) {
- Class<? extends Action> actionClass = actionTemplate.getClass();
- Command cmd = actionClass.getAnnotation(Command.class);
- if (cmd == null) {
- throw new IllegalArgumentException("Action class " + actionClass
- + " is not annotated with @Command");
- }
- String[] interfaces = new String[]{
- Function.class.getName(),
- CommandWithAction.class.getName(),
- AbstractCommand.class.getName()
- };
- Hashtable<String, String> props = new Hashtable<String, String>();
- props.put(CommandProcessor.COMMAND_SCOPE, cmd.scope());
- props.put(CommandProcessor.COMMAND_FUNCTION, cmd.name());
- logger.info("Registering command " + cmd.scope() + ":" + cmd.name() + " in the name of bundle " + context.getBundle().getBundleId());
- return context.registerService(interfaces, this, props);
- }
-
- @Override
- public Class<? extends Action> getActionClass() {
- return actionTemplate.getClass();
- }
-
- @Override
- public Action createNewAction() {
- try {
- Action newAction = actionTemplate.getClass().newInstance();
- copyFields(newAction);
- return newAction;
- } catch (InstantiationException e) {
- throw new RuntimeException(e);
- } catch (IllegalAccessException e) {
- throw new RuntimeException(e);
- }
- }
-
- @Override
- public List<Completer> getCompleters() {
- return completers;
- }
-
- @Override
- public Map<String, Completer> getOptionalCompleters() {
- return null;
- }
-
- private void copyFields(Action newAction) {
- Field[] fields = actionTemplate.getClass().getDeclaredFields();
- for (Field field : fields) {
- try {
- if (!field.isAccessible()) {
- field.setAccessible(true);
- }
- Object value = field.get(actionTemplate);
- field.set(newAction, value);
- } catch (Exception e) {
- throw new RuntimeException(e.getMessage(), e);
- }
- }
- }
-
- private void addCompleters() {
- for (Field field : actionTemplate.getClass().getDeclaredFields()) {
- if (Completer.class.isAssignableFrom(field.getType())) {
- try {
- if (!field.isAccessible()) {
- field.setAccessible(true);
- }
- this.completers.add((Completer) field.get(actionTemplate));
- } catch (Exception e) {
- logger.warn("Error setting completer from field " + field.getName());
- }
- }
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/karaf/blob/ed9f0785/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/ActionTracker.java
----------------------------------------------------------------------
diff --git a/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/ActionTracker.java b/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/ActionTracker.java
deleted file mode 100644
index 5065759..0000000
--- a/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/ActionTracker.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * 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.karaf.shell.exporter;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.felix.gogo.commands.Action;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Tracks services that implement {@link org.apache.felix.gogo.commands.Action},
- * wraps each into an ActionCommand
- * and exports the command as a service in the name of the bundle exporting the Action
- */
-@SuppressWarnings("deprecation")
-final class ActionTracker extends ServiceTracker<Action, Action> {
-
- private Logger logger = LoggerFactory.getLogger(this.getClass());
-
- @SuppressWarnings("rawtypes")
- private Map<ServiceReference, ServiceRegistration> registrations =
- new ConcurrentHashMap<ServiceReference, ServiceRegistration>();
-
- ActionTracker(BundleContext context, Class<Action> clazz,
- ServiceTrackerCustomizer<Action, Action> customizer) {
- super(context, clazz, customizer);
- }
-
- @Override
- public Action addingService(ServiceReference<Action> reference) {
- if (!registrations.containsKey(reference)) {
- Bundle userBundle = reference.getBundle();
- try {
- BundleContext context = userBundle.getBundleContext();
- ActionCommand command = new ActionCommand(context.getService(reference));
- registrations.put(reference, command.registerService(context));
- } catch (Exception e) {
- logger.warn("Error exporting action as command from service of bundle "
- + userBundle.getSymbolicName()
- + "[" + userBundle.getBundleId() + "]", e);
- }
- }
- return super.addingService(reference);
- }
-
- @Override
- public void removedService(ServiceReference<Action> reference, Action service) {
- if (registrations.containsKey(reference)) {
- try {
- registrations.remove(reference).unregister();
- } catch (Exception e) {
- // Ignore .. might already be unregistered if exporting bundle stopped
- }
- }
- super.removedService(reference, service);
- }
-
- @Override
- public void close() {
- for (ServiceRegistration<?> reg : registrations.values()) {
- try {
- reg.unregister();
- } catch (Exception e) {
- // Ignore .. might already be unregistered if exporting bundle stopped
- }
- }
- registrations.clear();
- super.close();
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf/blob/ed9f0785/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/Activator.java
----------------------------------------------------------------------
diff --git a/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/Activator.java b/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/Activator.java
deleted file mode 100644
index 2bf000c..0000000
--- a/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/Activator.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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.karaf.shell.exporter;
-
-import org.apache.felix.gogo.commands.Action;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
-
-@SuppressWarnings("deprecation")
-public class Activator implements BundleActivator {
-
- private ServiceTracker<Action, Action> tracker;
-
- @Override
- public void start(BundleContext context) throws Exception {
- tracker = new ActionTracker(context, Action.class, null);
- tracker.open();
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- tracker.close();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/karaf/blob/ed9f0785/shell/pom.xml
----------------------------------------------------------------------
diff --git a/shell/pom.xml b/shell/pom.xml
index 1ab6361..482021b 100644
--- a/shell/pom.xml
+++ b/shell/pom.xml
@@ -40,7 +40,6 @@
<module>ssh</module>
<module>help</module>
<module>table</module>
- <module>command-exporter</module>
</modules>
</project>