From b4a036b66afe3683c6b077f5af59ece1ad1cf045 Mon Sep 17 00:00:00 2001 From: Oliver Gierke Date: Tue, 21 Feb 2012 16:04:32 +0100 Subject: [PATCH] Moved project to SpringSource. --- .gitignore | 1 + core/pom.xml | 9 +- core/src/doc/core.xml | 30 +++--- .../plugin}/core/MutablePluginRegistry.java | 2 +- .../core/OrderAwarePluginRegistry.java | 4 +- .../plugin}/core/Plugin.java | 2 +- .../plugin}/core/PluginRegistry.java | 2 +- .../plugin}/core/SimplePluginRegistry.java | 24 ++--- .../config/PluginListDefinitionParser.java | 4 +- .../core/config/PluginNamespaceHandler.java | 2 +- .../PluginRegistryDefinitionParser.java | 4 +- .../plugin}/core/config/package-info.java | 2 +- .../plugin}/core/package-info.java | 2 +- .../support/AbstractTypeAwareSupport.java | 2 +- .../core/support/BeanListFactoryBean.java | 2 +- .../support/PluginRegistryFactoryBean.java | 8 +- .../plugin}/core/support/package-info.java | 2 +- .../main/resources/META-INF/spring.handlers | 2 +- .../main/resources/META-INF/spring.schemas | 2 +- .../main/resources/META-INF/spring.tooling | 8 +- .../plugin/core/config/spring-plugin.xsd} | 4 +- ...AbstractMutablePluginRegistryUnitTest.java | 3 +- .../OrderAwarePluginRegistryUnitTest.java | 10 +- .../plugin}/core/SamplePlugin.java | 4 +- .../plugin}/core/SamplePluginHost.java | 5 +- .../core/SamplePluginImplementation.java | 6 +- .../core/SimplePluginRegistryUnitTest.java | 7 +- .../PluginConfigurationIntegrationTest.java | 8 +- .../support/BeanListFactoryBeanUnitTest.java | 3 +- .../test/resources/application-context.xml | 16 +-- core/src/test/resources/log4j.properties | 2 +- core/template.mf | 8 +- {si => integration}/pom.xml | 15 +-- .../PluginRegistryAwareMessageHandler.java | 8 +- .../config/DynamicServiceActivatorParser.java | 6 +- ...uginSpringIntegrationNamespaceHandler.java | 4 +- .../main/resources/META-INF/spring.handlers | 1 + .../main/resources/META-INF/spring.schemas | 1 + .../main/resources/META-INF/spring.tooling | 4 + .../config/spring-plugin-integration.xsd | 6 +- ...inRegistryAwareMessageHandlerUnitTest.java | 13 +-- ...viceActivatorNamespaceIntegrationTest.java | 2 +- .../sample/FirstSamplePluginImpl.java | 6 +- .../integration}/sample/SamplePlugin.java | 4 +- .../sample/SecondSamplePluginImpl.java | 6 +- .../sample/ThirdSamplePluginImpl.java | 6 +- ...dynamic-service-activator-test-context.xml | 12 +-- .../src/test/resources/log4j.properties | 0 {si => integration}/template.mf | 10 +- metadata/pom.xml | 12 +-- metadata/src/doc/metadata.xml | 16 +-- metadata/src/main/java/META-INF/MANIFEST.MF | 3 - .../metadata/AbstractMetadataBasedPlugin.java | 10 +- .../plugin}/metadata/MetadataProvider.java | 2 +- .../plugin}/metadata/PluginMetadata.java | 2 +- .../metadata/SimplePluginMetadata.java | 6 +- metadata/template.mf | 10 +- pom.xml | 98 ++++-------------- si/.springBeans | 13 --- .../main/resources/META-INF/spring.handlers | 1 - si/src/main/resources/META-INF/spring.schemas | 1 - si/src/main/resources/META-INF/spring.tooling | 4 - src/doc/layout/pdf/fo-pdf.xsl | 3 - src/doc/layout/pdf/fonts/SteLiBI_.ttf | Bin 31528 -> 0 bytes src/doc/layout/pdf/fonts/SteLiBI_.xml | 1 - src/doc/layout/pdf/fonts/SteLiB__.ttf | Bin 27856 -> 0 bytes src/doc/layout/pdf/fonts/SteLiB__.xml | 1 - src/doc/layout/pdf/fonts/SteLiI__.ttf | Bin 31696 -> 0 bytes src/doc/layout/pdf/fonts/SteLiI__.xml | 1 - src/doc/layout/pdf/fonts/SteLiR__.ttf | Bin 30452 -> 0 bytes src/doc/layout/pdf/fonts/SteLiR__.xml | 1 - src/doc/layout/pdf/images/synyx-logo.tiff | Bin 192238 -> 0 bytes ...erence.xml => spring-plugin-reference.xml} | 69 ++++++------ 73 files changed, 248 insertions(+), 300 deletions(-) rename core/src/main/java/org/{synyx/hera => springframework/plugin}/core/MutablePluginRegistry.java (96%) rename core/src/main/java/org/{synyx/hera => springframework/plugin}/core/OrderAwarePluginRegistry.java (97%) rename core/src/main/java/org/{synyx/hera => springframework/plugin}/core/Plugin.java (94%) rename core/src/main/java/org/{synyx/hera => springframework/plugin}/core/PluginRegistry.java (98%) rename core/src/main/java/org/{synyx/hera => springframework/plugin}/core/SimplePluginRegistry.java (76%) rename core/src/main/java/org/{synyx/hera => springframework/plugin}/core/config/PluginListDefinitionParser.java (95%) rename core/src/main/java/org/{synyx/hera => springframework/plugin}/core/config/PluginNamespaceHandler.java (95%) rename core/src/main/java/org/{synyx/hera => springframework/plugin}/core/config/PluginRegistryDefinitionParser.java (87%) rename core/src/main/java/org/{synyx/hera => springframework/plugin}/core/config/package-info.java (71%) rename core/src/main/java/org/{synyx/hera => springframework/plugin}/core/package-info.java (84%) rename core/src/main/java/org/{synyx/hera => springframework/plugin}/core/support/AbstractTypeAwareSupport.java (99%) rename core/src/main/java/org/{synyx/hera => springframework/plugin}/core/support/BeanListFactoryBean.java (97%) rename core/src/main/java/org/{synyx/hera => springframework/plugin}/core/support/PluginRegistryFactoryBean.java (87%) rename core/src/main/java/org/{synyx/hera => springframework/plugin}/core/support/package-info.java (75%) rename core/src/main/resources/org/{synyx/hera/core/config/hera.xsd => springframework/plugin/core/config/spring-plugin.xsd} (91%) rename core/src/test/java/org/{synyx/hera => springframework/plugin}/core/AbstractMutablePluginRegistryUnitTest.java (93%) rename core/src/test/java/org/{synyx/hera => springframework/plugin}/core/OrderAwarePluginRegistryUnitTest.java (88%) rename core/src/test/java/org/{synyx/hera => springframework/plugin}/core/SamplePlugin.java (89%) rename core/src/test/java/org/{synyx/hera => springframework/plugin}/core/SamplePluginHost.java (86%) rename core/src/test/java/org/{synyx/hera => springframework/plugin}/core/SamplePluginImplementation.java (82%) rename core/src/test/java/org/{synyx/hera => springframework/plugin}/core/SimplePluginRegistryUnitTest.java (92%) rename core/src/test/java/org/{synyx/hera => springframework/plugin}/core/config/PluginConfigurationIntegrationTest.java (89%) rename core/src/test/java/org/{synyx/hera => springframework/plugin}/core/support/BeanListFactoryBeanUnitTest.java (95%) rename {si => integration}/pom.xml (80%) rename {si/src/main/java/org/synyx/hera/si => integration/src/main/java/org/springframework/plugin/integration}/PluginRegistryAwareMessageHandler.java (97%) rename {si/src/main/java/org/synyx/hera/si => integration/src/main/java/org/springframework/plugin/integration}/config/DynamicServiceActivatorParser.java (93%) rename si/src/main/java/org/synyx/hera/si/config/HeraSpringIntegrationNamespaceHandler.java => integration/src/main/java/org/springframework/plugin/integration/config/SpringPluginSpringIntegrationNamespaceHandler.java (88%) create mode 100644 integration/src/main/resources/META-INF/spring.handlers create mode 100644 integration/src/main/resources/META-INF/spring.schemas create mode 100644 integration/src/main/resources/META-INF/spring.tooling rename si/src/main/resources/org/synyx/hera/si/config/hera-si.xsd => integration/src/main/resources/org/springframework/plugin/integration/config/spring-plugin-integration.xsd (91%) rename {si/src/test/java/org/synyx/hera/si => integration/src/test/java/org/springframework/plugin/integration}/PluginRegistryAwareMessageHandlerUnitTest.java (85%) rename {si/src/test/java/org/synyx/hera/si => integration/src/test/java/org/springframework/plugin/integration}/config/DynamicServiceActivatorNamespaceIntegrationTest.java (97%) rename {si/src/test/java/org/synyx/hera/si => integration/src/test/java/org/springframework/plugin/integration}/sample/FirstSamplePluginImpl.java (81%) rename {si/src/test/java/org/synyx/hera/si => integration/src/test/java/org/springframework/plugin/integration}/sample/SamplePlugin.java (88%) rename {si/src/test/java/org/synyx/hera/si => integration/src/test/java/org/springframework/plugin/integration}/sample/SecondSamplePluginImpl.java (83%) rename {si/src/test/java/org/synyx/hera/si => integration/src/test/java/org/springframework/plugin/integration}/sample/ThirdSamplePluginImpl.java (84%) rename {si => integration}/src/test/resources/dynamic-service-activator-test-context.xml (57%) rename {si => integration}/src/test/resources/log4j.properties (100%) rename {si => integration}/template.mf (52%) delete mode 100644 metadata/src/main/java/META-INF/MANIFEST.MF rename metadata/src/main/java/org/{synyx/hera => springframework/plugin}/metadata/AbstractMetadataBasedPlugin.java (84%) rename metadata/src/main/java/org/{synyx/hera => springframework/plugin}/metadata/MetadataProvider.java (95%) rename metadata/src/main/java/org/{synyx/hera => springframework/plugin}/metadata/PluginMetadata.java (96%) rename metadata/src/main/java/org/{synyx/hera => springframework/plugin}/metadata/SimplePluginMetadata.java (92%) delete mode 100644 si/.springBeans delete mode 100644 si/src/main/resources/META-INF/spring.handlers delete mode 100644 si/src/main/resources/META-INF/spring.schemas delete mode 100644 si/src/main/resources/META-INF/spring.tooling delete mode 100644 src/doc/layout/pdf/fonts/SteLiBI_.ttf delete mode 100644 src/doc/layout/pdf/fonts/SteLiBI_.xml delete mode 100644 src/doc/layout/pdf/fonts/SteLiB__.ttf delete mode 100644 src/doc/layout/pdf/fonts/SteLiB__.xml delete mode 100644 src/doc/layout/pdf/fonts/SteLiI__.ttf delete mode 100644 src/doc/layout/pdf/fonts/SteLiI__.xml delete mode 100644 src/doc/layout/pdf/fonts/SteLiR__.ttf delete mode 100644 src/doc/layout/pdf/fonts/SteLiR__.xml delete mode 100644 src/doc/layout/pdf/images/synyx-logo.tiff rename src/doc/{hera-reference.xml => spring-plugin-reference.xml} (69%) diff --git a/.gitignore b/.gitignore index 34f9ada..1d3bee2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .classpath .project .settings/ +.springBeans target/ \ No newline at end of file diff --git a/core/pom.xml b/core/pom.xml index 2b0888c..d5b9697 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -1,13 +1,14 @@ 4.0.0 - org.synyx.hera.core + + spring-plugin-core - Hera Core + Spring Plugin Core Core plugin infrastructure - org.synyx.hera - org.synyx.hera + org.springframework.plugin + spring-plugin 0.8.0.BUILD-SNAPSHOT diff --git a/core/src/doc/core.xml b/core/src/doc/core.xml index 646fa74..44054a2 100644 --- a/core/src/doc/core.xml +++ b/core/src/doc/core.xml @@ -1,4 +1,6 @@ + Core @@ -80,13 +82,13 @@ public class HostImpl implements Host { Collecting Spring beans dynamically With the BeanListBeanFactory - Hera provides a Spring container extension, - that allows to lookup beans of a given type in the current + Spring Plugin provides a Spring container + extension, that allows to lookup beans of a given type in the current ApplicationContext and register them as list under a given name. Take a look at the configuration now: - Host and plugin configuration with Hera support + Host and plugin configuration with Spring Plugin support <import resource="classpath*:com/acme/**/plugins.xml" /> @@ -94,7 +96,7 @@ public class HostImpl implements Host { <property name="plugins" ref="plugins" /> </bean> -<bean class="org.synyx.hera.plugin.support.BeanListBeanFactory"> +<bean class="org.springframework.plugin.support.BeanListBeanFactory"> <property name="lists"> <map> <entry key="plugins" value="org.acme.MyPluginInterface" /> @@ -141,10 +143,10 @@ public class HostImpl implements Host { Host configuration using the plugin namespace <beans xmlns="http://www.springframework.org/schema/beans" - xmlns:plugin="http://schemas.synyx.org/hera" + xmlns:plugin="http://www.springframework.org/schema/plugin" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd - http://schemas.synyx.org/hera http://schemas.synyx.org/hera/hera.xsd"> + http://www.springframework.org/schema/plugin http://www.springframework.org/schema/plugin/spring-plugin.xsd"> <import resource="classpath*:com/acme/**/plugins.xml" /> @@ -237,7 +239,7 @@ public interface ProductProcessor extends Plugin<ProductType> { Using a List as plugin container as well as the Plugin interface you can now select plugins supporting the given delimiter. To not reimplement the - lookup logic for common cases Hera provides a + lookup logic for common cases Spring Plugin provides a PluginRegistry<T extends Plugin<S>, S> interface that provides sophisticated methods to access certain plugins: @@ -268,9 +270,9 @@ registry.getPluginsFor(ProductType.HARDWARE, new MyException("Damn!");Configuration and namespace Similar to the BeanListBeanFactory - described in Hera provides a - PluginRegistryBeanFactory to automatically lookup - beans of a dedicated type to be aggregated in a + described in Spring Plugin + provides a PluginRegistryBeanFactory to + automatically lookup beans of a dedicated type to be aggregated in a PluginRegistry. Note that the type has to be assignable to Plugin to let the registry work as expected. @@ -305,11 +307,11 @@ registry.getPluginsFor(ProductType.HARDWARE, new MyException("Damn!");section on this topic in the Spring reference documentation. - Using the Hera namespace you will get a + Using the Spring Plugin namespace you will get a PluginRegistry instance that is capable - of preserving the order defined by the mentioned means. Using Hera - programatically use + of preserving the order defined by the mentioned means. Using Spring + Plugin programatically use OrderAwarePluginRegistry. - \ No newline at end of file + diff --git a/core/src/main/java/org/synyx/hera/core/MutablePluginRegistry.java b/core/src/main/java/org/springframework/plugin/core/MutablePluginRegistry.java similarity index 96% rename from core/src/main/java/org/synyx/hera/core/MutablePluginRegistry.java rename to core/src/main/java/org/springframework/plugin/core/MutablePluginRegistry.java index 960d919..d4798fe 100644 --- a/core/src/main/java/org/synyx/hera/core/MutablePluginRegistry.java +++ b/core/src/main/java/org/springframework/plugin/core/MutablePluginRegistry.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.core; +package org.springframework.plugin.core; /** * Extension of {@link PluginRegistry} with additional methods to modify the registry. diff --git a/core/src/main/java/org/synyx/hera/core/OrderAwarePluginRegistry.java b/core/src/main/java/org/springframework/plugin/core/OrderAwarePluginRegistry.java similarity index 97% rename from core/src/main/java/org/synyx/hera/core/OrderAwarePluginRegistry.java rename to core/src/main/java/org/springframework/plugin/core/OrderAwarePluginRegistry.java index 76b8acf..addcca5 100644 --- a/core/src/main/java/org/synyx/hera/core/OrderAwarePluginRegistry.java +++ b/core/src/main/java/org/springframework/plugin/core/OrderAwarePluginRegistry.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.core; +package org.springframework.plugin.core; import java.util.ArrayList; import java.util.Collections; @@ -142,7 +142,7 @@ public class OrderAwarePluginRegistry, S> extends SimplePlug /* * (non-Javadoc) - * @see org.synyx.hera.core.SimplePluginRegistry#addPlugin(org.synyx.hera.core.Plugin) + * @see org.springframework.plugin.core.SimplePluginRegistry#addPlugin(org.springframework.plugin.core.Plugin) */ @Override public OrderAwarePluginRegistry addPlugin(T plugin) { diff --git a/core/src/main/java/org/synyx/hera/core/Plugin.java b/core/src/main/java/org/springframework/plugin/core/Plugin.java similarity index 94% rename from core/src/main/java/org/synyx/hera/core/Plugin.java rename to core/src/main/java/org/springframework/plugin/core/Plugin.java index c490537..6bbe70c 100644 --- a/core/src/main/java/org/synyx/hera/core/Plugin.java +++ b/core/src/main/java/org/springframework/plugin/core/Plugin.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.core; +package org.springframework.plugin.core; /** * Central interface for plugins for the system. This interface is meant to be extended by concrete plugin interfaces. diff --git a/core/src/main/java/org/synyx/hera/core/PluginRegistry.java b/core/src/main/java/org/springframework/plugin/core/PluginRegistry.java similarity index 98% rename from core/src/main/java/org/synyx/hera/core/PluginRegistry.java rename to core/src/main/java/org/springframework/plugin/core/PluginRegistry.java index 084ea13..b0c2e78 100644 --- a/core/src/main/java/org/synyx/hera/core/PluginRegistry.java +++ b/core/src/main/java/org/springframework/plugin/core/PluginRegistry.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.core; +package org.springframework.plugin.core; import java.util.List; diff --git a/core/src/main/java/org/synyx/hera/core/SimplePluginRegistry.java b/core/src/main/java/org/springframework/plugin/core/SimplePluginRegistry.java similarity index 76% rename from core/src/main/java/org/synyx/hera/core/SimplePluginRegistry.java rename to core/src/main/java/org/springframework/plugin/core/SimplePluginRegistry.java index 66ee94a..2007176 100644 --- a/core/src/main/java/org/synyx/hera/core/SimplePluginRegistry.java +++ b/core/src/main/java/org/springframework/plugin/core/SimplePluginRegistry.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.core; +package org.springframework.plugin.core; import java.util.ArrayList; import java.util.Collections; @@ -66,7 +66,7 @@ public class SimplePluginRegistry, S> implements MutablePlug /* * (non-Javadoc) - * @see org.synyx.hera.core.MutablePluginRegistry#addPlugin(org.synyx.hera.core.Plugin) + * @see org.springframework.plugin.core.MutablePluginRegistry#addPlugin(org.springframework.plugin.core.Plugin) */ public SimplePluginRegistry addPlugin(T plugin) { @@ -79,7 +79,7 @@ public class SimplePluginRegistry, S> implements MutablePlug /* * (non-Javadoc) - * @see org.synyx.hera.core.MutablePluginRegistry#removePlugin(org.synyx.hera.core.Plugin) + * @see org.springframework.plugin.core.MutablePluginRegistry#removePlugin(org.springframework.plugin.core.Plugin) */ public boolean removePlugin(T plugin) { @@ -88,7 +88,7 @@ public class SimplePluginRegistry, S> implements MutablePlug /* * (non-Javadoc) - * @see org.synyx.hera.core.PluginRegistry#getPluginFor(java.lang.Object) + * @see org.springframework.plugin.core.PluginRegistry#getPluginFor(java.lang.Object) */ public T getPluginFor(S delimiter) { @@ -103,7 +103,7 @@ public class SimplePluginRegistry, S> implements MutablePlug /* * (non-Javadoc) - * @see org.synyx.hera.core.PluginRegistry#getPluginsFor(java.lang.Object) + * @see org.springframework.plugin.core.PluginRegistry#getPluginsFor(java.lang.Object) */ public List getPluginsFor(S delimiter) { @@ -120,7 +120,7 @@ public class SimplePluginRegistry, S> implements MutablePlug /* * (non-Javadoc) - * @see org.synyx.hera.core.PluginRegistry#getPluginFor(java.lang.Object, java.lang.Exception) + * @see org.springframework.plugin.core.PluginRegistry#getPluginFor(java.lang.Object, java.lang.Exception) */ public T getPluginFor(S delimiter, E ex) throws E { @@ -135,7 +135,7 @@ public class SimplePluginRegistry, S> implements MutablePlug /* * (non-Javadoc) - * @see org.synyx.hera.core.PluginRegistry#getPluginsFor(java.lang.Object, java.lang.Exception) + * @see org.springframework.plugin.core.PluginRegistry#getPluginsFor(java.lang.Object, java.lang.Exception) */ public List getPluginsFor(S delimiter, E ex) throws E { @@ -150,7 +150,7 @@ public class SimplePluginRegistry, S> implements MutablePlug /* * (non-Javadoc) - * @see org.synyx.hera.core.PluginRegistry#getPluginFor(java.lang.Object, org.synyx.hera.core.Plugin) + * @see org.springframework.plugin.core.PluginRegistry#getPluginFor(java.lang.Object, org.springframework.plugin.core.Plugin) */ public T getPluginFor(S delimiter, T plugin) { @@ -161,7 +161,7 @@ public class SimplePluginRegistry, S> implements MutablePlug /* * (non-Javadoc) - * @see org.synyx.hera.core.PluginRegistry#getPluginsFor(java.lang.Object, java.util.List) + * @see org.springframework.plugin.core.PluginRegistry#getPluginsFor(java.lang.Object, java.util.List) */ public List getPluginsFor(S delimiter, List plugins) { @@ -172,7 +172,7 @@ public class SimplePluginRegistry, S> implements MutablePlug /* * (non-Javadoc) - * @see org.synyx.hera.core.PluginRegistry#countPlugins() + * @see org.springframework.plugin.core.PluginRegistry#countPlugins() */ public int countPlugins() { @@ -192,7 +192,7 @@ public class SimplePluginRegistry, S> implements MutablePlug /* * (non-Javadoc) - * @see org.synyx.hera.core.PluginRegistry#contains(org.synyx.hera.core.Plugin) + * @see org.springframework.plugin.core.PluginRegistry#contains(org.springframework.plugin.core.Plugin) */ public boolean contains(T plugin) { return this.plugins.contains(plugin); @@ -200,7 +200,7 @@ public class SimplePluginRegistry, S> implements MutablePlug /* * (non-Javadoc) - * @see org.synyx.hera.core.PluginRegistry#hasPluginFor(java.lang.Object) + * @see org.springframework.plugin.core.PluginRegistry#hasPluginFor(java.lang.Object) */ public boolean hasPluginFor(S delimter) { return null != getPluginFor(delimter); diff --git a/core/src/main/java/org/synyx/hera/core/config/PluginListDefinitionParser.java b/core/src/main/java/org/springframework/plugin/core/config/PluginListDefinitionParser.java similarity index 95% rename from core/src/main/java/org/synyx/hera/core/config/PluginListDefinitionParser.java rename to core/src/main/java/org/springframework/plugin/core/config/PluginListDefinitionParser.java index a59d816..04d54f6 100644 --- a/core/src/main/java/org/synyx/hera/core/config/PluginListDefinitionParser.java +++ b/core/src/main/java/org/springframework/plugin/core/config/PluginListDefinitionParser.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.core.config; +package org.springframework.plugin.core.config; import org.springframework.beans.factory.support.AbstractBeanDefinition; import org.springframework.beans.factory.support.BeanDefinitionBuilder; @@ -28,7 +28,7 @@ import org.w3c.dom.Element; */ public class PluginListDefinitionParser extends AbstractBeanDefinitionParser { - protected static final String PACKAGE = "org.synyx.hera.core.support."; + protected static final String PACKAGE = "org.springframework.plugin.core.support."; /** * Returns the name of the {@link org.springframework.beans.factory.config.BeanFactoryPostProcessor} to be registered. diff --git a/core/src/main/java/org/synyx/hera/core/config/PluginNamespaceHandler.java b/core/src/main/java/org/springframework/plugin/core/config/PluginNamespaceHandler.java similarity index 95% rename from core/src/main/java/org/synyx/hera/core/config/PluginNamespaceHandler.java rename to core/src/main/java/org/springframework/plugin/core/config/PluginNamespaceHandler.java index b09c34a..596810b 100644 --- a/core/src/main/java/org/synyx/hera/core/config/PluginNamespaceHandler.java +++ b/core/src/main/java/org/springframework/plugin/core/config/PluginNamespaceHandler.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.core.config; +package org.springframework.plugin.core.config; import org.springframework.beans.factory.xml.NamespaceHandlerSupport; diff --git a/core/src/main/java/org/synyx/hera/core/config/PluginRegistryDefinitionParser.java b/core/src/main/java/org/springframework/plugin/core/config/PluginRegistryDefinitionParser.java similarity index 87% rename from core/src/main/java/org/synyx/hera/core/config/PluginRegistryDefinitionParser.java rename to core/src/main/java/org/springframework/plugin/core/config/PluginRegistryDefinitionParser.java index 3bd448e..fc5b1ef 100644 --- a/core/src/main/java/org/synyx/hera/core/config/PluginRegistryDefinitionParser.java +++ b/core/src/main/java/org/springframework/plugin/core/config/PluginRegistryDefinitionParser.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.core.config; +package org.springframework.plugin.core.config; /** @@ -26,7 +26,7 @@ public class PluginRegistryDefinitionParser extends PluginListDefinitionParser { /* * (non-Javadoc) - * @see org.synyx.hera.core.config.PluginListDefinitionParser#getPostProcessorName() + * @see org.springframework.plugin.core.config.PluginListDefinitionParser#getPostProcessorName() */ @Override protected String getPostProcessorName() { diff --git a/core/src/main/java/org/synyx/hera/core/config/package-info.java b/core/src/main/java/org/springframework/plugin/core/config/package-info.java similarity index 71% rename from core/src/main/java/org/synyx/hera/core/config/package-info.java rename to core/src/main/java/org/springframework/plugin/core/config/package-info.java index c09bb6f..4d50322 100644 --- a/core/src/main/java/org/synyx/hera/core/config/package-info.java +++ b/core/src/main/java/org/springframework/plugin/core/config/package-info.java @@ -1,5 +1,5 @@ /** * This package contains configuration support classes to ease registry configuration with Spring namespaces. */ -package org.synyx.hera.core.config; +package org.springframework.plugin.core.config; diff --git a/core/src/main/java/org/synyx/hera/core/package-info.java b/core/src/main/java/org/springframework/plugin/core/package-info.java similarity index 84% rename from core/src/main/java/org/synyx/hera/core/package-info.java rename to core/src/main/java/org/springframework/plugin/core/package-info.java index 1c6518e..68f4545 100644 --- a/core/src/main/java/org/synyx/hera/core/package-info.java +++ b/core/src/main/java/org/springframework/plugin/core/package-info.java @@ -1,5 +1,5 @@ /** * This package contains the core plugin API. It allows other modules implementing components that extend functionality defined by a plugin interface. Plugin clients can be equipped with plugin implementations. */ -package org.synyx.hera.core; +package org.springframework.plugin.core; diff --git a/core/src/main/java/org/synyx/hera/core/support/AbstractTypeAwareSupport.java b/core/src/main/java/org/springframework/plugin/core/support/AbstractTypeAwareSupport.java similarity index 99% rename from core/src/main/java/org/synyx/hera/core/support/AbstractTypeAwareSupport.java rename to core/src/main/java/org/springframework/plugin/core/support/AbstractTypeAwareSupport.java index 3b44d5a..48cdfb1 100644 --- a/core/src/main/java/org/synyx/hera/core/support/AbstractTypeAwareSupport.java +++ b/core/src/main/java/org/springframework/plugin/core/support/AbstractTypeAwareSupport.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.core.support; +package org.springframework.plugin.core.support; import java.util.ArrayList; import java.util.Collection; diff --git a/core/src/main/java/org/synyx/hera/core/support/BeanListFactoryBean.java b/core/src/main/java/org/springframework/plugin/core/support/BeanListFactoryBean.java similarity index 97% rename from core/src/main/java/org/synyx/hera/core/support/BeanListFactoryBean.java rename to core/src/main/java/org/springframework/plugin/core/support/BeanListFactoryBean.java index d06b429..ea970b3 100644 --- a/core/src/main/java/org/synyx/hera/core/support/BeanListFactoryBean.java +++ b/core/src/main/java/org/springframework/plugin/core/support/BeanListFactoryBean.java @@ -13,7 +13,7 @@ * License for the specific language governing permissions and limitations under * the License. */ -package org.synyx.hera.core.support; +package org.springframework.plugin.core.support; import java.util.Collections; import java.util.Comparator; diff --git a/core/src/main/java/org/synyx/hera/core/support/PluginRegistryFactoryBean.java b/core/src/main/java/org/springframework/plugin/core/support/PluginRegistryFactoryBean.java similarity index 87% rename from core/src/main/java/org/synyx/hera/core/support/PluginRegistryFactoryBean.java rename to core/src/main/java/org/springframework/plugin/core/support/PluginRegistryFactoryBean.java index 3aae3b2..f12141a 100644 --- a/core/src/main/java/org/synyx/hera/core/support/PluginRegistryFactoryBean.java +++ b/core/src/main/java/org/springframework/plugin/core/support/PluginRegistryFactoryBean.java @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.core.support; +package org.springframework.plugin.core.support; import org.springframework.beans.factory.FactoryBean; -import org.synyx.hera.core.OrderAwarePluginRegistry; -import org.synyx.hera.core.Plugin; -import org.synyx.hera.core.PluginRegistry; +import org.springframework.plugin.core.OrderAwarePluginRegistry; +import org.springframework.plugin.core.Plugin; +import org.springframework.plugin.core.PluginRegistry; /** * {@link FactoryBean} to create {@link PluginRegistry} instances. Wraps a {@link BeanListFactoryBean}. diff --git a/core/src/main/java/org/synyx/hera/core/support/package-info.java b/core/src/main/java/org/springframework/plugin/core/support/package-info.java similarity index 75% rename from core/src/main/java/org/synyx/hera/core/support/package-info.java rename to core/src/main/java/org/springframework/plugin/core/support/package-info.java index ca5715c..04c072a 100644 --- a/core/src/main/java/org/synyx/hera/core/support/package-info.java +++ b/core/src/main/java/org/springframework/plugin/core/support/package-info.java @@ -1,5 +1,5 @@ /** * This package contains support classes to create bean lists or plugin registry instances out of beans implementing a certain interface. */ -package org.synyx.hera.core.support; +package org.springframework.plugin.core.support; diff --git a/core/src/main/resources/META-INF/spring.handlers b/core/src/main/resources/META-INF/spring.handlers index 4da21bc..99d9f28 100644 --- a/core/src/main/resources/META-INF/spring.handlers +++ b/core/src/main/resources/META-INF/spring.handlers @@ -1 +1 @@ -http\://schemas.synyx.org/hera=org.synyx.hera.core.config.PluginNamespaceHandler \ No newline at end of file +http\://www.springframework.org/schema/plugin=org.springframework.plugin.core.config.PluginNamespaceHandler \ No newline at end of file diff --git a/core/src/main/resources/META-INF/spring.schemas b/core/src/main/resources/META-INF/spring.schemas index 6d65888..8094178 100644 --- a/core/src/main/resources/META-INF/spring.schemas +++ b/core/src/main/resources/META-INF/spring.schemas @@ -1 +1 @@ -http\://schemas.synyx.org/hera/hera.xsd=org/synyx/hera/core/config/hera.xsd \ No newline at end of file +http\://www.springframework.org/schema/plugin/spring-plugin.xsd=org/springframework/plugin/core/config/spring-plugin.xsd \ No newline at end of file diff --git a/core/src/main/resources/META-INF/spring.tooling b/core/src/main/resources/META-INF/spring.tooling index 29e8f26..998b903 100644 --- a/core/src/main/resources/META-INF/spring.tooling +++ b/core/src/main/resources/META-INF/spring.tooling @@ -1,4 +1,4 @@ -# Tooling related information for the Hera namespace -http\://schemas.synyx.org/hera@name=Hera Namespace -http\://schemas.synyx.org/hera@prefix=hera -http\://schemas.synyx.org/hera@icon=org/springframework/beans/factory/xml/spring-beans.gif \ No newline at end of file +# Tooling related information for the Spring Plugin namespace +http\://www.springframework.org/schema/plugin@name=Spring Plugin Namespace +http\://www.springframework.org/schema/plugin@prefix=plugin +http\://www.springframework.org/schema/plugin@icon=org/springframework/beans/factory/xml/spring-beans.gif \ No newline at end of file diff --git a/core/src/main/resources/org/synyx/hera/core/config/hera.xsd b/core/src/main/resources/org/springframework/plugin/core/config/spring-plugin.xsd similarity index 91% rename from core/src/main/resources/org/synyx/hera/core/config/hera.xsd rename to core/src/main/resources/org/springframework/plugin/core/config/spring-plugin.xsd index b855303..643be74 100644 --- a/core/src/main/resources/org/synyx/hera/core/config/hera.xsd +++ b/core/src/main/resources/org/springframework/plugin/core/config/spring-plugin.xsd @@ -1,8 +1,8 @@ - diff --git a/core/src/test/java/org/synyx/hera/core/AbstractMutablePluginRegistryUnitTest.java b/core/src/test/java/org/springframework/plugin/core/AbstractMutablePluginRegistryUnitTest.java similarity index 93% rename from core/src/test/java/org/synyx/hera/core/AbstractMutablePluginRegistryUnitTest.java rename to core/src/test/java/org/springframework/plugin/core/AbstractMutablePluginRegistryUnitTest.java index afba294..7462603 100644 --- a/core/src/test/java/org/synyx/hera/core/AbstractMutablePluginRegistryUnitTest.java +++ b/core/src/test/java/org/springframework/plugin/core/AbstractMutablePluginRegistryUnitTest.java @@ -13,12 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.core; +package org.springframework.plugin.core; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; import org.junit.Test; +import org.springframework.plugin.core.MutablePluginRegistry; /** * Unit test for implementations of {@link MutablePluginRegistry}. diff --git a/core/src/test/java/org/synyx/hera/core/OrderAwarePluginRegistryUnitTest.java b/core/src/test/java/org/springframework/plugin/core/OrderAwarePluginRegistryUnitTest.java similarity index 88% rename from core/src/test/java/org/synyx/hera/core/OrderAwarePluginRegistryUnitTest.java rename to core/src/test/java/org/springframework/plugin/core/OrderAwarePluginRegistryUnitTest.java index 99ae58a..ee266df 100644 --- a/core/src/test/java/org/synyx/hera/core/OrderAwarePluginRegistryUnitTest.java +++ b/core/src/test/java/org/springframework/plugin/core/OrderAwarePluginRegistryUnitTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.core; +package org.springframework.plugin.core; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; @@ -25,6 +25,10 @@ import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.springframework.core.annotation.Order; +import org.springframework.plugin.core.MutablePluginRegistry; +import org.springframework.plugin.core.OrderAwarePluginRegistry; +import org.springframework.plugin.core.Plugin; +import org.springframework.plugin.core.PluginRegistry; /** * Unit test for {@link OrderAwarePluginRegistry} that especially concentrates on testing ordering functionality. @@ -104,7 +108,7 @@ public class OrderAwarePluginRegistryUnitTest extends SimplePluginRegistryUnitTe /* * (non-Javadoc) * - * @see org.synyx.hera.core.Plugin#supports(java.lang.Object) + * @see org.springframework.plugin.core.Plugin#supports(java.lang.Object) */ public boolean supports(String delimiter) { @@ -118,7 +122,7 @@ public class OrderAwarePluginRegistryUnitTest extends SimplePluginRegistryUnitTe /* * (non-Javadoc) * - * @see org.synyx.hera.core.Plugin#supports(java.lang.Object) + * @see org.springframework.plugin.core.Plugin#supports(java.lang.Object) */ public boolean supports(String delimiter) { diff --git a/core/src/test/java/org/synyx/hera/core/SamplePlugin.java b/core/src/test/java/org/springframework/plugin/core/SamplePlugin.java similarity index 89% rename from core/src/test/java/org/synyx/hera/core/SamplePlugin.java rename to core/src/test/java/org/springframework/plugin/core/SamplePlugin.java index bb2f09f..c86e276 100644 --- a/core/src/test/java/org/synyx/hera/core/SamplePlugin.java +++ b/core/src/test/java/org/springframework/plugin/core/SamplePlugin.java @@ -13,7 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.core; +package org.springframework.plugin.core; + +import org.springframework.plugin.core.Plugin; /** * @author Oliver Gierke diff --git a/core/src/test/java/org/synyx/hera/core/SamplePluginHost.java b/core/src/test/java/org/springframework/plugin/core/SamplePluginHost.java similarity index 86% rename from core/src/test/java/org/synyx/hera/core/SamplePluginHost.java rename to core/src/test/java/org/springframework/plugin/core/SamplePluginHost.java index ae361d6..c029f5e 100644 --- a/core/src/test/java/org/synyx/hera/core/SamplePluginHost.java +++ b/core/src/test/java/org/springframework/plugin/core/SamplePluginHost.java @@ -13,7 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.core; +package org.springframework.plugin.core; + +import org.springframework.plugin.core.PluginRegistry; +import org.springframework.plugin.core.SimplePluginRegistry; /** * @author Oliver Gierke diff --git a/core/src/test/java/org/synyx/hera/core/SamplePluginImplementation.java b/core/src/test/java/org/springframework/plugin/core/SamplePluginImplementation.java similarity index 82% rename from core/src/test/java/org/synyx/hera/core/SamplePluginImplementation.java rename to core/src/test/java/org/springframework/plugin/core/SamplePluginImplementation.java index 7cfc7e6..744b764 100644 --- a/core/src/test/java/org/synyx/hera/core/SamplePluginImplementation.java +++ b/core/src/test/java/org/springframework/plugin/core/SamplePluginImplementation.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.core; +package org.springframework.plugin.core; /** * @author Oliver Gierke @@ -22,7 +22,7 @@ public class SamplePluginImplementation implements SamplePlugin { /* * (non-Javadoc) - * @see org.synyx.hera.core.Plugin#supports(java.lang.Object) + * @see org.springframework.plugin.core.Plugin#supports(java.lang.Object) */ public boolean supports(String delimiter) { return "FOO".equals(delimiter); @@ -30,7 +30,7 @@ public class SamplePluginImplementation implements SamplePlugin { /* * (non-Javadoc) - * @see org.synyx.hera.core.SamplePlugin#pluginMethod() + * @see org.springframework.plugin.core.SamplePlugin#pluginMethod() */ public void pluginMethod() { diff --git a/core/src/test/java/org/synyx/hera/core/SimplePluginRegistryUnitTest.java b/core/src/test/java/org/springframework/plugin/core/SimplePluginRegistryUnitTest.java similarity index 92% rename from core/src/test/java/org/synyx/hera/core/SimplePluginRegistryUnitTest.java rename to core/src/test/java/org/springframework/plugin/core/SimplePluginRegistryUnitTest.java index 37bb8c5..2b4a102 100644 --- a/core/src/test/java/org/synyx/hera/core/SimplePluginRegistryUnitTest.java +++ b/core/src/test/java/org/springframework/plugin/core/SimplePluginRegistryUnitTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.synyx.hera.core; +package org.springframework.plugin.core; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; @@ -24,6 +24,9 @@ import java.util.List; import org.junit.Before; import org.junit.Test; +import org.springframework.plugin.core.MutablePluginRegistry; +import org.springframework.plugin.core.Plugin; +import org.springframework.plugin.core.SimplePluginRegistry; /** * Unit test for {@link SimplePluginRegistry}. @@ -48,7 +51,7 @@ public class SimplePluginRegistryUnitTest extends AbstractMutablePluginRegistryU /* * (non-Javadoc) - * @see org.synyx.hera.core.AbstractMutablePluginRegistryUnitTest#getRegistry() + * @see org.springframework.plugin.core.AbstractMutablePluginRegistryUnitTest#getRegistry() */ @Override protected MutablePluginRegistry getRegistry() { diff --git a/core/src/test/java/org/synyx/hera/core/config/PluginConfigurationIntegrationTest.java b/core/src/test/java/org/springframework/plugin/core/config/PluginConfigurationIntegrationTest.java similarity index 89% rename from core/src/test/java/org/synyx/hera/core/config/PluginConfigurationIntegrationTest.java rename to core/src/test/java/org/springframework/plugin/core/config/PluginConfigurationIntegrationTest.java index 162cf04..e45dbc5 100644 --- a/core/src/test/java/org/synyx/hera/core/config/PluginConfigurationIntegrationTest.java +++ b/core/src/test/java/org/springframework/plugin/core/config/PluginConfigurationIntegrationTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.core.config; +package org.springframework.plugin.core.config; import static org.junit.Assert.*; @@ -23,11 +23,11 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.plugin.core.PluginRegistry; +import org.springframework.plugin.core.SamplePlugin; +import org.springframework.plugin.core.SamplePluginHost; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.synyx.hera.core.PluginRegistry; -import org.synyx.hera.core.SamplePlugin; -import org.synyx.hera.core.SamplePluginHost; /** * Integration test to simply check if the configuration gets parsed correctly. diff --git a/core/src/test/java/org/synyx/hera/core/support/BeanListFactoryBeanUnitTest.java b/core/src/test/java/org/springframework/plugin/core/support/BeanListFactoryBeanUnitTest.java similarity index 95% rename from core/src/test/java/org/synyx/hera/core/support/BeanListFactoryBeanUnitTest.java rename to core/src/test/java/org/springframework/plugin/core/support/BeanListFactoryBeanUnitTest.java index 5e6f8b5..142dd67 100644 --- a/core/src/test/java/org/synyx/hera/core/support/BeanListFactoryBeanUnitTest.java +++ b/core/src/test/java/org/springframework/plugin/core/support/BeanListFactoryBeanUnitTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.core.support; +package org.springframework.plugin.core.support; import static org.junit.Assert.*; import static org.mockito.Mockito.*; @@ -29,6 +29,7 @@ import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import org.springframework.context.ApplicationContext; import org.springframework.core.Ordered; +import org.springframework.plugin.core.support.BeanListFactoryBean; /** * Unit test for {@link BeanListFactoryBean}. diff --git a/core/src/test/resources/application-context.xml b/core/src/test/resources/application-context.xml index c7d4ec7..fa672a7 100644 --- a/core/src/test/resources/application-context.xml +++ b/core/src/test/resources/application-context.xml @@ -1,23 +1,23 @@ + http://www.springframework.org/schema/plugin http://www.springframework.org/schema/plugin/spring-plugin.xsd"> - + - + - + - + - + - + diff --git a/core/src/test/resources/log4j.properties b/core/src/test/resources/log4j.properties index 7e1b088..4622ffa 100644 --- a/core/src/test/resources/log4j.properties +++ b/core/src/test/resources/log4j.properties @@ -9,4 +9,4 @@ log4j.rootLogger=WARN, stdout # Hibernate logging options (INFO only shows startup messages) log4j.logger.org.springframework=INFO -log4j.logger.org.synyx.hera=DEBUG \ No newline at end of file +log4j.logger.org.springframework.plugin=DEBUG \ No newline at end of file diff --git a/core/template.mf b/core/template.mf index 43ef5a6..c22de24 100644 --- a/core/template.mf +++ b/core/template.mf @@ -1,11 +1,11 @@ Bundle-ManifestVersion: 2 Bundle-SymbolicName: ${project.artifactId} Bundle-Name: ${project.name} -Bundle-Vendor: Synyx GmbH & Co. KG +Bundle-Vendor: SpringSource, a division of VMware Bundle-Version: ${project.version} -Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Bundle-RequiredExecutionEnvironment: J2SE-1.6 Export-Template: - ${project.artifactId}.*;version="${project.version}" + org.springframework.plugin.core.*;version="${project.version}" Import-Template: - org.springframework.*;version="${spring.version:[=.=.=.=,+2.0.0)}", + org.springframework.*;version="${spring.version:[=.=.=.=,+1.0.0)}", org.w3c.dom.*;version="0.0.0" diff --git a/si/pom.xml b/integration/pom.xml similarity index 80% rename from si/pom.xml rename to integration/pom.xml index a8464f1..5cc6202 100644 --- a/si/pom.xml +++ b/integration/pom.xml @@ -1,14 +1,15 @@ 4.0.0 + - org.synyx.hera - org.synyx.hera + org.springframework.plugin + spring-plugin 0.8.0.BUILD-SNAPSHOT - org.synyx.hera - org.synyx.hera.si - 0.8.0.BUILD-SNAPSHOT - Hera Spring Integration integration + + spring-plugin-si + + Spring Plugin Spring Integration integration 2.0.5.RELEASE @@ -17,7 +18,7 @@ ${project.groupId} - org.synyx.hera.core + spring-plugin-core ${project.version} diff --git a/si/src/main/java/org/synyx/hera/si/PluginRegistryAwareMessageHandler.java b/integration/src/main/java/org/springframework/plugin/integration/PluginRegistryAwareMessageHandler.java similarity index 97% rename from si/src/main/java/org/synyx/hera/si/PluginRegistryAwareMessageHandler.java rename to integration/src/main/java/org/springframework/plugin/integration/PluginRegistryAwareMessageHandler.java index bf9de08..b9d3f82 100644 --- a/si/src/main/java/org/synyx/hera/si/PluginRegistryAwareMessageHandler.java +++ b/integration/src/main/java/org/springframework/plugin/integration/PluginRegistryAwareMessageHandler.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.si; +package org.springframework.plugin.integration; import java.lang.reflect.Method; import java.util.ArrayList; @@ -32,13 +32,13 @@ import org.springframework.expression.spel.support.StandardEvaluationContext; import org.springframework.integration.Message; import org.springframework.integration.MessageHandlingException; import org.springframework.integration.handler.AbstractReplyProducingMessageHandler; +import org.springframework.plugin.core.OrderAwarePluginRegistry; +import org.springframework.plugin.core.Plugin; +import org.springframework.plugin.core.PluginRegistry; import org.springframework.util.Assert; import org.springframework.util.ObjectUtils; import org.springframework.util.ReflectionUtils; import org.springframework.util.StringUtils; -import org.synyx.hera.core.OrderAwarePluginRegistry; -import org.synyx.hera.core.Plugin; -import org.synyx.hera.core.PluginRegistry; /** * Dynamic service activator that uses a {@link PluginRegistry} to delegate execution to one or more plugins matching a diff --git a/si/src/main/java/org/synyx/hera/si/config/DynamicServiceActivatorParser.java b/integration/src/main/java/org/springframework/plugin/integration/config/DynamicServiceActivatorParser.java similarity index 93% rename from si/src/main/java/org/synyx/hera/si/config/DynamicServiceActivatorParser.java rename to integration/src/main/java/org/springframework/plugin/integration/config/DynamicServiceActivatorParser.java index 8f9048b..9e0332d 100644 --- a/si/src/main/java/org/synyx/hera/si/config/DynamicServiceActivatorParser.java +++ b/integration/src/main/java/org/springframework/plugin/integration/config/DynamicServiceActivatorParser.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.si.config; +package org.springframework.plugin.integration.config; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.support.AbstractBeanDefinition; @@ -21,9 +21,9 @@ import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.xml.BeanDefinitionParser; import org.springframework.beans.factory.xml.ParserContext; import org.springframework.integration.config.xml.AbstractConsumerEndpointParser; +import org.springframework.plugin.core.support.PluginRegistryFactoryBean; +import org.springframework.plugin.integration.PluginRegistryAwareMessageHandler; import org.springframework.util.StringUtils; -import org.synyx.hera.core.support.PluginRegistryFactoryBean; -import org.synyx.hera.si.PluginRegistryAwareMessageHandler; import org.w3c.dom.Element; /** diff --git a/si/src/main/java/org/synyx/hera/si/config/HeraSpringIntegrationNamespaceHandler.java b/integration/src/main/java/org/springframework/plugin/integration/config/SpringPluginSpringIntegrationNamespaceHandler.java similarity index 88% rename from si/src/main/java/org/synyx/hera/si/config/HeraSpringIntegrationNamespaceHandler.java rename to integration/src/main/java/org/springframework/plugin/integration/config/SpringPluginSpringIntegrationNamespaceHandler.java index afd504a..8b0267c 100644 --- a/si/src/main/java/org/synyx/hera/si/config/HeraSpringIntegrationNamespaceHandler.java +++ b/integration/src/main/java/org/springframework/plugin/integration/config/SpringPluginSpringIntegrationNamespaceHandler.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.si.config; +package org.springframework.plugin.integration.config; import org.springframework.beans.factory.xml.BeanDefinitionParser; import org.springframework.beans.factory.xml.NamespaceHandler; @@ -24,7 +24,7 @@ import org.springframework.beans.factory.xml.NamespaceHandlerSupport; * * @author Oliver Gierke */ -public class HeraSpringIntegrationNamespaceHandler extends NamespaceHandlerSupport { +public class SpringPluginSpringIntegrationNamespaceHandler extends NamespaceHandlerSupport { /* * (non-Javadoc) diff --git a/integration/src/main/resources/META-INF/spring.handlers b/integration/src/main/resources/META-INF/spring.handlers new file mode 100644 index 0000000..fde326d --- /dev/null +++ b/integration/src/main/resources/META-INF/spring.handlers @@ -0,0 +1 @@ +http\://www.springframework.org/schema/plugin/integration=org.springframework.plugin.integration.config.SpringPluginSpringIntegrationNamespaceHandler \ No newline at end of file diff --git a/integration/src/main/resources/META-INF/spring.schemas b/integration/src/main/resources/META-INF/spring.schemas new file mode 100644 index 0000000..9e794dd --- /dev/null +++ b/integration/src/main/resources/META-INF/spring.schemas @@ -0,0 +1 @@ +http\://www.springframework.org/schema/plugin/integration/spring-plugin-integration.xsd=org/springframework/plugin/integration/config/spring-plugin-integration.xsd \ No newline at end of file diff --git a/integration/src/main/resources/META-INF/spring.tooling b/integration/src/main/resources/META-INF/spring.tooling new file mode 100644 index 0000000..597023f --- /dev/null +++ b/integration/src/main/resources/META-INF/spring.tooling @@ -0,0 +1,4 @@ +# Tooling related information for the Spring Plugin Integration namespace +http\://www.springframework.org/schema/plugin/integration@name=Spring Plugin Spring Integration Namespace +http\://www.springframework.org/schema/plugin/integration@prefix=int-plugin +http\://www.springframework.org/schema/plugin/integration@icon=org/springframework/beans/factory/xml/spring-beans.gif \ No newline at end of file diff --git a/si/src/main/resources/org/synyx/hera/si/config/hera-si.xsd b/integration/src/main/resources/org/springframework/plugin/integration/config/spring-plugin-integration.xsd similarity index 91% rename from si/src/main/resources/org/synyx/hera/si/config/hera-si.xsd rename to integration/src/main/resources/org/springframework/plugin/integration/config/spring-plugin-integration.xsd index 2df6932..5d61c3a 100644 --- a/si/src/main/resources/org/synyx/hera/si/config/hera-si.xsd +++ b/integration/src/main/resources/org/springframework/plugin/integration/config/spring-plugin-integration.xsd @@ -1,8 +1,8 @@ - @@ -15,7 +15,7 @@ allows dynamic invocation of Spring beans implementing the plugin interface defined in "plugin-type". We will dynamically pick up all Spring beans implementing that interface and create a PluginRegistry - of those. See org.synyx.hera.si.PluginRegistryAwareMessageHandler for + of those. See org.springframework.plugin.integration.PluginRegistryAwareMessageHandler for details. diff --git a/si/src/test/java/org/synyx/hera/si/PluginRegistryAwareMessageHandlerUnitTest.java b/integration/src/test/java/org/springframework/plugin/integration/PluginRegistryAwareMessageHandlerUnitTest.java similarity index 85% rename from si/src/test/java/org/synyx/hera/si/PluginRegistryAwareMessageHandlerUnitTest.java rename to integration/src/test/java/org/springframework/plugin/integration/PluginRegistryAwareMessageHandlerUnitTest.java index abdaf22..f981414 100644 --- a/si/src/test/java/org/synyx/hera/si/PluginRegistryAwareMessageHandlerUnitTest.java +++ b/integration/src/test/java/org/springframework/plugin/integration/PluginRegistryAwareMessageHandlerUnitTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.si; +package org.springframework.plugin.integration; import static org.hamcrest.CoreMatchers.*; import static org.junit.Assert.*; @@ -32,11 +32,12 @@ import org.springframework.integration.Message; import org.springframework.integration.MessageChannel; import org.springframework.integration.MessageHandlingException; import org.springframework.integration.support.MessageBuilder; -import org.synyx.hera.core.OrderAwarePluginRegistry; -import org.synyx.hera.core.PluginRegistry; -import org.synyx.hera.si.sample.FirstSamplePluginImpl; -import org.synyx.hera.si.sample.SamplePlugin; -import org.synyx.hera.si.sample.SecondSamplePluginImpl; +import org.springframework.plugin.core.OrderAwarePluginRegistry; +import org.springframework.plugin.core.PluginRegistry; +import org.springframework.plugin.integration.PluginRegistryAwareMessageHandler; +import org.springframework.plugin.integration.sample.FirstSamplePluginImpl; +import org.springframework.plugin.integration.sample.SamplePlugin; +import org.springframework.plugin.integration.sample.SecondSamplePluginImpl; /** * Unit tests for {@link PluginRegistryAwareMessageHandler}. diff --git a/si/src/test/java/org/synyx/hera/si/config/DynamicServiceActivatorNamespaceIntegrationTest.java b/integration/src/test/java/org/springframework/plugin/integration/config/DynamicServiceActivatorNamespaceIntegrationTest.java similarity index 97% rename from si/src/test/java/org/synyx/hera/si/config/DynamicServiceActivatorNamespaceIntegrationTest.java rename to integration/src/test/java/org/springframework/plugin/integration/config/DynamicServiceActivatorNamespaceIntegrationTest.java index bfd1871..50f998f 100644 --- a/si/src/test/java/org/synyx/hera/si/config/DynamicServiceActivatorNamespaceIntegrationTest.java +++ b/integration/src/test/java/org/springframework/plugin/integration/config/DynamicServiceActivatorNamespaceIntegrationTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.si.config; +package org.springframework.plugin.integration.config; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/si/src/test/java/org/synyx/hera/si/sample/FirstSamplePluginImpl.java b/integration/src/test/java/org/springframework/plugin/integration/sample/FirstSamplePluginImpl.java similarity index 81% rename from si/src/test/java/org/synyx/hera/si/sample/FirstSamplePluginImpl.java rename to integration/src/test/java/org/springframework/plugin/integration/sample/FirstSamplePluginImpl.java index 2f0b4bf..5105778 100644 --- a/si/src/test/java/org/synyx/hera/si/sample/FirstSamplePluginImpl.java +++ b/integration/src/test/java/org/springframework/plugin/integration/sample/FirstSamplePluginImpl.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.si.sample; +package org.springframework.plugin.integration.sample; /** * @author Oliver Gierke @@ -22,7 +22,7 @@ public class FirstSamplePluginImpl implements SamplePlugin { /* * (non-Javadoc) - * @see org.synyx.hera.core.Plugin#supports(java.lang.Object) + * @see org.springframework.plugin.core.Plugin#supports(java.lang.Object) */ public boolean supports(String delimiter) { return "FOO".equals(delimiter); @@ -30,7 +30,7 @@ public class FirstSamplePluginImpl implements SamplePlugin { /* * (non-Javadoc) - * @see org.synyx.hera.si.sample.SamplePlugin#myBusinessMethod() + * @see org.springframework.plugin.integration.sample.SamplePlugin#myBusinessMethod() */ public String myBusinessMethod(String message) { System.out.println("First plugin invoked! " + message); diff --git a/si/src/test/java/org/synyx/hera/si/sample/SamplePlugin.java b/integration/src/test/java/org/springframework/plugin/integration/sample/SamplePlugin.java similarity index 88% rename from si/src/test/java/org/synyx/hera/si/sample/SamplePlugin.java rename to integration/src/test/java/org/springframework/plugin/integration/sample/SamplePlugin.java index fd5fa8b..a20860b 100644 --- a/si/src/test/java/org/synyx/hera/si/sample/SamplePlugin.java +++ b/integration/src/test/java/org/springframework/plugin/integration/sample/SamplePlugin.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.si.sample; +package org.springframework.plugin.integration.sample; -import org.synyx.hera.core.Plugin; +import org.springframework.plugin.core.Plugin; /** * @author Oliver Gierke diff --git a/si/src/test/java/org/synyx/hera/si/sample/SecondSamplePluginImpl.java b/integration/src/test/java/org/springframework/plugin/integration/sample/SecondSamplePluginImpl.java similarity index 83% rename from si/src/test/java/org/synyx/hera/si/sample/SecondSamplePluginImpl.java rename to integration/src/test/java/org/springframework/plugin/integration/sample/SecondSamplePluginImpl.java index 9019995..49cd3c0 100644 --- a/si/src/test/java/org/synyx/hera/si/sample/SecondSamplePluginImpl.java +++ b/integration/src/test/java/org/springframework/plugin/integration/sample/SecondSamplePluginImpl.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.si.sample; +package org.springframework.plugin.integration.sample; import org.springframework.core.annotation.Order; @@ -27,7 +27,7 @@ public class SecondSamplePluginImpl implements SamplePlugin { /* * (non-Javadoc) - * @see org.synyx.hera.core.Plugin#supports(java.lang.Object) + * @see org.springframework.plugin.core.Plugin#supports(java.lang.Object) */ public boolean supports(String delimiter) { return "BAR".equals(delimiter); @@ -35,7 +35,7 @@ public class SecondSamplePluginImpl implements SamplePlugin { /* * (non-Javadoc) - * @see org.synyx.hera.si.sample.SamplePlugin#myBusinessMethod() + * @see org.springframework.plugin.integration.sample.SamplePlugin#myBusinessMethod() */ public String myBusinessMethod(String message) { System.out.println("Second plugin invoked! " + message); diff --git a/si/src/test/java/org/synyx/hera/si/sample/ThirdSamplePluginImpl.java b/integration/src/test/java/org/springframework/plugin/integration/sample/ThirdSamplePluginImpl.java similarity index 84% rename from si/src/test/java/org/synyx/hera/si/sample/ThirdSamplePluginImpl.java rename to integration/src/test/java/org/springframework/plugin/integration/sample/ThirdSamplePluginImpl.java index 91c803a..811a663 100644 --- a/si/src/test/java/org/synyx/hera/si/sample/ThirdSamplePluginImpl.java +++ b/integration/src/test/java/org/springframework/plugin/integration/sample/ThirdSamplePluginImpl.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.si.sample; +package org.springframework.plugin.integration.sample; import org.springframework.core.annotation.Order; @@ -27,7 +27,7 @@ class ThirdSamplePluginImpl implements SamplePlugin { /* * (non-Javadoc) - * @see org.synyx.hera.core.Plugin#supports(java.lang.Object) + * @see org.springframework.plugin.core.Plugin#supports(java.lang.Object) */ public boolean supports(String delimiter) { return "BAR".equals(delimiter); @@ -35,7 +35,7 @@ class ThirdSamplePluginImpl implements SamplePlugin { /* * (non-Javadoc) - * @see org.synyx.hera.si.sample.SamplePlugin#myBusinessMethod() + * @see org.springframework.plugin.integration.sample.SamplePlugin#myBusinessMethod() */ public String myBusinessMethod(String message) { System.out.println("Second plugin invoked! " + message); diff --git a/si/src/test/resources/dynamic-service-activator-test-context.xml b/integration/src/test/resources/dynamic-service-activator-test-context.xml similarity index 57% rename from si/src/test/resources/dynamic-service-activator-test-context.xml rename to integration/src/test/resources/dynamic-service-activator-test-context.xml index 92525b4..46ab2d3 100644 --- a/si/src/test/resources/dynamic-service-activator-test-context.xml +++ b/integration/src/test/resources/dynamic-service-activator-test-context.xml @@ -2,18 +2,18 @@ + http://www.springframework.org/schema/plugin/integration http://www.springframework.org/schema/plugin/integration/spring-plugin-integration.xsd"> - - + + - diff --git a/si/src/test/resources/log4j.properties b/integration/src/test/resources/log4j.properties similarity index 100% rename from si/src/test/resources/log4j.properties rename to integration/src/test/resources/log4j.properties diff --git a/si/template.mf b/integration/template.mf similarity index 52% rename from si/template.mf rename to integration/template.mf index a57881d..8c8c9a5 100644 --- a/si/template.mf +++ b/integration/template.mf @@ -1,14 +1,14 @@ Bundle-ManifestVersion: 2 Bundle-SymbolicName: ${project.artifactId} Bundle-Name: ${project.name} -Bundle-Vendor: Synyx GmbH & Co. KG +Bundle-Vendor: SpringSource, a division of VMware Bundle-Version: ${project.version} -Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Bundle-RequiredExecutionEnvironment: J2SE-1.6 Export-Template: - ${project.artifactId}.*;version="${project.version}" + org.springframework.plugin.integration.*;version="${project.version}" Import-Template: org.apache.commons.logging.*;version="[1.1.0,2.0.0)", - org.synyx.hera.core.*;version="${project.version:[=.=.=.=,+1.0.0)}", - org.springframework.*;version="${spring.version:[=.=.=.=,+2.0.0)}", + org.springframework.*;version="${spring.version:[=.=.=.=,+1.0.0)}", org.springframework.integration.*;version="${spring.integration.version:[=.=.=.=,+1.0.0)}", + org.springframework.plugin.core.*;version="${project.version:[=.=.=.=,+1.0.0)}", org.w3c.dom.*;version="0" diff --git a/metadata/pom.xml b/metadata/pom.xml index 4c43e7f..b4a4e84 100644 --- a/metadata/pom.xml +++ b/metadata/pom.xml @@ -1,20 +1,20 @@ 4.0.0 - org.synyx.hera.metadata + spring-plugin-metadata - Hera Metadata Extension + Spring Plugin Metadata Extension Extension package for metadata based plugins - org.synyx.hera - org.synyx.hera + org.springframework.plugin + spring-plugin 0.8.0.BUILD-SNAPSHOT - org.synyx.hera - org.synyx.hera.core + ${project.groupId} + spring-plugin-core ${project.version} diff --git a/metadata/src/doc/metadata.xml b/metadata/src/doc/metadata.xml index 35713d6..efa1194 100644 --- a/metadata/src/doc/metadata.xml +++ b/metadata/src/doc/metadata.xml @@ -1,11 +1,13 @@ + Metadata For plugin architectures it is essential to capture metadata information about plugin instances. A very core set of metadata (name, version) also serves as identifier of a plugin and thus can be used. The - Hera metadata module provides support to capture metadata. + Spring Plugin metadata module provides support to capture metadata.
Core concepts @@ -34,11 +36,11 @@ public interface MetadataProvider { The PluginMetadata interface captures the required properties to define an identifyable plugin. This means, that implementations should ensure uniqueness through these two properties. - With SimplePluginMetadata Hera provides a Java bean - style class to capture metadata. Of course applications can and should - provide extended metadata information according to their needs. The very - narrow interface is only targeted at integrating the metadata concept with - the PluginRegistry (see SimplePluginMetadata Spring Plugin provides a + Java bean style class to capture metadata. Of course applications can and + should provide extended metadata information according to their needs. The + very narrow interface is only targeted at integrating the metadata concept + with the PluginRegistry (see ) without bothering developers with too much information required. @@ -52,4 +54,4 @@ public interface MetadataProvider { could store the metadata in user specific configuration files and use this to select a distinct plugin specific to a given user.
-
\ No newline at end of file + diff --git a/metadata/src/main/java/META-INF/MANIFEST.MF b/metadata/src/main/java/META-INF/MANIFEST.MF deleted file mode 100644 index 5e94951..0000000 --- a/metadata/src/main/java/META-INF/MANIFEST.MF +++ /dev/null @@ -1,3 +0,0 @@ -Manifest-Version: 1.0 -Class-Path: - diff --git a/metadata/src/main/java/org/synyx/hera/metadata/AbstractMetadataBasedPlugin.java b/metadata/src/main/java/org/springframework/plugin/metadata/AbstractMetadataBasedPlugin.java similarity index 84% rename from metadata/src/main/java/org/synyx/hera/metadata/AbstractMetadataBasedPlugin.java rename to metadata/src/main/java/org/springframework/plugin/metadata/AbstractMetadataBasedPlugin.java index b64e6d1..bcb092a 100644 --- a/metadata/src/main/java/org/synyx/hera/metadata/AbstractMetadataBasedPlugin.java +++ b/metadata/src/main/java/org/springframework/plugin/metadata/AbstractMetadataBasedPlugin.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.synyx.hera.metadata; +package org.springframework.plugin.metadata; -import org.synyx.hera.core.Plugin; -import org.synyx.hera.core.PluginRegistry; +import org.springframework.plugin.core.Plugin; +import org.springframework.plugin.core.PluginRegistry; /** * Abstract base class for plugins based on {@link PluginMetadata}. Plugins based on this class can be selected from the @@ -41,7 +41,7 @@ public abstract class AbstractMetadataBasedPlugin implements Plugin 4.0.0 - org.synyx.hera - org.synyx.hera + org.springframework.plugin + spring-plugin pom - Hera + Spring Plugin 0.8.0.BUILD-SNAPSHOT Simple plugin infrastructure - Synyx GmbH & Co. KG - http://www.synyx.org + SpringSource, a division of VMware + http://www.springsource.org 2008 - http://hera.synyx.org + https://github.com/SpringSource/spring-plugin @@ -40,11 +40,11 @@ core metadata - si + integration - 3.0.6.RELEASE + 3.0.7.RELEASE @@ -82,7 +82,6 @@ test
- @@ -149,41 +148,6 @@ resources/styles.css true - - - StellaLining - - normal - ${basedir}/src/doc/layout/pdf/fonts/SteLiR__.ttf - ${basedir}/src/doc/layout/pdf/fonts/SteLiR__.xml - - - StellaLining - - normal - ${basedir}/src/doc/layout/pdf/fonts/SteLiI__.ttf - ${basedir}/src/doc/layout/pdf/fonts/SteLiI__.xml - - - StellaLining - - bold - ${basedir}/src/doc/layout/pdf/fonts/SteLiB__.ttf - ${basedir}/src/doc/layout/pdf/fonts/SteLiB__.xml - - - StellaLining - - bold - - ${basedir}/src/doc/layout/pdf/fonts/SteLiBI_.ttf - - - ${basedir}/src/doc/layout/pdf/fonts/SteLiBI_.xml - - - - @@ -327,48 +291,22 @@ - http://svn.synyx.org/synyx/opensource/hera - scm:svn:http://svn.synyx.org/synyx/opensource/hera - scm:svn:https://svn.synyx.de/svn/synyx/opensource/hera + https://github.com/SpringSource/spring-plugin - Hudson + Bamboo - Redmine - http://hera.synyx.org + Github + https://github.com/SpringSource/spring-plugin/issues - - - static.synyx.org - scp://static.synyx.org/home/public/public_html/hera/site - - - sonatype - https://oss.sonatype.org/service/local/staging/deploy/maven2 - - - sonatype - https://oss.sonatype.org/content/repositories/snapshots - - - - com.springsource.repository.bundles.release - SpringSource Enterprise Bundle Repository - Release Bundles - http://repository.springsource.com/maven/bundles/release - - false - - - - com.springsource.repository.bundles.external - SpringSource Enterprise Bundle Repository - External Bundles - http://repository.springsource.com/maven/bundles/external + spring-release + http://repo.springsource.org/libs-release false @@ -377,9 +315,11 @@ - com.springsource.repository.bundles.release - SpringSource Enterprise Bundle Repository - SpringSource Bundle Release Bundles - http://repository.springsource.com/maven/bundles/release + spring-plugins + http://repo.springsource.org/plugins-release + + false + diff --git a/si/.springBeans b/si/.springBeans deleted file mode 100644 index 85a42a9..0000000 --- a/si/.springBeans +++ /dev/null @@ -1,13 +0,0 @@ - - - 1 - - - - - - - - - - diff --git a/si/src/main/resources/META-INF/spring.handlers b/si/src/main/resources/META-INF/spring.handlers deleted file mode 100644 index 3c33371..0000000 --- a/si/src/main/resources/META-INF/spring.handlers +++ /dev/null @@ -1 +0,0 @@ -http\://schemas.synyx.org/hera/si=org.synyx.hera.si.config.HeraSpringIntegrationNamespaceHandler \ No newline at end of file diff --git a/si/src/main/resources/META-INF/spring.schemas b/si/src/main/resources/META-INF/spring.schemas deleted file mode 100644 index 240da0b..0000000 --- a/si/src/main/resources/META-INF/spring.schemas +++ /dev/null @@ -1 +0,0 @@ -http\://schemas.synyx.org/hera/si/hera-si.xsd=org/synyx/hera/si/config/hera-si.xsd \ No newline at end of file diff --git a/si/src/main/resources/META-INF/spring.tooling b/si/src/main/resources/META-INF/spring.tooling deleted file mode 100644 index 8fa3d6e..0000000 --- a/si/src/main/resources/META-INF/spring.tooling +++ /dev/null @@ -1,4 +0,0 @@ -# Tooling related information for the Hera namespace -http\://schemas.synyx.org/hera/si@name=Hera Spring Integration Namespace -http\://schemas.synyx.org/hera/si@prefix=int-hera -http\://schemas.synyx.org/hera/si@icon=org/springframework/beans/factory/xml/spring-beans.gif \ No newline at end of file diff --git a/src/doc/layout/pdf/fo-pdf.xsl b/src/doc/layout/pdf/fo-pdf.xsl index 3065e1a..15c151d 100644 --- a/src/doc/layout/pdf/fo-pdf.xsl +++ b/src/doc/layout/pdf/fo-pdf.xsl @@ -43,9 +43,6 @@ - - - diff --git a/src/doc/layout/pdf/fonts/SteLiBI_.ttf b/src/doc/layout/pdf/fonts/SteLiBI_.ttf deleted file mode 100644 index 1423721378be329aba2f34743271f10cd03f9156..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31528 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 diff --git a/src/doc/layout/pdf/fonts/SteLiBI_.xml b/src/doc/layout/pdf/fonts/SteLiBI_.xml deleted file mode 100644 index 66a9daa..0000000 --- a/src/doc/layout/pdf/fonts/SteLiBI_.xml +++ /dev/null @@ -1 +0,0 @@ -StellaLining,BoldItalic678525700-200-153-2581129946970-11TRUETYPEWinAnsiEncoding0255 \ No newline at end of file diff --git a/src/doc/layout/pdf/fonts/SteLiB__.ttf b/src/doc/layout/pdf/fonts/SteLiB__.ttf deleted file mode 100644 index d4857e6700e79ff86fc8f21ddc7241bec827138c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27856 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 diff --git a/src/doc/layout/pdf/fonts/SteLiB__.xml b/src/doc/layout/pdf/fonts/SteLiB__.xml deleted file mode 100644 index 77ec256..0000000 --- a/src/doc/layout/pdf/fonts/SteLiB__.xml +++ /dev/null @@ -1 +0,0 @@ -StellaLining,Bold678514700-200-54-25711229223300TRUETYPEWinAnsiEncoding0255 \ No newline at end of file diff --git a/src/doc/layout/pdf/fonts/SteLiI__.ttf b/src/doc/layout/pdf/fonts/SteLiI__.ttf deleted file mode 100644 index a4939f69c29a61b3fb13719fddbd2a462c5d7171..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31696 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 diff --git a/src/doc/layout/pdf/fonts/SteLiI__.xml b/src/doc/layout/pdf/fonts/SteLiI__.xml deleted file mode 100644 index 96d3cfe..0000000 --- a/src/doc/layout/pdf/fonts/SteLiI__.xml +++ /dev/null @@ -1 +0,0 @@ -StellaLining,Italic678522700-200-151-2581076907970-11TRUETYPEWinAnsiEncoding0255 \ No newline at end of file diff --git a/src/doc/layout/pdf/fonts/SteLiR__.ttf b/src/doc/layout/pdf/fonts/SteLiR__.ttf deleted file mode 100644 index 1bd07883609b5df2f78f5bac9aeb433b01d112e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30452 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 zFZd7i$-h9JynStellaLining678504700-200-44-24510609093300TRUETYPEWinAnsiEncoding0255 \ No newline at end of file diff --git a/src/doc/layout/pdf/images/synyx-logo.tiff b/src/doc/layout/pdf/images/synyx-logo.tiff deleted file mode 100644 index 11687d3a1dac5847b84cf7336f78ada7e9ed5c26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192238 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 - - -]> - + - Hera + Spring Plugin The smallest plugin system ever @@ -18,25 +14,23 @@ Gierke - Software Architect + Senior Member Technical Staff - Synyx GmbH & Co. KG + SpringSource, a division of VMware - gierke@synyx.de - -
Karlstraße 68, 76137 Karsruhe, Germany
+ ogierke (at) vmware.com - V0.4 + V0.8 23.09.2009 - 2009 + 2008-2012 - Synyx GmbH & Co. KG + The original authors @@ -87,6 +81,18 @@ Added section on plugin ordering + + + 21.02.2012 + + + Oliver + + Gierke + + + Move project to SpringSource +
@@ -103,13 +109,14 @@ OSGi introduces a lot of complexity to projects. - Hera provides a more pragmatic approach to plugin development by - providing the core flexibility of having plugin implementations - extending a core system's functionality but of course not delivering - core OSGi features like dynamic class loading or - runtime installation and deployment of plugins. Although Hera thus is - not nearly as powerful as OSGi, it servers little man's - requirements to build a modular extensible application. + Spring Plugin provides a more pragmatic approach to plugin + development by providing the core flexibility of having plugin + implementations extending a core system's functionality but of course + not delivering core OSGi features like dynamic class + loading or runtime installation and deployment of plugins. Although + Spring Plugin thus is not nearly as powerful as OSGi, + it servers poor man's requirements to build a modular extensible + application.
@@ -142,8 +149,8 @@ - The last point actually is not essential although Hera gains a lot - of momentum in collaborative use with Spring. + The last point actually is not essential although Spring Plugin + gains a lot of momentum in collaborative use with Spring.
@@ -155,16 +162,18 @@ Spring is the defacto standard application framework for Java applications. Its consistent programming model, easy configuration and wide support for all kinds of third party libraries makes it the first - class citizen of application frameworks. Hera tightly integrates into - Spring's component model and extends the core container with some - custom functionality. + class citizen of application frameworks. Spring Plugin tightly + integrates into Spring's component model and extends the core + container with some custom functionality.
- &core; + - &metadata; + @@ -201,4 +210,4 @@ -
\ No newline at end of file +