http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/JavaSpacesClientMixin.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/JavaSpacesClientMixin.java b/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/JavaSpacesClientMixin.java deleted file mode 100644 index 13d03bb..0000000 --- a/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/JavaSpacesClientMixin.java +++ /dev/null @@ -1,483 +0,0 @@ -/* - * Copyright 2008 Niclas Hedhman. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - * implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.qi4j.library.spaces.javaspaces; - -import net.jini.config.ConfigurationException; -import net.jini.config.ConfigurationFile; -import net.jini.core.entry.UnusableEntryException; -import net.jini.core.lease.LeaseDeniedException; -import net.jini.core.lookup.ServiceTemplate; -import net.jini.core.transaction.Transaction; -import net.jini.core.transaction.TransactionException; -import net.jini.core.transaction.TransactionFactory; -import net.jini.core.transaction.server.TransactionManager; -import net.jini.discovery.DiscoveryEvent; -import net.jini.discovery.DiscoveryListener; -import net.jini.discovery.DiscoveryManagement; -import net.jini.discovery.LookupDiscoveryManager; -import net.jini.lookup.LookupCache; -import net.jini.lookup.ServiceDiscoveryEvent; -import net.jini.lookup.ServiceDiscoveryListener; -import net.jini.lookup.ServiceDiscoveryManager; -import net.jini.space.JavaSpace05; -import net.jini.space.MatchSet; -import org.qi4j.api.configuration.Configuration; -import org.qi4j.api.injection.scope.This; -import org.qi4j.api.service.Activatable; -import org.qi4j.library.spaces.Space; -import org.qi4j.library.spaces.SpaceException; -import org.qi4j.library.spaces.SpaceTransaction; - -import java.io.*; -import java.rmi.RemoteException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.Stack; -import java.util.StringTokenizer; - -public class JavaSpacesClientMixin - implements Space, Activatable -{ - @This private Configuration<JavaSpacesClientConfiguration> my; - private ServiceHolder<JavaSpace05> spaceService; - private ServiceHolder<TransactionManager> transactionService; - private StackThreadLocal<TransactionProxy> transactionStack; - - public JavaSpacesClientMixin() - { - transactionStack = new StackThreadLocal<TransactionProxy>(); - } - - public void write( String id, String entry ) - { - synchronized( this ) - { - if( spaceService.service != null ) - { - try - { - StorageEntry storageEntry = new StorageEntry( id, entry ); - spaceService.service.write( storageEntry, currentTransaction(), 6000 ); - } - catch( TransactionException e ) - { - e.printStackTrace(); // Can not happen without own transaction. - } - catch( RemoteException e ) - { - throw new SpaceException( "Remote problems: " + e.getMessage(), e ); - } - } - } - } - - public Serializable take( String id, long timeout ) - { - synchronized( this ) - { - if( spaceService.service != null ) - { - try - { - StorageEntry entry = (StorageEntry) spaceService.service.take( new StorageEntry( id, null ), currentTransaction(), 6000 ); - if( entry == null ) - { - return null; - } - return entry.data(); - } - catch( TransactionException e ) - { - e.printStackTrace(); // Can not happen without own transaction. - } - catch( RemoteException e ) - { - throw new SpaceException( "Remote problems: " + e.getMessage(), e ); - } - catch( UnusableEntryException e ) - { - e.printStackTrace(); - } - catch( InterruptedException e ) - { - e.printStackTrace(); - } - } - } - return null; - } - - public String takeIfExists( String id ) - { - synchronized( this ) - { - if( spaceService.service != null ) - { - try - { - StorageEntry entry = (StorageEntry) spaceService.service.takeIfExists( new StorageEntry( id, null ), currentTransaction(), 6000 ); - if( entry == null ) - { - return null; - } - return entry.data(); - } - catch( TransactionException e ) - { - e.printStackTrace(); // Can not happen without own transaction. - } - catch( RemoteException e ) - { - throw new SpaceException( "Remote problems: " + e.getMessage(), e ); - } - catch( UnusableEntryException e ) - { - e.printStackTrace(); - } - catch( InterruptedException e ) - { - e.printStackTrace(); - } - } - return null; - } - } - - public Serializable read( String id, long timeout ) - { - synchronized( this ) - { - if( spaceService.service != null ) - { - try - { - StorageEntry entry = (StorageEntry) spaceService.service.read( new StorageEntry( id, null ), currentTransaction(), timeout ); - if( entry == null ) - { - return null; - } - return entry.data(); - } - catch( TransactionException e ) - { - e.printStackTrace(); // Can not happen without own transaction. - } - catch( RemoteException e ) - { - throw new SpaceException( "Remote problems: " + e.getMessage(), e ); - } - catch( UnusableEntryException e ) - { - e.printStackTrace(); - } - catch( InterruptedException e ) - { - e.printStackTrace(); - } - } - } - return null; - } - - public String readIfExists( String id ) - { - synchronized( this ) - { - if( spaceService.service != null ) - { - - try - { - StorageEntry entry = (StorageEntry) spaceService.service.readIfExists( new StorageEntry( id, null ), currentTransaction(), 6000 ); - if( entry == null ) - { - return null; - } - return entry.data(); - } - catch( TransactionException e ) - { - e.printStackTrace(); // Can not happen without own transaction. - } - catch( RemoteException e ) - { - throw new SpaceException( "Remote problems: " + e.getMessage(), e ); - } - catch( UnusableEntryException e ) - { - e.printStackTrace(); - } - catch( InterruptedException e ) - { - e.printStackTrace(); - } - } - } - return null; - } - - public SpaceTransaction newTransaction() - { - synchronized( this ) - { - if( transactionService.service != null ) - { - try - { - Transaction.Created created = TransactionFactory.create( transactionService.service, 60000 ); - Transaction transaction = created.transaction; - System.out.println( "NEW: " + transaction ); - TransactionProxy transactionProxy = new TransactionProxy( transaction, this ); - transactionStack.get().push( transactionProxy ); - return transactionProxy; - } - catch( LeaseDeniedException e ) - { - e.printStackTrace(); - } - catch( RemoteException e ) - { - e.printStackTrace(); - } - } - return new NullTransactionProxy(); - } - } - - public boolean isReady() - { - return spaceService.service != null && transactionService.service != null; - } - - public void activate() - throws Exception - { - String groupConfig = my.configuration().groups().get(); - System.out.println( "GROUPS: " + groupConfig ); - String[] groups = convert( groupConfig ); - spaceService = initializeLookup( groups, JavaSpace05.class ); - transactionService = initializeLookup( groups, TransactionManager.class ); - } - - private String[] convert( String data ) - { - if( data == null ) - { - return new String[0]; - } - StringTokenizer st = new StringTokenizer( data, ",", false ); - ArrayList<String> result = new ArrayList<String>(); - while( st.hasMoreTokens() ) - { - String item = st.nextToken().trim(); - result.add( item ); - } - String[] retVal = new String[result.size()]; - return result.toArray( retVal ); - } - - public void passivate() - throws Exception - { - spaceService.lookupCache.terminate(); - transactionService.lookupCache.terminate(); - } - - static <T> ServiceHolder<T> initializeLookup( String[] groups, Class<T> type ) - throws IOException - { - ClassLoader classloader = JavaSpacesClientMixin.class.getClassLoader(); - InputStream in = JavaSpacesClientMixin.class.getResourceAsStream( "jini.config" ); - Reader reader = new InputStreamReader( in ); - String[] options = new String[0]; - DiscoveryManagement dm = null; - try - { - net.jini.config.Configuration config = new ConfigurationFile( reader, options, classloader ); - dm = new LookupDiscoveryManager( groups, null, null, config ); - } - catch( ConfigurationException e ) - { - e.printStackTrace(); - } - ServiceDiscoveryManager sdm = new ServiceDiscoveryManager( dm, null ); - Class[] types = new Class[]{ type }; - ServiceTemplate template = new ServiceTemplate( null, types, null ); - LookupCache lookupCache = sdm.createLookupCache( template, null, null ); - return new ServiceHolder<T>( dm, lookupCache ); - } - - Transaction currentTransaction() - { - Stack<TransactionProxy> curStack = transactionStack.get(); - if( curStack.size() == 0 ) - { - System.err.println( "WARNING: Transaction is null." ); - return null; - } - TransactionProxy proxy = curStack.peek(); - if( proxy == null ) - { - System.err.println( "WARNING: Transaction is null." ); - return null; - } - else if( proxy.transaction == null ) - { - System.err.println( "WARNING: Transaction is null." ); - } - Transaction transaction = proxy.transaction; - System.out.println( "LOOKUP: " + transaction ); - return transaction; - } - - void removeTransaction( TransactionProxy transaction ) - { - Stack<TransactionProxy> curStack = transactionStack.get(); - curStack.remove( transaction ); - } - - public Iterator<String> iterator() - { - ArrayList templates = new ArrayList(); - templates.add( new StorageEntry(null, null) ); - try - { - Transaction txn = currentTransaction(); - MatchSet matchSet = spaceService.service.contents( templates, txn, 60000, 1000 ); - return new EntryIterator( matchSet ); - } - catch( TransactionException e ) - { - e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. - } - catch( RemoteException e ) - { - e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. - } - return null; - } - - static class ServiceHolder<T> - implements DiscoveryListener - { - private DiscoveryManagement dm; - private LookupCache lookupCache; - T service; - - public ServiceHolder( DiscoveryManagement dm, LookupCache lookupCache ) - { - this.dm = dm; - this.lookupCache = lookupCache; - this.dm.addDiscoveryListener( this ); - lookupCache.addListener( new ServiceDiscoveryListener() - { - public void serviceAdded( ServiceDiscoveryEvent event ) - { - System.out.println( "Service Added: " + event ); - service = (T) event.getPostEventServiceItem().service; - } - - public void serviceRemoved( ServiceDiscoveryEvent event ) - { - System.out.println( "Service Removed: " + event ); - service = null; - } - - public void serviceChanged( ServiceDiscoveryEvent event ) - { - System.out.println( "Service Changed: " + event ); - } - } ); - - } - - public void dispose() - { - dm.removeDiscoveryListener( this ); - } - - public void discovered( DiscoveryEvent e ) - { - System.out.println( "Discovered: " + e.getGroups() ); - } - - public void discarded( DiscoveryEvent e ) - { - System.out.println( "Discarded: " + e.getGroups() ); - } - } - - private static class EntryIterator - implements Iterator<String> - { - private MatchSet matchSet; - private StorageEntry nextEntry; - - public EntryIterator( MatchSet matchSet ) - { - this.matchSet = matchSet; - try - { - nextEntry = getNext( matchSet ); - } - catch( RemoteException e ) - { - e.printStackTrace(); - } - catch( UnusableEntryException e ) - { - e.printStackTrace(); - } - } - - private StorageEntry getNext( MatchSet matchSet ) - throws RemoteException, UnusableEntryException - { - StorageEntry storageEntry = (StorageEntry) matchSet.next(); - return storageEntry; - } - - public boolean hasNext() - { - return nextEntry != null; - } - - public String next() - { - String result = nextEntry.data(); - try - { - nextEntry = getNext( matchSet ); - } - catch( RemoteException e ) - { - e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. - } - catch( UnusableEntryException e ) - { - e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. - } - return result; - } - - public void remove() - { - throw new UnsupportedOperationException(); - } - } -}
http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/JavaSpacesClientService.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/JavaSpacesClientService.java b/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/JavaSpacesClientService.java deleted file mode 100644 index ac32046..0000000 --- a/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/JavaSpacesClientService.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2008 Niclas Hedhman. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - * implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.qi4j.library.spaces.javaspaces; - -import org.qi4j.api.mixin.Mixins; -import org.qi4j.api.service.Activatable; -import org.qi4j.api.service.ServiceComposite; -import org.qi4j.library.spaces.Space; - -@Mixins( { JavaSpacesClientMixin.class } ) -public interface JavaSpacesClientService extends Space, Activatable, ServiceComposite -{ -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/NullTransactionProxy.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/NullTransactionProxy.java b/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/NullTransactionProxy.java deleted file mode 100644 index ecf59e8..0000000 --- a/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/NullTransactionProxy.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2008 Niclas Hedhman. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - * implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.qi4j.library.spaces.javaspaces; - -import org.qi4j.library.spaces.SpaceTransaction; - -final class NullTransactionProxy - implements SpaceTransaction -{ - NullTransactionProxy() - { - } - - public void commit() - { - } - - public void abort() - { - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/StackThreadLocal.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/StackThreadLocal.java b/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/StackThreadLocal.java deleted file mode 100644 index 9fa0952..0000000 --- a/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/StackThreadLocal.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2008 Niclas Hedhman. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - * implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.qi4j.library.spaces.javaspaces; - -import java.util.Stack; - -public class StackThreadLocal<E> - extends ThreadLocal<Stack<E>> -{ - protected Stack<E> initialValue() - { - return new Stack<E>(); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/StorageEntry.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/StorageEntry.java b/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/StorageEntry.java deleted file mode 100644 index ca36a65..0000000 --- a/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/StorageEntry.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2008 Niclas Hedhman. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - * implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.qi4j.library.spaces.javaspaces; - -import net.jini.core.entry.Entry; - -public final class StorageEntry - implements Entry -{ - public String identity; - public String payload; - - public StorageEntry() - { - } - - public StorageEntry( String id, String data ) - { - identity = id; - payload = data; - } - - public String identity() - { - return identity; - } - - public String data() - { - return payload; - } -} http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/TransactionProxy.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/TransactionProxy.java b/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/TransactionProxy.java deleted file mode 100644 index ce094cf..0000000 --- a/extensions/entitystore-javaspaces/src/main/java/org/qi4j/library/spaces/javaspaces/TransactionProxy.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright 2008 Niclas Hedhman. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - * implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.qi4j.library.spaces.javaspaces; - -import net.jini.core.transaction.CannotAbortException; -import net.jini.core.transaction.CannotCommitException; -import net.jini.core.transaction.Transaction; -import net.jini.core.transaction.UnknownTransactionException; -import org.qi4j.library.spaces.SpaceException; -import org.qi4j.library.spaces.SpaceTransaction; - -import java.rmi.RemoteException; - -final class TransactionProxy - implements SpaceTransaction -{ - Transaction transaction; - private JavaSpacesClientMixin javaspacesMixin; - - TransactionProxy( Transaction transaction, JavaSpacesClientMixin mixin ) - { - this.transaction = transaction; - javaspacesMixin = mixin; - } - - public void commit() - { - try - { - System.out.println( "COMMIT: " + transaction ); - transaction.commit(); - javaspacesMixin.removeTransaction( this ); - } - catch( UnknownTransactionException e ) - { - throw new SpaceException( "Can not commit: " + e.getMessage(), e ); - } - catch( CannotCommitException e ) - { - throw new SpaceException( "Can not commit: " + e.getMessage(), e ); - } - catch( RemoteException e ) - { - throw new SpaceException( "Can not commit: " + e.getMessage(), e ); - } - } - - public void abort() - { - try - { - System.out.println( "ABORT: " + transaction ); - transaction.abort(); - javaspacesMixin.removeTransaction( this ); - } - catch( UnknownTransactionException e ) - { - throw new SpaceException( "Can not abort: " + e.getMessage(), e ); - } - catch( CannotAbortException e ) - { - throw new SpaceException( "Can not abort: " + e.getMessage(), e ); - } - catch( RemoteException e ) - { - throw new SpaceException( "Can not abort: " + e.getMessage(), e ); - } - } -} http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/entitystore-javaspaces/src/main/resources/org/qi4j/library/spaces/javaspaces/JavaSpacesClientService.properties ---------------------------------------------------------------------- diff --git a/extensions/entitystore-javaspaces/src/main/resources/org/qi4j/library/spaces/javaspaces/JavaSpacesClientService.properties b/extensions/entitystore-javaspaces/src/main/resources/org/qi4j/library/spaces/javaspaces/JavaSpacesClientService.properties deleted file mode 100644 index ea0e4e9..0000000 --- a/extensions/entitystore-javaspaces/src/main/resources/org/qi4j/library/spaces/javaspaces/JavaSpacesClientService.properties +++ /dev/null @@ -1 +0,0 @@ -groups=qi4j \ No newline at end of file http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/entitystore-javaspaces/src/main/resources/org/qi4j/library/spaces/javaspaces/jini.config ---------------------------------------------------------------------- diff --git a/extensions/entitystore-javaspaces/src/main/resources/org/qi4j/library/spaces/javaspaces/jini.config b/extensions/entitystore-javaspaces/src/main/resources/org/qi4j/library/spaces/javaspaces/jini.config deleted file mode 100644 index 0a963e3..0000000 --- a/extensions/entitystore-javaspaces/src/main/resources/org/qi4j/library/spaces/javaspaces/jini.config +++ /dev/null @@ -1,9 +0,0 @@ - -import java.net.InetAddress; -import java.net.NetworkInterface; - -net.jini.discovery.LookupDiscovery -{ - multicastInterfaces = new NetworkInterface[] { NetworkInterface.getByInetAddress( InetAddress.getByName( "127.0.0.1" ) ) }; - -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/entitystore-javaspaces/src/test/java/org/qi4j/entitystore/javaspaces/JavaSpacesEntityStoreTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-javaspaces/src/test/java/org/qi4j/entitystore/javaspaces/JavaSpacesEntityStoreTest.java b/extensions/entitystore-javaspaces/src/test/java/org/qi4j/entitystore/javaspaces/JavaSpacesEntityStoreTest.java deleted file mode 100644 index edd97f9..0000000 --- a/extensions/entitystore-javaspaces/src/test/java/org/qi4j/entitystore/javaspaces/JavaSpacesEntityStoreTest.java +++ /dev/null @@ -1,140 +0,0 @@ -/* Copyright 2008 Jan Kronquist. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - * implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.qi4j.entitystore.javaspaces; - -import java.io.File; -import java.security.AllPermission; -import java.security.CodeSource; -import java.security.PermissionCollection; -import java.security.Permissions; -import java.security.Policy; -import net.jini.security.policy.DynamicPolicyProvider; -import org.junit.After; -import org.junit.Ignore; -import org.junit.Test; -import org.qi4j.api.common.Visibility; -import org.qi4j.api.unitofwork.UnitOfWorkCompletionException; -import org.qi4j.bootstrap.AssemblyException; -import org.qi4j.bootstrap.ModuleAssembly; -import org.qi4j.entitystore.memory.MemoryEntityStoreService; -import org.qi4j.library.http.JettyServiceAssembler; -import org.qi4j.library.jini.javaspaces.JiniJavaSpacesServiceAssembler; -import org.qi4j.library.jini.lookup.JiniLookupServiceAssembler; -import org.qi4j.library.jini.transaction.JiniTransactionServiceAssembler; -import org.qi4j.library.spaces.javaspaces.JavaSpacesClientConfiguration; -import org.qi4j.library.spaces.javaspaces.JavaSpacesClientService; -import org.qi4j.spi.uuid.UuidIdentityGeneratorService; -import org.qi4j.test.entity.AbstractEntityStoreTest; - -/** - * JavaSpaces EntityStore test - */ -@Ignore -public class JavaSpacesEntityStoreTest - extends AbstractEntityStoreTest -{ - static - { - Policy basePolicy = new AllPolicy(); - DynamicPolicyProvider policyProvider = new DynamicPolicyProvider( basePolicy ); - Policy.setPolicy( policyProvider ); - } - - @SuppressWarnings( "unchecked" ) - public void assemble( ModuleAssembly module ) - throws AssemblyException - { - super.assemble( module ); - module.addServices( JavaSpacesEntityStoreService.class, - MemoryEntityStoreService.class, - UuidIdentityGeneratorService.class ) - .instantiateOnStartup(); - - ModuleAssembly configModule = module.layerAssembly().moduleAssembly( "JavaSpacesConfiguration" ); - new JiniTransactionServiceAssembler().assemble( configModule ); - new JiniLookupServiceAssembler().assemble( configModule ); - new JiniJavaSpacesServiceAssembler().assemble( configModule ); - new JettyServiceAssembler().assemble( configModule ); - configModule.addServices( JavaSpacesClientService.class ).visibleIn( Visibility.layer ).instantiateOnStartup(); - configModule.addEntities( JavaSpacesClientConfiguration.class ); - configModule.addServices( MemoryEntityStoreService.class ).instantiateOnStartup(); - configModule.addServices( MemoryEntityStoreService.class, - UuidIdentityGeneratorService.class ); - } - - @Override - @After - public void tearDown() - throws Exception - { - super.tearDown(); - delete( new File( "qi4jtemp" ) ); - Thread.sleep( 1000 ); - } - - @Test - @Override - public void givenConcurrentUnitOfWorksWhenUoWCompletesThenCheckConcurrentModification() - throws UnitOfWorkCompletionException - { - super.givenConcurrentUnitOfWorksWhenUoWCompletesThenCheckConcurrentModification(); - } - - private void delete( File dir ) - { - File[] files = dir.listFiles(); - if( files == null ) - { - return; - } - for( File file : files ) - { - if( file.isDirectory() ) - { - delete( file ); - } - file.delete(); - } - dir.delete(); - } - - @Test - public void enableTests() - { - } - - public static class AllPolicy - extends Policy - { - - public AllPolicy() - { - } - - public PermissionCollection getPermissions( CodeSource codeSource ) - { - Permissions allPermission; - allPermission = new Permissions(); - allPermission.add( new AllPermission() ); - return allPermission; - } - - public void refresh() - { - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/entitystore-javaspaces/src/test/java/org/qi4j/entitystore/javaspaces/JavaspacesTest.java ---------------------------------------------------------------------- diff --git a/extensions/entitystore-javaspaces/src/test/java/org/qi4j/entitystore/javaspaces/JavaspacesTest.java b/extensions/entitystore-javaspaces/src/test/java/org/qi4j/entitystore/javaspaces/JavaspacesTest.java deleted file mode 100644 index 18c1ad1..0000000 --- a/extensions/entitystore-javaspaces/src/test/java/org/qi4j/entitystore/javaspaces/JavaspacesTest.java +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright 2008 Niclas Hedhman. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - * implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.qi4j.entitystore.javaspaces; - -import java.io.IOException; -import java.security.AllPermission; -import java.security.CodeSource; -import java.security.PermissionCollection; -import java.security.Permissions; -import java.security.Policy; -import java.util.logging.FileHandler; -import java.util.logging.Formatter; -import java.util.logging.Handler; -import java.util.logging.Level; -import java.util.logging.Logger; -import java.util.logging.SimpleFormatter; -import net.jini.security.policy.DynamicPolicyProvider; -import org.junit.Ignore; -import org.junit.Test; -import org.qi4j.api.injection.scope.Service; -import org.qi4j.bootstrap.AssemblyException; -import org.qi4j.bootstrap.ModuleAssembly; -import org.qi4j.entitystore.memory.MemoryEntityStoreService; -import org.qi4j.library.http.JettyServiceAssembler; -import org.qi4j.library.jini.javaspaces.JiniJavaSpacesServiceAssembler; -import org.qi4j.library.jini.lookup.JiniLookupServiceAssembler; -import org.qi4j.library.jini.transaction.JiniTransactionServiceAssembler; -import org.qi4j.library.spaces.Space; -import org.qi4j.library.spaces.javaspaces.JavaSpacesClientAssembler; -import org.qi4j.test.AbstractQi4jTest; - -@Ignore( "Implementation is not working yet." ) -public class JavaspacesTest extends AbstractQi4jTest -{ - private Space qi4jspace; - - static - { - Logger logger = Logger.getLogger( "" ); - Handler handler = null; - try - { - handler = new FileHandler( "output.log" ); - Formatter formatter = new SimpleFormatter(); - handler.setFormatter( formatter ); - } - catch( IOException e ) - { - e.printStackTrace(); - } - logger.addHandler( handler ); - logger.setLevel( Level.FINEST ); - } - - protected Space space() - { - if( qi4jspace == null ) - { - qi4jspace = objectBuilderFactory.newObject( SpaceHolder.class ).getSpace(); - } - return qi4jspace; - } - - public void assemble( ModuleAssembly module ) - throws AssemblyException - { - if( System.getSecurityManager() == null ) - { - Policy allPolicy = new TestPolicyAllPermissions(); - Policy.setPolicy( new DynamicPolicyProvider( allPolicy ) ); - System.setSecurityManager( new SecurityManager() ); - } - new JiniLookupServiceAssembler().assemble( module ); - new JiniTransactionServiceAssembler().assemble( module ); - new JiniJavaSpacesServiceAssembler().assemble( module ); - new JettyServiceAssembler().assemble( module ); - module.addServices( MemoryEntityStoreService.class ); - new JavaSpacesClientAssembler().assemble( module ); - module.addObjects( SpaceHolder.class ); - } - - @Test - public void dummyTest() - { - } - - public static class SpaceHolder - { - @Service private Space space; - - public Space getSpace() - { - synchronized( this ) - { - int count = 1000; - while( !space.isReady() && count > 0 ) - { - try - { - wait( 5 ); - count--; - } - catch( InterruptedException e ) - { - e.printStackTrace(); - } - } - if( !space.isReady() ) - { - throw new RuntimeException( "Can not find the JavaSpace." ); - } - } - return space; - } - } - - public static class TestPolicyAllPermissions extends Policy - { - public PermissionCollection getPermissions( CodeSource codeSource ) - { - Permissions permissions; - permissions = new Permissions(); - permissions.add( new AllPermission() ); - return permissions; - } - - public void refresh() - { - } - } -} http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/entitystore-javaspaces/src/test/resources/org/qi4j/entitystore/javaspaces/JavaSpacesEntityStoreService.properties ---------------------------------------------------------------------- diff --git a/extensions/entitystore-javaspaces/src/test/resources/org/qi4j/entitystore/javaspaces/JavaSpacesEntityStoreService.properties b/extensions/entitystore-javaspaces/src/test/resources/org/qi4j/entitystore/javaspaces/JavaSpacesEntityStoreService.properties deleted file mode 100644 index 9c3e86b..0000000 --- a/extensions/entitystore-javaspaces/src/test/resources/org/qi4j/entitystore/javaspaces/JavaSpacesEntityStoreService.properties +++ /dev/null @@ -1 +0,0 @@ -uri=/./Qi4jSpace?groups=qi4j \ No newline at end of file http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/entitystore-javaspaces/src/test/resources/org/qi4j/library/http/JettyService.properties ---------------------------------------------------------------------- diff --git a/extensions/entitystore-javaspaces/src/test/resources/org/qi4j/library/http/JettyService.properties b/extensions/entitystore-javaspaces/src/test/resources/org/qi4j/library/http/JettyService.properties deleted file mode 100644 index 7a1adb8..0000000 --- a/extensions/entitystore-javaspaces/src/test/resources/org/qi4j/library/http/JettyService.properties +++ /dev/null @@ -1,3 +0,0 @@ -port=8040 -hostName=127.0.0.1 -resourcePath=/ http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/osgi/bootstrap/osgi.bundle ---------------------------------------------------------------------- diff --git a/extensions/osgi/bootstrap/osgi.bundle b/extensions/osgi/bootstrap/osgi.bundle deleted file mode 100644 index a8bd9f6..0000000 --- a/extensions/osgi/bootstrap/osgi.bundle +++ /dev/null @@ -1,20 +0,0 @@ -Bundle-Activator: org.qi4j.osgi.bootstrap.Activator - -Private-Package: org.qi4j.osgi.bootstrap - -Ignore-Package: com_cenqua_clover - -Import-Package: org.osgi.framework, \ - org.qi4j.api.common, \ - org.qi4j.api.composite, \ - org.qi4j.api.entity, \ - org.qi4j.api.injection.scope, \ - org.qi4j.api.mixin, \ - org.qi4j.api.property, \ - org.qi4j.api.structure, \ - org.qi4j.bootstrap, \ - org.qi4j.entitystore.memory, \ - org.qi4j.spi.entitystore.helpers, \ - org.qi4j.spi.structure - -Export-Package: http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/osgi/bootstrap/pom.xml ---------------------------------------------------------------------- diff --git a/extensions/osgi/bootstrap/pom.xml b/extensions/osgi/bootstrap/pom.xml deleted file mode 100644 index f0430f3..0000000 --- a/extensions/osgi/bootstrap/pom.xml +++ /dev/null @@ -1,57 +0,0 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <parent> - <groupId>org.qi4j.osgi</groupId> - <artifactId>org.qi4j.core.osgi-test</artifactId> - <version>0-SNAPSHOT</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <groupId>org.qi4j.osgi</groupId> - <artifactId>qi4j-osgi-bootstrap</artifactId> - <name>Qi4j Core - OSGi Bootstrap</name> - <packaging>jar</packaging> - - <dependencies> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.osgi.compendium</artifactId> - <version>1.2.0</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.qi4j.core</groupId> - <artifactId>org.qi4j.core.api</artifactId> - </dependency> - <dependency> - <groupId>org.qi4j.core</groupId> - <artifactId>org.qi4j.core.bootstrap</artifactId> - </dependency> - <dependency> - <groupId>org.qi4j.core</groupId> - <artifactId>org.qi4j.core.spi</artifactId> - </dependency> - <dependency> - <groupId>org.qi4j.core</groupId> - <artifactId>org.qi4j.core.runtime</artifactId> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.ops4j.pax.swissbox</groupId> - <artifactId>pax-swissbox-core</artifactId> - <version>1.2.0</version> - </dependency> - <dependency> - <groupId>org.ops4j.pax.swissbox</groupId> - <artifactId>pax-swissbox-extender</artifactId> - <version>1.2.0</version> - </dependency> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.osgi.core</artifactId> - <version>1.2.0</version> - <scope>provided</scope> - </dependency> - </dependencies> -</project> http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/osgi/bootstrap/src/main/java/org/qi4j/osgi/bootstrap/Activator.java ---------------------------------------------------------------------- diff --git a/extensions/osgi/bootstrap/src/main/java/org/qi4j/osgi/bootstrap/Activator.java b/extensions/osgi/bootstrap/src/main/java/org/qi4j/osgi/bootstrap/Activator.java deleted file mode 100644 index 0b884b2..0000000 --- a/extensions/osgi/bootstrap/src/main/java/org/qi4j/osgi/bootstrap/Activator.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2009 Niclas Hedhman. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - * implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.qi4j.osgi.bootstrap; - -import java.net.URL; -import java.util.HashMap; -import java.util.List; -import org.ops4j.pax.swissbox.core.BundleClassLoader; -import org.ops4j.pax.swissbox.extender.BundleObserver; -import org.ops4j.pax.swissbox.extender.BundleURLScanner; -import org.ops4j.pax.swissbox.extender.BundleWatcher; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleActivator; -import org.osgi.framework.BundleContext; -import org.qi4j.bootstrap.internal.ServiceLoader; -import org.qi4j.bootstrap.Qi4jRuntime; - -public final class Activator - implements BundleActivator -{ - private BundleWatcher<URL> urlBundleWatcher; - - public void start( BundleContext bundleContext ) - throws Exception - { - BundleURLScanner urlScanner = - new BundleURLScanner( "META-INF/services", Qi4jRuntime.class.getName(), false ); - urlBundleWatcher = new BundleWatcher<URL>( bundleContext, urlScanner, new Qi4jBundleObserver() ); - urlBundleWatcher.start(); - } - - public void stop( BundleContext bundleContext ) - throws Exception - { - urlBundleWatcher.stop(); - } - - private static class Qi4jBundleObserver - implements BundleObserver<URL> - { - private final HashMap<Bundle, ClassLoader> loaders; - - private Qi4jBundleObserver() - { - loaders = new HashMap<Bundle, ClassLoader>(); - } - - public void addingEntries( Bundle bundle, List<URL> entries ) - { - BundleClassLoader classloader = new BundleClassLoader( bundle ); - ServiceLoader.addClassloader( classloader ); - loaders.put( bundle, classloader ); - } - - public void removingEntries( Bundle bundle, List<URL> entries ) - { - ClassLoader classloader = loaders.get( bundle ); - ServiceLoader.removeClassloader( classloader ); - } - } -} http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/osgi/example/osgi.bundle ---------------------------------------------------------------------- diff --git a/extensions/osgi/example/osgi.bundle b/extensions/osgi/example/osgi.bundle deleted file mode 100644 index b4aaf84..0000000 --- a/extensions/osgi/example/osgi.bundle +++ /dev/null @@ -1,20 +0,0 @@ -Bundle-Activator: org.qi4j.core.test.osgi.internal.Activator - -Private-Package: org.qi4j.core.test.osgi.internal - -Ignore-Package: com_cenqua_clover - -Import-Package: org.osgi.framework, \ - org.qi4j.api.common, \ - org.qi4j.api.composite, \ - org.qi4j.api.entity, \ - org.qi4j.api.injection.scope, \ - org.qi4j.api.mixin, \ - org.qi4j.api.property, \ - org.qi4j.api.structure, \ - org.qi4j.bootstrap, \ - org.qi4j.entitystore.memory, \ - org.qi4j.spi.entitystore.helpers, \ - org.qi4j.spi.structure - -Export-Package: org.qi4j.core.test.osgi;version=${pom.version} http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/osgi/example/pom.xml ---------------------------------------------------------------------- diff --git a/extensions/osgi/example/pom.xml b/extensions/osgi/example/pom.xml deleted file mode 100644 index 27aaf41..0000000 --- a/extensions/osgi/example/pom.xml +++ /dev/null @@ -1,47 +0,0 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <parent> - <groupId>org.qi4j.osgi</groupId> - <artifactId>org.qi4j.core.osgi-test</artifactId> - <version>0-SNAPSHOT</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <groupId>org.qi4j.core.osgi</groupId> - <artifactId>qi4j-osgi-example</artifactId> - <name>Qi4j Core - OSGi Example</name> - <packaging>jar</packaging> - - <dependencies> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.osgi.compendium</artifactId> - <version>1.2.0</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.qi4j.core</groupId> - <artifactId>org.qi4j.core.api</artifactId> - </dependency> - <dependency> - <groupId>org.qi4j.core</groupId> - <artifactId>org.qi4j.core.bootstrap</artifactId> - </dependency> - <dependency> - <groupId>org.qi4j.core</groupId> - <artifactId>org.qi4j.core.spi</artifactId> - </dependency> - <dependency> - <groupId>org.qi4j.core</groupId> - <artifactId>org.qi4j.core.runtime</artifactId> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.osgi.core</artifactId> - <version>1.2.0</version> - <scope>provided</scope> - </dependency> - </dependencies> -</project> http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/osgi/example/src/main/java/org/qi4j/osgi/AComposite.java ---------------------------------------------------------------------- diff --git a/extensions/osgi/example/src/main/java/org/qi4j/osgi/AComposite.java b/extensions/osgi/example/src/main/java/org/qi4j/osgi/AComposite.java deleted file mode 100644 index 4b24a83..0000000 --- a/extensions/osgi/example/src/main/java/org/qi4j/osgi/AComposite.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.qi4j.osgi; - -import org.qi4j.api.property.Property; -import org.qi4j.api.common.Optional; - -public interface AComposite -{ - @Optional Property<String> property(); - - String sayValue(); -} http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/osgi/example/src/main/java/org/qi4j/osgi/AnEntity.java ---------------------------------------------------------------------- diff --git a/extensions/osgi/example/src/main/java/org/qi4j/osgi/AnEntity.java b/extensions/osgi/example/src/main/java/org/qi4j/osgi/AnEntity.java deleted file mode 100644 index acc7aab..0000000 --- a/extensions/osgi/example/src/main/java/org/qi4j/osgi/AnEntity.java +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright 2008 Edward Yakop. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -* implied. -* -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package org.qi4j.osgi; - -import org.qi4j.api.property.Property; -import org.qi4j.api.common.Optional; - -public interface AnEntity -{ - @Optional Property<String> property(); -} http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/osgi/example/src/main/java/org/qi4j/osgi/internal/APrivateComposite.java ---------------------------------------------------------------------- diff --git a/extensions/osgi/example/src/main/java/org/qi4j/osgi/internal/APrivateComposite.java b/extensions/osgi/example/src/main/java/org/qi4j/osgi/internal/APrivateComposite.java deleted file mode 100644 index a394166..0000000 --- a/extensions/osgi/example/src/main/java/org/qi4j/osgi/internal/APrivateComposite.java +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright 2008 Edward Yakop. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -* implied. -* -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package org.qi4j.osgi.internal; - -import org.qi4j.api.composite.Composite; -import org.qi4j.api.mixin.Mixins; -import org.qi4j.core.test.osgi.AComposite; -import org.qi4j.api.injection.scope.This; - -@Mixins( APrivateComposite.ACompositeMixin.class ) -interface APrivateComposite extends AComposite, Composite -{ - abstract class ACompositeMixin - implements AComposite - { - @This private AComposite me; - - public final String sayValue() - { - return "Saying: " + me.property().get(); - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/osgi/example/src/main/java/org/qi4j/osgi/internal/Activator.java ---------------------------------------------------------------------- diff --git a/extensions/osgi/example/src/main/java/org/qi4j/osgi/internal/Activator.java b/extensions/osgi/example/src/main/java/org/qi4j/osgi/internal/Activator.java deleted file mode 100644 index 30add70..0000000 --- a/extensions/osgi/example/src/main/java/org/qi4j/osgi/internal/Activator.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright 2008 Niclas Hedhman. All rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - * implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.qi4j.osgi.internal; - -import java.util.Hashtable; -import java.util.logging.Logger; -import org.osgi.framework.BundleActivator; -import org.osgi.framework.BundleContext; -import org.osgi.framework.ServiceRegistration; -import org.qi4j.api.structure.Module; -import org.qi4j.bootstrap.ApplicationAssembler; -import org.qi4j.bootstrap.ApplicationAssembly; -import org.qi4j.bootstrap.ApplicationAssemblyFactory; -import org.qi4j.bootstrap.AssemblyException; -import org.qi4j.bootstrap.Energy4Java; -import org.qi4j.bootstrap.LayerAssembly; -import org.qi4j.bootstrap.ModuleAssembly; -import org.qi4j.entitystore.memory.MemoryEntityStoreService; -import org.qi4j.spi.entity.helpers.UuidIdentityGeneratorService; -import org.qi4j.spi.structure.ApplicationSPI; - -public final class Activator - implements BundleActivator -{ - private static final Logger LOGGER = Logger.getLogger( Activator.class.getName() ); - - private static final String MODULE_NAME = "Single Module."; - private static final String LAYER_NAME = "Single Layer."; - - private ApplicationSPI application; - private ServiceRegistration moduleRegistration; - - public void start( BundleContext bundleContext ) - throws Exception - { - LOGGER.info( "Starting Bundle [" + bundleContext.getBundle().getSymbolicName() + "]" ); - - Energy4Java boot = new Energy4Java(); - ApplicationAssembler assembler = new MyApplicationAssembler(); - application = boot.newApplication( assembler ); - - LOGGER.info( "Activating application." ); - application.activate(); - - Module module = application.findModule( LAYER_NAME, MODULE_NAME ); - LOGGER.info( "Find module [" + LAYER_NAME + ", " + MODULE_NAME + "] isFound [" + ( module != null ) + "]" ); - - moduleRegistration = bundleContext.registerService( Module.class.getName(), module, new Hashtable() ); - LOGGER.info( "Module registered." ); - } - - public void stop( BundleContext bundleContext ) - throws Exception - { - moduleRegistration.unregister(); - application.passivate(); - - moduleRegistration = null; - application = null; - } - - - private static class MyApplicationAssembler - implements ApplicationAssembler - { - public ApplicationAssembly assemble( ApplicationAssemblyFactory applicationFactory ) - throws AssemblyException - { - ApplicationAssembly applicationAssembly = applicationFactory.newApplicationAssembly(); - LayerAssembly layerAssembly = applicationAssembly.newLayerAssembly( LAYER_NAME ); - ModuleAssembly moduleAssembly = layerAssembly.newModuleAssembly( MODULE_NAME ); - - moduleAssembly.addComposites( APrivateComposite.class ); - moduleAssembly.addEntities( AnEntityComposite.class ); - moduleAssembly.addServices( MemoryEntityStoreService.class ); - moduleAssembly.addServices( UuidIdentityGeneratorService.class ); - - return applicationAssembly; - } - } -} http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/osgi/example/src/main/java/org/qi4j/osgi/internal/AnEntityComposite.java ---------------------------------------------------------------------- diff --git a/extensions/osgi/example/src/main/java/org/qi4j/osgi/internal/AnEntityComposite.java b/extensions/osgi/example/src/main/java/org/qi4j/osgi/internal/AnEntityComposite.java deleted file mode 100644 index 1b5fdf7..0000000 --- a/extensions/osgi/example/src/main/java/org/qi4j/osgi/internal/AnEntityComposite.java +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2008 Edward Yakop. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -* implied. -* -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package org.qi4j.osgi.internal; - -import org.qi4j.core.test.osgi.AnEntity; -import org.qi4j.api.entity.EntityComposite; - -interface AnEntityComposite extends AnEntity, EntityComposite -{ -} http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/osgi/example/test.bundles ---------------------------------------------------------------------- diff --git a/extensions/osgi/example/test.bundles b/extensions/osgi/example/test.bundles deleted file mode 100644 index 030ecbb..0000000 --- a/extensions/osgi/example/test.bundles +++ /dev/null @@ -1,12 +0,0 @@ -mvn:net.sourceforge.cglib/com.springsource.net.sf.cglib/2.1.3 -mvn:org.ops4j.pax.logging/pax-logging-api -mvn:org.ops4j.pax.logging/pax-logging-service -mvn:org.qi4j.core/qi4j-core-api@update -mvn:org.qi4j.core/qi4j-core-spi@update -mvn:org.qi4j.core/qi4j-core-runtime@update -mvn:org.qi4j.core/qi4j-core-bootstrap@update -mvn:org.qi4j.core.osgi/qi4j-osgi-example@update -mvn:org.ops4j.pax.swissbox/pax-swissbox-extender -mvn:org.ops4j.pax.swissbox/pax-swissbox-core -mvn:org.ops4j.base/ops4j-base-lang -mvn:org.ops4j.pax.swissbox/pax-swissbox-lifecycle http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/osgi/integrationTests/pom.xml ---------------------------------------------------------------------- diff --git a/extensions/osgi/integrationTests/pom.xml b/extensions/osgi/integrationTests/pom.xml deleted file mode 100644 index c7b0d5c..0000000 --- a/extensions/osgi/integrationTests/pom.xml +++ /dev/null @@ -1,55 +0,0 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <parent> - <groupId>org.qi4j.osgi</groupId> - <artifactId>org.qi4j.core.osgi-test</artifactId> - <version>0-SNAPSHOT</version> - </parent> - <modelVersion>4.0.0</modelVersion> - - <groupId>org.qi4j.core.osgi</groupId> - <artifactId>qi4j-osgi-integrationTests</artifactId> - <name>Qi4j Core - OSGi integration test</name> - - <build> - <plugins> - <plugin> - <artifactId>maven-surefire-plugin</artifactId> - <configuration> - <systemProperties> - <property> - <name>version.qi4j</name> - <value>${pom.version}</value> - </property> - </systemProperties> - </configuration> - </plugin> - </plugins> - </build> - - <dependencies> - <dependency> - <groupId>org.qi4j.core</groupId> - <artifactId>org.qi4j.core.api</artifactId> - </dependency> - <dependency> - <groupId>org.qi4j.core.osgi</groupId> - <artifactId>qi4j-osgi-example</artifactId> - <version>${project.version}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.ops4j.pax.logging</groupId> - <artifactId>pax-logging-api</artifactId> - <version>1.1.1</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.osgi.core</artifactId> - <version>1.2.0</version> - <scope>test</scope> - </dependency> - </dependencies> -</project> http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/AbstractTest.java ---------------------------------------------------------------------- diff --git a/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/AbstractTest.java b/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/AbstractTest.java deleted file mode 100644 index c88830c..0000000 --- a/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/AbstractTest.java +++ /dev/null @@ -1,117 +0,0 @@ -/* Copyright 2008 Edward Yakop. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -* implied. -* -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package org.qi4j.osgi.test; - -import java.util.logging.Logger; -import static org.junit.Assert.assertNotNull; -import org.junit.runner.RunWith; -import static org.ops4j.pax.exam.CoreOptions.options; -import static org.ops4j.pax.exam.CoreOptions.provision; -import static org.ops4j.pax.exam.CoreOptions.systemProperty; -import org.ops4j.pax.exam.Option; -import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.logProfile; -import org.ops4j.pax.exam.junit.Configuration; -import org.ops4j.pax.exam.junit.JUnit4TestRunner; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleContext; -import org.osgi.framework.ServiceReference; -import org.qi4j.api.structure.Module; - -@RunWith( JUnit4TestRunner.class ) -public abstract class AbstractTest -{ - private final Logger LOGGER = Logger.getLogger( getClass().getName() ); - - private static final String SYMBOLIC_NAME_QI4J_EXAMPLE = "org.qi4j.core.osgi.qi4j-osgi-example"; - - @Configuration - public final Option[] configure() - { - return options( - logProfile(), - // this is how you set the default log level when using pax logging (logProfile) - systemProperty( "org.ops4j.pax.logging.DefaultServiceLog.level" ).value( "INFO" ) - ); - } - - @Configuration - public final Option[] baseProvision() - { - String qi4jVersion = System.getProperty( "version.qi4j", "1.0" ); - - return options( provision( - "mvn:org.ops4j.pax.logging/pax-logging-api@2", - "mvn:org.ops4j.pax.logging/pax-logging-service@2", - "mvn:org.qi4j.core/qi4j-core-api/" + qi4jVersion + "@2", - "mvn:org.qi4j.core/qi4j-core-spi/" + qi4jVersion + "@2", - "mvn:org.ops4j.base/ops4j-base-lang@2", - "mvn:org.ops4j.pax.swissbox/pax-swissbox-extender@2", - "mvn:org.ops4j.pax.swissbox/pax-swissbox-core@2", - "mvn:org.ops4j.pax.swissbox/pax-swissbox-lifecycle@2", - "mvn:org.qi4j.core/qi4j-core-bootstrap/" + qi4jVersion + "@2", - "mvn:org.qi4j.core/qi4j-core-runtime/" + qi4jVersion + "@3", - "mvn:org.qi4j.core.osgi/qi4j-osgi-example/" + qi4jVersion + "@4" - ) ); - } - - protected final Bundle getQi4jExampleBundle( BundleContext bundleContext ) - { - Bundle exampleBundle = null; - Bundle[] bundles = bundleContext.getBundles(); - for( Bundle bundle : bundles ) - { - String symbolicName = bundle.getSymbolicName(); - if( SYMBOLIC_NAME_QI4J_EXAMPLE.equals( symbolicName ) ) - { - exampleBundle = bundle; - break; - } - } - - assertNotNull( exampleBundle ); - return exampleBundle; - } - - protected final ServiceReference getModuleServiceRef( BundleContext bundleContext ) - { - return bundleContext.getServiceReference( Module.class.getName() ); - } - - protected final void printBundleDetails( BundleContext bundleContext ) - { - Bundle[] bundles = bundleContext.getBundles(); - for( Bundle bundle : bundles ) - { - LOGGER.info( "Bundle [" + bundle.getSymbolicName() + "] State [" + bundle.getState() + "]" ); - - LOGGER.info( "Exported Services: " ); - ServiceReference[] registeredServices = bundle.getRegisteredServices(); - if( registeredServices == null || registeredServices.length == 0 ) - { - LOGGER.info( "none" ); - } - else - { - for( ServiceReference registeredService : registeredServices ) - { - LOGGER.info( registeredService.toString() ); - } - } - } - } - -} http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/BundleLifecycleTest.java ---------------------------------------------------------------------- diff --git a/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/BundleLifecycleTest.java b/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/BundleLifecycleTest.java deleted file mode 100644 index 77de18c..0000000 --- a/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/BundleLifecycleTest.java +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright 2008 Edward Yakop. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - * implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.qi4j.osgi.test; - -import java.util.logging.Logger; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import org.junit.Test; -import org.ops4j.pax.exam.Inject; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleContext; -import org.osgi.framework.BundleException; -import org.osgi.framework.ServiceReference; - -public class BundleLifecycleTest extends AbstractTest -{ - - @Inject - private BundleContext bundleContext; - - @Test - public final void testLifecycle() - throws BundleException - { -// printBundleDetails( bundleContext ); - - assertNotNull( getModuleServiceRef( bundleContext ) ); - - Bundle exampleBundle = getQi4jExampleBundle( bundleContext ); - exampleBundle.stop(); - - assertNull( getModuleServiceRef( bundleContext ) ); - - exampleBundle.start(); - - assertNotNull( getModuleServiceRef( bundleContext ) ); - } - -} http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/BundleLifecycleWithCglibTest.java ---------------------------------------------------------------------- diff --git a/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/BundleLifecycleWithCglibTest.java b/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/BundleLifecycleWithCglibTest.java deleted file mode 100644 index 5f92ad0..0000000 --- a/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/BundleLifecycleWithCglibTest.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.qi4j.osgi.test; - -import static org.ops4j.pax.exam.CoreOptions.options; -import static org.ops4j.pax.exam.CoreOptions.provision; -import org.ops4j.pax.exam.Option; -import org.ops4j.pax.exam.junit.Configuration; - -public final class BundleLifecycleWithCglibTest extends BundleLifecycleTest -{ - @Configuration - public final Option[] cglibProvision() - { - String cglibVersion = System.getProperty( "version.cglib", "2.2" ); - return options( - provision( "mvn:cglib/cglib-nodep/" + cglibVersion ) - ); - } -} http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/CompositeTest.java ---------------------------------------------------------------------- diff --git a/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/CompositeTest.java b/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/CompositeTest.java deleted file mode 100644 index ea58f9d..0000000 --- a/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/CompositeTest.java +++ /dev/null @@ -1,59 +0,0 @@ -/* Copyright 2008 Edward Yakop. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -* implied. -* -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package org.qi4j.osgi.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import org.junit.Test; -import org.ops4j.pax.exam.Inject; -import org.osgi.framework.BundleContext; -import org.osgi.framework.ServiceReference; -import org.qi4j.api.composite.TransientBuilderFactory; -import org.qi4j.api.property.Property; -import org.qi4j.api.structure.Module; -import org.qi4j.core.test.osgi.AComposite; - -public final class CompositeTest extends AbstractTest -{ - @Inject - private BundleContext bundleContext; - - @Test - public final void testCreational() - { - ServiceReference moduleServiceRef = getModuleServiceRef( bundleContext ); - assertNotNull( moduleServiceRef ); - - Module module = (Module) bundleContext.getService( moduleServiceRef ); - assertNotNull( module ); - - TransientBuilderFactory factory = module.transientBuilderFactory(); - AComposite composite = factory.newTransient( AComposite.class ); - assertNotNull( composite ); - - Property<String> property = composite.property(); - assertNotNull( property ); - - assertNull( property.get() ); - property.set( "abc" ); - assertEquals( "abc", property.get() ); - - // Clean up - bundleContext.ungetService( moduleServiceRef ); - } -} http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/EntityTest.java ---------------------------------------------------------------------- diff --git a/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/EntityTest.java b/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/EntityTest.java deleted file mode 100644 index 633ab56..0000000 --- a/extensions/osgi/integrationTests/src/test/java/org/qi4j/osgi/test/EntityTest.java +++ /dev/null @@ -1,121 +0,0 @@ -/* Copyright 2008 Edward Yakop. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -* implied. -* -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -package org.qi4j.osgi.test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.fail; -import org.junit.Test; -import org.ops4j.pax.exam.Inject; -import org.osgi.framework.BundleContext; -import org.osgi.framework.ServiceReference; -import org.qi4j.api.entity.Identity; -import org.qi4j.api.property.Property; -import org.qi4j.api.structure.Module; -import org.qi4j.api.unitofwork.NoSuchEntityException; -import org.qi4j.api.unitofwork.UnitOfWork; -import org.qi4j.api.unitofwork.UnitOfWorkCompletionException; -import org.qi4j.api.unitofwork.UnitOfWorkFactory; -import org.qi4j.core.test.osgi.AnEntity; - -public final class EntityTest extends AbstractTest -{ - @Inject - private BundleContext bundleContext; - - private UnitOfWorkFactory getUnitOfWorkFactory( ServiceReference moduleRef ) - { - assertNotNull( moduleRef ); - - Module module = (Module) bundleContext.getService( moduleRef ); - assertNotNull( module ); - - return module.unitOfWorkFactory(); - } - - private String createNewEntity( UnitOfWorkFactory uowf ) - throws UnitOfWorkCompletionException - { - UnitOfWork uow = uowf.newUnitOfWork(); - AnEntity entity = uow.newEntity( AnEntity.class ); - assertNotNull( entity ); - - String identity = ( (Identity) entity ).identity().get(); - - Property<String> property = entity.property(); - assertNotNull( property ); - - assertNull( property.get() ); - property.set( "abc" ); - assertEquals( "abc", property.get() ); - - uow.complete(); - - return identity; - } - - @Test - public final void testCRUD() - throws Throwable - { - ServiceReference moduleRef = getModuleServiceRef( bundleContext ); - UnitOfWorkFactory uowf = getUnitOfWorkFactory( moduleRef ); - - // Test creational - String identity = createNewEntity( uowf ); - - // Test retrieval - UnitOfWork work = uowf.newUnitOfWork(); - AnEntity entity = work.get(AnEntity.class, identity); - assertNotNull( entity ); - - // Test update - String newPropValue = entity.property().get() + "a"; - entity.property().set( newPropValue ); - work.complete(); - - work = uowf.newUnitOfWork(); - entity = work.get(AnEntity.class, identity); - assertNotNull( entity ); - assertEquals( newPropValue, entity.property().get() ); - work.complete(); - - // Test removal - work = uowf.newUnitOfWork(); - entity = work.get(AnEntity.class, identity); - assertNotNull( entity ); - work.remove( entity ); - work.complete(); - - // Commented out: The odd thing is, removal fails here. - work = uowf.newUnitOfWork(); - try - { - entity = work.get(AnEntity.class, identity); - fail( "Test removal fail. [" + ( entity == null ) + "] identity [" + identity + "]" ); - } - catch( NoSuchEntityException e ) - { - // Expected - } - work.complete(); - - // Clean up - bundleContext.ungetService( moduleRef ); - } -} http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/osgi/pom.xml ---------------------------------------------------------------------- diff --git a/extensions/osgi/pom.xml b/extensions/osgi/pom.xml deleted file mode 100644 index 27d9e83..0000000 --- a/extensions/osgi/pom.xml +++ /dev/null @@ -1,123 +0,0 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.qi4j.sandbox</groupId> - <artifactId>qi4j-sandbox-extensions</artifactId> - <version>0-SNAPSHOT</version> - </parent> - <groupId>org.qi4j.osgi</groupId> - <artifactId>org.qi4j.core.osgi-test</artifactId> - <name>Qi4j OSGi (Build POM)</name> - <packaging>pom</packaging> - - <properties> - <version.pax.swissbox>1.2.0</version.pax.swissbox> - <version.pax.exam>1.2.0</version.pax.exam> - <version.pax.logging>1.4</version.pax.logging> - </properties> - - <modules> - <module>bootstrap</module> - <module>testBootstrap</module> - <module>example</module> - <module>integrationTests</module> - </modules> - - <!-- This POM is ONLY to initiate the modules to be built. --> - <developers> - <developer> - <id>niclas</id> - <name>Niclas Hedhman</name> - <email>[email protected]</email> - <url>http://www.codedragons.com</url> - <organization>CodeDragons Malaysia Sdn Bhd</organization> - <organizationUrl>http://www.codedragons.com</organizationUrl> - <roles> - <role>ReleaseManager</role> - <role>Developer</role> - </roles> - <timezone>UTC+8</timezone> - </developer> - <developer> - <id>rickard</id> - <name>Rickard Ãberg</name> - <email>[email protected]</email> - <url>http://www.jayway.se</url> - <organization>Jayway</organization> - <organizationUrl>http://www.jayway.se</organizationUrl> - <roles> - <role>Innovator</role> - <role>Developer</role> - </roles> - <timezone>UTC+1</timezone> - </developer> - <developer> - <id>efy</id> - <name>Edward Yakop</name> - <email>[email protected]</email> - <url>http://www.codedragons.com</url> - <organization>CodeDragons Malaysia Sdn Bhd</organization> - <organizationUrl>http://www.codedragons.com</organizationUrl> - <roles> - <role>Developer</role> - </roles> - <timezone>UTC+8</timezone> - </developer> - <developer> - <id>adreghiciu</id> - <name>Alin Dreghiciu</name> - <email>[email protected]</email> - <url>http://www.codedragons.com</url> - <organization>CodeDragons Malaysia Sdn Bhd</organization> - <organizationUrl>http://www.codedragons.com</organizationUrl> - <roles> - <role>Developer</role> - </roles> - <timezone>UTC+2</timezone> - </developer> - <developer> - <id>mesirii</id> - <name>Michael Hunger</name> - <roles> - <role>Developer</role> - </roles> - <timezone>UTC+1</timezone> - </developer> - </developers> - - <dependencies> - <!-- Pax exam --> - <dependency> - <groupId>org.ops4j.pax.exam</groupId> - <artifactId>pax-exam</artifactId> - <version>${version.pax.exam}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.ops4j.pax.exam</groupId> - <artifactId>pax-exam-junit</artifactId> - <version>${version.pax.exam}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.ops4j.pax.exam</groupId> - <artifactId>pax-exam-container-default</artifactId> - <version>${version.pax.exam}</version> - <scope>test</scope> - </dependency> - </dependencies> - - <dependencyManagement> - <dependencies> - <dependency> - <groupId>org.ops4j.pax.swissbox</groupId> - <artifactId>pax-swissbox-core</artifactId> - <version>${version.pax.swissbox}</version> - <scope>provided</scope> - </dependency> - - </dependencies> - </dependencyManagement> -</project> http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/osgi/testBootstrap/pom.xml ---------------------------------------------------------------------- diff --git a/extensions/osgi/testBootstrap/pom.xml b/extensions/osgi/testBootstrap/pom.xml deleted file mode 100644 index 8624870..0000000 --- a/extensions/osgi/testBootstrap/pom.xml +++ /dev/null @@ -1,56 +0,0 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.qi4j.osgi</groupId> - <artifactId>org.qi4j.core.osgi-test</artifactId> - <version>0-SNAPSHOT</version> - </parent> - - <groupId>org.qi4j.core.osgi</groupId> - <artifactId>org.qi4j.core.osgi-test-bootstrap</artifactId> - - <name>Qi4j Core - OSGi Bootstrap tests</name> - - <dependencies> - <!-- bootstrap --> - <dependency> - <groupId>cglib</groupId> - <artifactId>cglib-nodep</artifactId> - </dependency> - <dependency> - <groupId>org.ops4j.pax.logging</groupId> - <artifactId>pax-logging-api</artifactId> - <version>${version.pax.logging}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.ops4j.pax.logging</groupId> - <artifactId>pax-logging-service</artifactId> - <version>${version.pax.logging}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.ops4j.base</groupId> - <artifactId>ops4j-base-lang</artifactId> - <version>1.2.1</version> - </dependency> - - <dependency> - <groupId>org.ops4j.pax.swissbox</groupId> - <artifactId>pax-swissbox-core</artifactId> - <version>${version.pax.swissbox}</version> - </dependency> - <dependency> - <groupId>org.ops4j.pax.swissbox</groupId> - <artifactId>pax-swissbox-extender</artifactId> - <version>${version.pax.swissbox}</version> - </dependency> - <dependency> - <groupId>org.ops4j.pax.swissbox</groupId> - <artifactId>pax-swissbox-lifecycle</artifactId> - <version>${version.pax.swissbox}</version> - </dependency> - </dependencies> -</project> http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/extensions/pom.xml ---------------------------------------------------------------------- diff --git a/extensions/pom.xml b/extensions/pom.xml index 1abe46f..7093373 100644 --- a/extensions/pom.xml +++ b/extensions/pom.xml @@ -18,20 +18,8 @@ <module>entitystore-s3</module> <module>entitystore-swift</module> - <!-- Used coherence version not in any public repository. - Unable to make it compile against coherence-incubator. + <!-- Coherence needs a manual installation <module>entitystore-coherence</module> --> - <!-- See libraries/jini in sandbox - <module>entitystore-javaspaces</module> --> - - <!-- Unable to make it compile. - Plus `library/osgi` is already part of the SDK since 2.0. - <module>osgi</module> --> - - <!-- There are two implementations. - See the `gigaspaces_impl` branch of this repository - <module>entitstore-gigaspaces/qi4j-entitystore-gs-sample</module> --> - </modules> </project> http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/libraries/jini/common/dev-status.xml ---------------------------------------------------------------------- diff --git a/libraries/jini/common/dev-status.xml b/libraries/jini/common/dev-status.xml deleted file mode 100644 index dc92d29..0000000 --- a/libraries/jini/common/dev-status.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<module xmlns="http://www.qi4j.org/schemas/2008/dev-status/1"> - <status> - <codebase>early</codebase> - <!--none,early,beta,stable,mature--> - <documentation>brief</documentation> - <!-- none, brief, good, complete --> - <unittests>some</unittests> - <!-- none, some, good, complete --> - </status> - <licenses> - <license>ALv2</license> - </licenses> -</module> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/zest-sandbox/blob/25dbfc23/libraries/jini/common/pom.xml ---------------------------------------------------------------------- diff --git a/libraries/jini/common/pom.xml b/libraries/jini/common/pom.xml deleted file mode 100644 index 24e23a3..0000000 --- a/libraries/jini/common/pom.xml +++ /dev/null @@ -1,11 +0,0 @@ -<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"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.qi4j.library.jini</groupId> - <artifactId>org.qi4j.library.jini</artifactId> - <version>0-SNAPSHOT</version> - </parent> - <groupId>org.qi4j.library.jini</groupId> - <artifactId>org.qi4j.library.jini-common</artifactId> -</project>
