You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by th...@apache.org on 2012/05/04 14:37:04 UTC
svn commit: r1333911 - in /jackrabbit/oak/trunk/oak-mk: pom.xml
src/main/java/org/apache/jackrabbit/mk/osgi/Activator.java
src/main/java/org/apache/jackrabbit/mk/osgi/MicroKernelService.java
Author: thomasm
Date: Fri May 4 12:37:04 2012
New Revision: 1333911
URL: http://svn.apache.org/viewvc?rev=1333911&view=rev
Log:
OAK-67 OSGi Bundle Setup - add an OSGi service for (in-memory and persisted) MicroKernel instances
Added:
jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/MicroKernelService.java
- copied, changed from r1333794, jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/Activator.java
Removed:
jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/Activator.java
Modified:
jackrabbit/oak/trunk/oak-mk/pom.xml
Modified: jackrabbit/oak/trunk/oak-mk/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-mk/pom.xml?rev=1333911&r1=1333910&r2=1333911&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-mk/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-mk/pom.xml Fri May 4 12:37:04 2012
@@ -47,12 +47,22 @@
org.apache.jackrabbit.mk.client,
org.apache.jackrabbit.mk.blobs
</Export-Package>
- <Bundle-Activator>
- org.apache.jackrabbit.mk.osgi.Activator
- </Bundle-Activator>
</instructions>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-scr-plugin</artifactId>
+ <version>1.7.2</version>
+ <executions>
+ <execution>
+ <id>generate-scr-scrdescriptor</id>
+ <goals>
+ <goal>scr</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
<pluginManagement>
<plugins>
@@ -78,10 +88,22 @@
<optional>true</optional>
</dependency>
<dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ <scope>provided</scope>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
<groupId>biz.aQute</groupId>
<artifactId>bndlib</artifactId>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.scr.annotations</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
<!-- commons dependency -->
<dependency>
Copied: jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/MicroKernelService.java (from r1333794, jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/Activator.java)
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/MicroKernelService.java?p2=jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/MicroKernelService.java&p1=jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/Activator.java&r1=1333794&r2=1333911&rev=1333911&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/Activator.java (original)
+++ jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/MicroKernelService.java Fri May 4 12:37:04 2012
@@ -16,31 +16,44 @@
*/
package org.apache.jackrabbit.mk.osgi;
-import java.util.Properties;
-
+import org.osgi.service.component.ComponentContext;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Deactivate;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.felix.scr.annotations.Activate;
import org.apache.jackrabbit.mk.api.MicroKernel;
import org.apache.jackrabbit.mk.core.MicroKernelImpl;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-public class Activator implements BundleActivator {
+@Component
+@Service(MicroKernel.class)
+public class MicroKernelService extends MicroKernelImpl {
+
+ @Property(description="The unique name of this instance")
+ public static final String NAME = "name";
- private ServiceRegistration registration;
+ @Property(description="The home directory (in-memory if not set)")
+ public static final String HOME_DIR = "homeDir";
- //-----------------------------------------------------< BundleActivator >--
+ private String name;
@Override
- public void start(BundleContext context) throws Exception {
- registration = context.registerService(
- MicroKernel.class.getName(),
- new MicroKernelImpl(),
- new Properties());
+ public String toString() {
+ return name;
}
- @Override
- public void stop(BundleContext context) throws Exception {
- registration.unregister();
+ @Activate
+ public void activate(ComponentContext context) {
+ Object homeDir = context.getProperties().get(HOME_DIR);
+ name = "" + context.getProperties().get(NAME);
+ if (homeDir != null) {
+ init(homeDir.toString());
+ }
+ }
+
+ @Deactivate
+ public void deactivate() {
+ dispose();
}
}
Re: svn commit: r1333911 - in /jackrabbit/oak/trunk/oak-mk: pom.xml
src/main/java/org/apache/jackrabbit/mk/osgi/Activator.java src/main/java/org/apache/jackrabbit/mk/osgi/MicroKernelService.java
Posted by Julian Reschke <ju...@gmx.de>.
On 2012-05-04 14:37, thomasm@apache.org wrote:
> Author: thomasm
> Date: Fri May 4 12:37:04 2012
> New Revision: 1333911
> ...
Over here:
[INFO] Scanning for projects...
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR] The project org.apache.jackrabbit:oak-mk:0.3-SNAPSHOT
(C:\projects\apache\jackrabbit\oak\trunk\oak-mk\pom.xml) has 1 error
[ERROR] 'dependencies.dependency.version' for
org.apache.felix:org.apache.felix.scr.annotations:jar is missing. @ line
101, column 17
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the
-e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions,
please read the following articles:
[ERROR] [Help 1]
http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
Re: svn commit: r1333911 - in /jackrabbit/oak/trunk/oak-mk: pom.xml
src/main/java/org/apache/jackrabbit/mk/osgi/Activator.java src/main/java/org/apache/jackrabbit/mk/osgi/MicroKernelService.java
Posted by Jukka Zitting <ju...@gmail.com>.
Hi,
On Fri, May 4, 2012 at 3:00 PM, Michael Dürig <md...@apache.org> wrote:
> Hmm this seems to break the build for me.
Thomas forgot to commit the relevant oak-parent/pom.xml change. I
fixed that in revision 1333940.
BR,
Jukka Zitting
Re: svn commit: r1333911 - in /jackrabbit/oak/trunk/oak-mk: pom.xml
src/main/java/org/apache/jackrabbit/mk/osgi/Activator.java src/main/java/org/apache/jackrabbit/mk/osgi/MicroKernelService.java
Posted by Michael Dürig <md...@apache.org>.
Hmm this seems to break the build for me.
Michael
On 4.5.12 13:37, thomasm@apache.org wrote:
> Author: thomasm
> Date: Fri May 4 12:37:04 2012
> New Revision: 1333911
>
> URL: http://svn.apache.org/viewvc?rev=1333911&view=rev
> Log:
> OAK-67 OSGi Bundle Setup - add an OSGi service for (in-memory and persisted) MicroKernel instances
>
> Added:
> jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/MicroKernelService.java
> - copied, changed from r1333794, jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/Activator.java
> Removed:
> jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/Activator.java
> Modified:
> jackrabbit/oak/trunk/oak-mk/pom.xml
>
> Modified: jackrabbit/oak/trunk/oak-mk/pom.xml
> URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-mk/pom.xml?rev=1333911&r1=1333910&r2=1333911&view=diff
> ==============================================================================
> --- jackrabbit/oak/trunk/oak-mk/pom.xml (original)
> +++ jackrabbit/oak/trunk/oak-mk/pom.xml Fri May 4 12:37:04 2012
> @@ -47,12 +47,22 @@
> org.apache.jackrabbit.mk.client,
> org.apache.jackrabbit.mk.blobs
> </Export-Package>
> -<Bundle-Activator>
> - org.apache.jackrabbit.mk.osgi.Activator
> -</Bundle-Activator>
> </instructions>
> </configuration>
> </plugin>
> +<plugin>
> +<groupId>org.apache.felix</groupId>
> +<artifactId>maven-scr-plugin</artifactId>
> +<version>1.7.2</version>
> +<executions>
> +<execution>
> +<id>generate-scr-scrdescriptor</id>
> +<goals>
> +<goal>scr</goal>
> +</goals>
> +</execution>
> +</executions>
> +</plugin>
> </plugins>
> <pluginManagement>
> <plugins>
> @@ -78,10 +88,22 @@
> <optional>true</optional>
> </dependency>
> <dependency>
> +<groupId>org.osgi</groupId>
> +<artifactId>org.osgi.compendium</artifactId>
> +<scope>provided</scope>
> +<optional>true</optional>
> +</dependency>
> +<dependency>
> <groupId>biz.aQute</groupId>
> <artifactId>bndlib</artifactId>
> <scope>provided</scope>
> </dependency>
> +<dependency>
> +<groupId>org.apache.felix</groupId>
> +<artifactId>org.apache.felix.scr.annotations</artifactId>
> +<scope>provided</scope>
> +</dependency>
> +
>
> <!-- commons dependency -->
> <dependency>
>
> Copied: jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/MicroKernelService.java (from r1333794, jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/Activator.java)
> URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/MicroKernelService.java?p2=jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/MicroKernelService.java&p1=jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/Activator.java&r1=1333794&r2=1333911&rev=1333911&view=diff
> ==============================================================================
> --- jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/Activator.java (original)
> +++ jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/osgi/MicroKernelService.java Fri May 4 12:37:04 2012
> @@ -16,31 +16,44 @@
> */
> package org.apache.jackrabbit.mk.osgi;
>
> -import java.util.Properties;
> -
> +import org.osgi.service.component.ComponentContext;
> +import org.apache.felix.scr.annotations.Component;
> +import org.apache.felix.scr.annotations.Deactivate;
> +import org.apache.felix.scr.annotations.Property;
> +import org.apache.felix.scr.annotations.Service;
> +import org.apache.felix.scr.annotations.Activate;
> import org.apache.jackrabbit.mk.api.MicroKernel;
> import org.apache.jackrabbit.mk.core.MicroKernelImpl;
> -import org.osgi.framework.BundleActivator;
> -import org.osgi.framework.BundleContext;
> -import org.osgi.framework.ServiceRegistration;
>
> -public class Activator implements BundleActivator {
> +@Component
> +@Service(MicroKernel.class)
> +public class MicroKernelService extends MicroKernelImpl {
> +
> + @Property(description="The unique name of this instance")
> + public static final String NAME = "name";
>
> - private ServiceRegistration registration;
> + @Property(description="The home directory (in-memory if not set)")
> + public static final String HOME_DIR = "homeDir";
>
> - //-----------------------------------------------------< BundleActivator>--
> + private String name;
>
> @Override
> - public void start(BundleContext context) throws Exception {
> - registration = context.registerService(
> - MicroKernel.class.getName(),
> - new MicroKernelImpl(),
> - new Properties());
> + public String toString() {
> + return name;
> }
>
> - @Override
> - public void stop(BundleContext context) throws Exception {
> - registration.unregister();
> + @Activate
> + public void activate(ComponentContext context) {
> + Object homeDir = context.getProperties().get(HOME_DIR);
> + name = "" + context.getProperties().get(NAME);
> + if (homeDir != null) {
> + init(homeDir.toString());
> + }
> + }
> +
> + @Deactivate
> + public void deactivate() {
> + dispose();
> }
>
> }
>
>