diff --git a/pack/lite/configuration/sand-demo/components.ini b/pack/lite/configuration/sand-demo/components.ini new file mode 100644 index 0000000..d9ac986 --- /dev/null +++ b/pack/lite/configuration/sand-demo/components.ini @@ -0,0 +1,16 @@ +[thing.socket.message.receiver] +port=6222 +connection.timeout=600 + +[standard.client.message.processor] +tls.required=false +sasl.supported.mechanisms=DIGEST-MD5, CRAM-MD5 + +[ibr.supported.client.message.processor] +tls.required=false + +[default.protocol.processing.processor] +relay.unknown.namespace.iq=false + +[session.manager] +session.callback.check.interval=10000 diff --git a/pack/lite/configuration/sand-demo/iot-component-binding-lite.ini b/pack/lite/configuration/sand-demo/iot-component-binding-lite.ini new file mode 100644 index 0000000..f1f8212 --- /dev/null +++ b/pack/lite/configuration/sand-demo/iot-component-binding-lite.ini @@ -0,0 +1,45 @@ +stream.service$client.message.receivers=socket.message.receiver,thing.socket.message.receiver + +socket.message.receiver$session.manager=lite.session.manager +socket.message.receiver$message.processor=standard.client.message.processor +socket.message.receiver$router=lite.router +socket.message.receiver$local.node.id.provider=lite.local.node.id.provider + +standard.client.message.processor$session.manager=lite.session.manager +standard.client.message.processor$message.channel=lite.stream.2.parsing.message.channel +standard.client.message.processor$event.message.channel=lite.any.2.event.message.channel +standard.client.message.processor$router=lite.router + +thing.socket.message.receiver$session.manager=lite.session.manager +thing.socket.message.receiver$message.processor=ibtr.supported.client.message.processor +thing.socket.message.receiver$router=lite.router +thing.socket.message.receiver$local.node.id.provider=lite.local.node.id.provider + +ibtr.supported.client.message.processor$session.manager=lite.session.manager +ibtr.supported.client.message.processor$message.channel=lite.stream.2.parsing.message.channel +ibtr.supported.client.message.processor$event.message.channel=lite.any.2.event.message.channel +ibtr.supported.client.message.processor$router=lite.router + +parsing.service$parsing.message.receiver=lite.stream.2.parsing.message.receiver +lite.stream.2.parsing.message.receiver$session.manager=lite.session.manager +lite.stream.2.parsing.message.receiver$message.channel=lite.parsing.2.processing.message.channel +lite.stream.2.parsing.message.receiver$message.processor=default.message.parsing.processor + +processing.service$processing.message.receiver=lite.parsing.2.processing.message.receiver +lite.parsing.2.processing.message.receiver$session.manager=lite.session.manager +lite.parsing.2.processing.message.receiver$message.channel=lite.any.2.routing.message.channel +lite.parsing.2.processing.message.receiver$message.processor=default.protocol.processing.processor + +event.service$event.message.receiver=lite.any.2.event.message.receiver +lite.any.2.event.message.receiver$message.processor=default.event.processor +lite.any.2.event.message.receiver$message.channel=lite.any.2.routing.message.channel +lite.any.2.event.message.receiver$session.manager=lite.session.manager + +routing.service$routing.message.receiver=lite.any.2.routing.message.receiver +lite.any.2.routing.message.receiver$session.manager=lite.session.manager +lite.any.2.routing.message.receiver$message.channel=lite.routing.2.stream.message.channel +lite.any.2.routing.message.receiver$message.processor=default.routing.processor + +stream.service$delivery.message.receiver=lite.routing.2.stream.message.receiver +lite.routing.2.stream.message.receiver$session.manager=lite.session.manager +lite.routing.2.stream.message.receiver$message.processor=default.delivery.message.processor diff --git a/pack/lite/configuration/sand-demo/plugins.ini b/pack/lite/configuration/sand-demo/plugins.ini new file mode 100644 index 0000000..0583ac4 --- /dev/null +++ b/pack/lite/configuration/sand-demo/plugins.ini @@ -0,0 +1,8 @@ +#[sand-server-things] +#thing.authorization.validity.time=300 + +#[sand-server-concentrator] +#node.confirmation.validity.time=300 + +#[sand-server-location] +#enabled=true \ No newline at end of file diff --git a/pack/lite/configuration/sand-demo/server.ini b/pack/lite/configuration/sand-demo/server.ini new file mode 100644 index 0000000..923ed6f --- /dev/null +++ b/pack/lite/configuration/sand-demo/server.ini @@ -0,0 +1,3 @@ +#disabled.services=stream.service +component.binding.profile=${config.dir}/iot-component-binding-lite.ini +domain.name=localhost diff --git a/pack/lite/iot-pom.xml b/pack/lite/iot-pom.xml index 0e8ea9a..9dfb073 100644 --- a/pack/lite/iot-pom.xml +++ b/pack/lite/iot-pom.xml @@ -79,12 +79,6 @@ com.thefirstlineofcode.sand.server.lite sand-server-lite-friends - - - - com.thefirstlineofcode.sand.demo - sand-demo-server-lite - diff --git a/pack/lite/sand-demo-pom.xml b/pack/lite/sand-demo-pom.xml new file mode 100644 index 0000000..0e8ea9a --- /dev/null +++ b/pack/lite/sand-demo-pom.xml @@ -0,0 +1,108 @@ + + + + 4.0.0 + + + com.thefirstlineofcode.granite + granite-pack + 1.0.5-RELEASE + ../pom.xml + + + com.thefirstlineofcode.granite.pack.lite + granite-pack-lite-iot + + + + + com.thefirstlineofcode.sand.server + sand-server-stream + + + + + com.thefirstlineofcode.granite.lite + granite-lite-dba + + + com.thefirstlineofcode.granite.lite + granite-lite-session + + + com.thefirstlineofcode.granite.lite + granite-lite-pipeline + + + com.thefirstlineofcode.granite.lite + granite-lite-auth + + + com.thefirstlineofcode.granite.lite + granite-lite-im + + + + + com.thefirstlineofcode.sand.server + sand-server-location + + + com.thefirstlineofcode.sand.server + sand-server-actuator + + + com.thefirstlineofcode.sand.server + sand-server-console + + + com.thefirstlineofcode.sand.server + sand-server-operator + + + + + com.thefirstlineofcode.sand.server.lite + sand-server-lite-things + + + com.thefirstlineofcode.sand.server.lite + sand-server-lite-ibtr + + + com.thefirstlineofcode.sand.server.lite + sand-server-lite-concentrator + + + com.thefirstlineofcode.sand.server.lite + sand-server-lite-friends + + + + + com.thefirstlineofcode.sand.demo + sand-demo-server-lite + + + + + + + org.apache.maven.plugins + maven-jar-plugin + 2.4 + + + + com.thefirstlineofcode.granite.lite.pack.Main + + + + + + + + + diff --git a/pack/lite/src/main/java/com/thefirstlineofcode/granite/pack/lite/Main.java b/pack/lite/src/main/java/com/thefirstlineofcode/granite/pack/lite/Main.java index d7df9ff..763cae4 100644 --- a/pack/lite/src/main/java/com/thefirstlineofcode/granite/pack/lite/Main.java +++ b/pack/lite/src/main/java/com/thefirstlineofcode/granite/pack/lite/Main.java @@ -97,8 +97,10 @@ private Options parseOptions(String[] args) { options.setProtocol(Options.Protocol.STANDARD); } else if ("iot".equals(args[i])) { options.setProtocol(Options.Protocol.IOT); + } else if ("sand-demo".equals(args[i])) { + options.setProtocol(Protocol.SAND_DEMO); } else { - throw new IllegalArgumentException(String.format("Illegal protocol: %s. Only 'mini', 'standard' and 'iot' are supported.", args[i])); + throw new IllegalArgumentException(String.format("Illegal protocol: %s. Only 'mini', 'standard', 'iot' and 'sand-demo' are supported.", args[i])); } i++; } else if ("-webcamMode".equals(args[i])) { @@ -146,7 +148,7 @@ private Options parseOptions(String[] args) { } if (options.getWebcamMode() == null) { - if (options.getProtocol() == Protocol.IOT) { + if (options.getProtocol() == Protocol.SAND_DEMO) { options.setWebcamMode(WebcamMode.P2P); } else { options.setWebcamMode(WebcamMode.NONE); @@ -177,7 +179,7 @@ private void printUsage() { System.out.println("-cleanUpdate Clean and update specified modules."); System.out.println("-cleanCache Clean the packing cache."); System.out.println("-offline Run in offline mode."); - System.out.println("-protocol Specify the protocol. Optional protocols are 'mini', 'standard' or 'iot'. Default is 'standard'."); + System.out.println("-protocol Specify the protocol. Optional protocols are 'mini', 'standard', 'iot' or 'sand-demo'. Default is 'standard'."); System.out.println("-webcamMode Specify that which webcam plugin needs to be deployed. Optional plugins are 'none', 'p2p', 'kurento'. Default is 'none'."); } } diff --git a/pack/lite/src/main/java/com/thefirstlineofcode/granite/pack/lite/Options.java b/pack/lite/src/main/java/com/thefirstlineofcode/granite/pack/lite/Options.java index 734334d..feed9db 100644 --- a/pack/lite/src/main/java/com/thefirstlineofcode/granite/pack/lite/Options.java +++ b/pack/lite/src/main/java/com/thefirstlineofcode/granite/pack/lite/Options.java @@ -26,7 +26,8 @@ public enum WebcamMode { public enum Protocol { MINI, STANDARD, - IOT + IOT, + SAND_DEMO } public Options() { diff --git a/pack/lite/src/main/java/com/thefirstlineofcode/granite/pack/lite/Packer.java b/pack/lite/src/main/java/com/thefirstlineofcode/granite/pack/lite/Packer.java index bc474a1..da0c761 100644 --- a/pack/lite/src/main/java/com/thefirstlineofcode/granite/pack/lite/Packer.java +++ b/pack/lite/src/main/java/com/thefirstlineofcode/granite/pack/lite/Packer.java @@ -21,7 +21,8 @@ public class Packer { private static final String CONFIGURATION_DIR = "configuration"; private static final String SAND_PROJECT_PREFIX = "sand-"; - + private static final String SAND_DEMO_PROJECT_PREFIX = "sand-demo-"; + private Options options; private List systemLibraries; @@ -93,8 +94,9 @@ private void copyBasicServerToZip(File basicServerZip, ZipOutputStream zos) { if (isSystemLibrary(entryName)) { int lastSlash = entryName.lastIndexOf('/'); String libraryName = entryName.substring(lastSlash + 1); - if (libraryName.startsWith(SAND_PROJECT_PREFIX) && - options.getProtocol() != Protocol.IOT) + if (libraryName.startsWith(SAND_PROJECT_PREFIX) && (options.getProtocol() != Protocol.IOT || options.getProtocol() != Protocol.SAND_DEMO)) + continue; + if (libraryName.startsWith(SAND_DEMO_PROJECT_PREFIX) && options.getProtocol() != Protocol.SAND_DEMO) continue; systemLibraries.add(libraryName); } @@ -211,8 +213,10 @@ private void copyDependencies() { PackUtils.runMvn(new File(options.getProjectDirPath()), options.isOffline(), "-fmini-pom.xml", "dependency:copy-dependencies"); } else if (options.getProtocol() == Options.Protocol.STANDARD) { PackUtils.runMvn(new File(options.getProjectDirPath()), options.isOffline(), "-fstandard-pom.xml", "dependency:copy-dependencies"); - } else { + } else if (options.getProtocol() == Protocol.IOT) { PackUtils.runMvn(new File(options.getProjectDirPath()), options.isOffline(), "-fiot-pom.xml", "dependency:copy-dependencies"); + } else { + PackUtils.runMvn(new File(options.getProjectDirPath()), options.isOffline(), "-fsand-demo-pom.xml", "dependency:copy-dependencies"); if (options.getWebcamMode() == WebcamMode.P2P) { PackUtils.runMvn(new File(options.getProjectDirPath()), options.isOffline(), "-fp2p-webcam-pom.xml", "dependency:copy-dependencies"); @@ -239,8 +243,10 @@ private void writeGraniteConfigFilesToZip(String targetDirPath, ZipOutputStream configurationFilesDir = new File(configurationDir, "standard"); } else if (options.getProtocol() == Options.Protocol.IOT) { configurationFilesDir = new File(configurationDir, "iot"); + } else if (options.getProtocol() == Protocol.SAND_DEMO) { + configurationFilesDir = new File(configurationDir, "sand-demo"); } else { - throw new IllegalArgumentException("Only support 'mini', 'standard' and 'iot' protocols now."); + throw new IllegalArgumentException("Only support 'mini', 'standard', 'iot' and 'sand-demo' protocols now."); } for (File configurationFile : configurationFilesDir.listFiles()) {