diff --git a/commons/build.gradle b/commons/build.gradle new file mode 100644 index 0000000..1ec52e6 --- /dev/null +++ b/commons/build.gradle @@ -0,0 +1,15 @@ +group = 'asys' +version = '0.0-SNAPSHOT' + +apply plugin: 'osgi' + +jar { + manifest { + name = 'ASys Commons' + instruction 'Bundle-Activator', 'asys.commons.Activator' + } +} + +dependencies { + compile project(':core') +} diff --git a/commons/src/main/java/asys/commons/Activator.java b/commons/src/main/java/asys/commons/Activator.java new file mode 100644 index 0000000..e5f14da --- /dev/null +++ b/commons/src/main/java/asys/commons/Activator.java @@ -0,0 +1,24 @@ +/* + * DmitriyMX + * 2016-12-05 + */ +package asys.commons; + +import asys.api.BankObject; +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceRegistration; + +public class Activator implements BundleActivator { + private ServiceRegistration serviceBankObjects; + + @Override + public void start(BundleContext context) throws Exception { + serviceBankObjects = context.registerService(BankObject.class.getName(), new SimpleBankObject(), null); + } + + @Override + public void stop(BundleContext context) throws Exception { + serviceBankObjects.unregister(); + } +} diff --git a/commons/src/main/java/asys/commons/SimpleBankObject.java b/commons/src/main/java/asys/commons/SimpleBankObject.java new file mode 100644 index 0000000..3e98dee --- /dev/null +++ b/commons/src/main/java/asys/commons/SimpleBankObject.java @@ -0,0 +1,22 @@ +/* + * DmitriyMX + * 2016-08-15 + */ +package asys.commons; + +import asys.api.BankObject; + +import java.util.HashMap; +import java.util.Map; + +public class SimpleBankObject implements BankObject { + private Map bank = new HashMap<>(); + + public Object get(String name) { + return bank.remove(name); + } + + public void save(String name, Object object) { + bank.put(name, object); + } +} \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index b3d8a7e..28cf1d0 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,2 +1,3 @@ rootProject.name = 'asys' -include 'core' \ No newline at end of file +include 'core' +include 'commons' \ No newline at end of file