Skip to content

Commit

Permalink
DS Examples
Browse files Browse the repository at this point in the history
Signed-off-by: Mark Hoffmann <m.hoffmann@data-in-motion.biz>
  • Loading branch information
maho7791 committed May 17, 2023
1 parent 3701e9f commit 99f4b53
Show file tree
Hide file tree
Showing 52 changed files with 663 additions and 13 deletions.
11 changes: 11 additions & 0 deletions org.gecko.playground.ds.dynamics/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="aQute.bnd.classpath.container"/>
<classpathentry kind="src" output="bin" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
1 change: 1 addition & 0 deletions org.gecko.playground.ds.dynamics/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/bin/
23 changes: 23 additions & 0 deletions org.gecko.playground.ds.dynamics/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.gecko.playground.ds.dynamics</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>bndtools.core.bndbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>bndtools.core.bndnature</nature>
</natures>
</projectDescription>
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8
encoding/bnd.bnd=UTF-8
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=17
1 change: 1 addition & 0 deletions org.gecko.playground.ds.dynamics/bnd.bnd
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
-buildpath: org.gecko.playground.exchange.api
22 changes: 22 additions & 0 deletions org.gecko.playground.ds.dynamics/launch-dynamic.bndrun
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
-runfw: org.apache.felix.framework;version='[7.0.5,7.0.5]'
-runee: JavaSE-17

-resolve.effective: active

-runrequires: \
bnd.identity;id='org.gecko.playground.ds.dynamics',\
bnd.identity;id='org.apache.felix.gogo.command',\
bnd.identity;id='org.apache.felix.gogo.shell',\
bnd.identity;id='org.gecko.playground.exchange.impl'
-runbundles: \
org.apache.felix.gogo.command;version='[1.1.2,1.1.3)',\
org.apache.felix.gogo.runtime;version='[1.1.6,1.1.7)',\
org.apache.felix.gogo.shell;version='[1.1.4,1.1.5)',\
org.apache.felix.scr;version='[2.2.6,2.2.7)',\
org.gecko.playground.exchange.impl;version=snapshot,\
org.gecko.playground.exchange.api;version=snapshot,\
org.osgi.service.component;version='[1.5.1,1.5.2)',\
org.osgi.util.function;version='[1.2.0,1.2.1)',\
org.osgi.util.promise;version='[1.3.0,1.3.1)',\
org.osgi.service.log;version='[1.5.0,1.5.1)',\
org.gecko.playground.ds.dynamics;version=snapshot
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package org.gecko.playground.ds.dynamics;

import static java.util.Objects.isNull;

import java.util.concurrent.atomic.AtomicReference;

import org.gecko.playground.exchange.api.Exchange;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate;
import org.osgi.service.component.annotations.Reference;
import org.osgi.service.component.annotations.ReferenceCardinality;
import org.osgi.service.component.annotations.ReferencePolicy;

@Component
public class ExchangeComponent {

private AtomicReference<Exchange> exchangeRef;

@Activate
public void activate() {
System.out.println("Activate dynamic exchange component");
Exchange exchange = exchangeRef.get();
if (isNull(exchange)) {
System.out.println("Exchange not available!");
} else {
System.out.println(String.format("There are %d orders", exchange.getAllOrders().size()));
}
}

@Deactivate
public void deactivate() {
System.out.println("De-Activate dynamic exchange component");
}

@Reference(cardinality = ReferenceCardinality.OPTIONAL, policy = ReferencePolicy.DYNAMIC)
// @Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.DYNAMIC)
public void setExchange(Exchange exchange) {
System.out.println("Dynamic set exchange " + exchange.toString());
exchangeRef.set(exchange);
}

public void unsetExchange(Exchange exchange) {
System.out.println("Dynamic unset exchange " + exchange.toString());
exchangeRef.compareAndSet(exchange, null);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package org.gecko.playground.ds.dynamics;
11 changes: 11 additions & 0 deletions org.gecko.playground.ds.filter/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="aQute.bnd.classpath.container"/>
<classpathentry kind="src" output="bin" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
1 change: 1 addition & 0 deletions org.gecko.playground.ds.filter/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/bin/
23 changes: 23 additions & 0 deletions org.gecko.playground.ds.filter/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.gecko.playground.ds.filter</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>bndtools.core.bndbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>bndtools.core.bndnature</nature>
</natures>
</projectDescription>
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8
encoding/bnd.bnd=UTF-8
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=17
Empty file.
15 changes: 15 additions & 0 deletions org.gecko.playground.ds.filter/launch-filter.bndrun
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
-runfw: org.apache.felix.framework;version='[7.0.5,7.0.5]'
-runee: JavaSE-17
-runrequires: \
bnd.identity;id='org.apache.felix.gogo.command',\
bnd.identity;id='org.apache.felix.gogo.shell',\
bnd.identity;id='org.gecko.playground.ds.filter'
-runbundles: \
org.apache.felix.gogo.command;version='[1.1.2,1.1.3)',\
org.apache.felix.gogo.runtime;version='[1.1.6,1.1.7)',\
org.apache.felix.gogo.shell;version='[1.1.4,1.1.5)',\
org.apache.felix.scr;version='[2.2.6,2.2.7)',\
org.gecko.playground.ds.filter;version=snapshot,\
org.osgi.service.component;version='[1.5.1,1.5.2)',\
org.osgi.util.function;version='[1.2.0,1.2.1)',\
org.osgi.util.promise;version='[1.3.0,1.3.1)'
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package org.gecko.playground.ds.filter;

import org.osgi.service.component.annotations.Component;

@Component(property = "lang=EN")
public class GreetImpl implements GreeterService {

@Override
public String greet(String name) {
return "Greetz, " + name;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package org.gecko.playground.ds.filter;

import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;

@Component
public class GreeterComponent {

private GreeterService greeter;

@Activate
public void activate() {
System.out.println("Say greeting in german: " + greeter.greet("Emil"));
}

@Reference(target = "(lang=DE)")
public void setGreeter(GreeterService greeter) {
this.greeter = greeter;
}

public void unsetGreeter(GreeterService greeter) {
this.greeter = null;
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package org.gecko.playground.ds.filter;

public interface GreeterService {

String greet(String name);

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package org.gecko.playground.ds.filter;

import org.osgi.service.component.annotations.Component;

@Component(property = "lang=RE")
public class GrussImpl implements GreeterService {

@Override
public String greet(String name) {
return "Grüße dich, " + name;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package org.gecko.playground.ds.filter;
11 changes: 11 additions & 0 deletions org.gecko.playground.ds.greedy/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="aQute.bnd.classpath.container"/>
<classpathentry kind="src" output="bin" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
1 change: 1 addition & 0 deletions org.gecko.playground.ds.greedy/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/bin/
23 changes: 23 additions & 0 deletions org.gecko.playground.ds.greedy/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.gecko.playground.ds.greedy</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>bndtools.core.bndbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>bndtools.core.bndnature</nature>
</natures>
</projectDescription>
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=17
4 changes: 4 additions & 0 deletions org.gecko.playground.ds.greedy/bnd.bnd
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
-buildpath: \
org.osgi.framework

-sub: *.bnd
File renamed without changes.
1 change: 1 addition & 0 deletions org.gecko.playground.ds.greedy/impl.bnd
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
-privatepackage: org.gecko.playground.ds.greedy.impl
25 changes: 25 additions & 0 deletions org.gecko.playground.ds.greedy/launch_greedy.bndrun
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
-runfw: org.apache.felix.framework;version='[7.0.5,7.0.5]'
-runee: JavaSE-17
-resolve.effective: active
-runrequires: \
bnd.identity;id='org.apache.felix.gogo.command',\
bnd.identity;id='org.apache.felix.gogo.shell',\
bnd.identity;id='org.gecko.playground.ds.greedy.client',\
bnd.identity;id='org.gecko.playground.ds.greedy.impl',\
bnd.identity;id='org.gecko.playground.ds.greedy.very'
-runbundles: \
org.apache.felix.gogo.command;version='[1.1.2,1.1.3)',\
org.apache.felix.gogo.runtime;version='[1.1.6,1.1.7)',\
org.apache.felix.gogo.shell;version='[1.1.4,1.1.5)',\
org.gecko.playground.ds.greedy.very;version=snapshot,\
org.apache.felix.scr;version='[2.2.6,2.2.7)',\
org.osgi.service.component;version='[1.5.1,1.5.2)',\
org.osgi.util.function;version='[1.2.0,1.2.1)',\
org.osgi.util.promise;version='[1.3.0,1.3.1)',\
org.gecko.playground.ds.greedy.client;version=snapshot,\
org.gecko.playground.ds.greedy.impl;version=snapshot

-runproperties: \
osgi.console.enable.builtin=false,\
osgi.console=
-runblacklist: bnd.identity;id='org.osgi.service.cm'
Loading

0 comments on commit 99f4b53

Please sign in to comment.