You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by th...@apache.org on 2012/04/12 14:55:37 UTC
svn commit: r1325229 - in /river/jtsk/skunk/easystart: ./
examples/hello/config/ src-extra/
src-extra/org/apache/river/extra/easystart/config/
test/src/org/apache/river/extra/easystart/
Author: thobbs
Date: Thu Apr 12 12:55:36 2012
New Revision: 1325229
URL: http://svn.apache.org/viewvc?rev=1325229&view=rev
Log:
Getting closer to a fully generic config
Added:
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/CodebaseSetting.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/GroupedSetting.java
Modified:
river/jtsk/skunk/easystart/build.xml
river/jtsk/skunk/easystart/examples/hello/config/start-reggie.config
river/jtsk/skunk/easystart/src-extra/build.xml
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ConventionalLookupServiceConfiguration.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/Options.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/start-reggie.config
river/jtsk/skunk/easystart/test/src/org/apache/river/extra/easystart/GroupEncapsulatorTest.java
Modified: river/jtsk/skunk/easystart/build.xml
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/build.xml?rev=1325229&r1=1325228&r2=1325229&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/build.xml (original)
+++ river/jtsk/skunk/easystart/build.xml Thu Apr 12 12:55:36 2012
@@ -680,6 +680,7 @@
<!-- move to sep compile.extra target or add to compile target? -->
<javac-cmd source.dir="${src-extra.dir}" dest.dir="${build.classes.dir}">
+ <classpath refid="compile.classpath" />
</javac-cmd>
<jar destfile="${lib.dir}/extra.jar" index="false">
<fileset dir="${build.classes.dir}">
@@ -689,6 +690,8 @@
<fileset dir="${src.dir}">
<include name="org/apache/river/config/**/*.properties"/>
<include name="org/apache/river/config/**/*.vm"/>
+ <include name="org/apache/river/config/**/*.config"/>
+ <include name="org/apache/river/config/**/*.policy"/>
</fileset>
</jar>
</target>
Modified: river/jtsk/skunk/easystart/examples/hello/config/start-reggie.config
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/examples/hello/config/start-reggie.config?rev=1325229&r1=1325228&r2=1325229&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/examples/hello/config/start-reggie.config (original)
+++ river/jtsk/skunk/easystart/examples/hello/config/start-reggie.config Thu Apr 12 12:55:36 2012
@@ -29,7 +29,8 @@ com.sun.jini.start {
new Object[] {
"http://", ConfigUtil.getHostName(), ":8080/reggie-dl.jar",
" ",
- "http://", ConfigUtil.getHostName(), ":8080/jsk-dl.jar" } );
+ "http://", ConfigUtil.getHostName(), ":8080/jsk-dl.jar" } );
+
private static policy = "config${/}reggie.policy";
private static classpath = "..${/}..${/}lib${/}reggie.jar";
private static config = "config${/}jrmp-reggie.config";
Modified: river/jtsk/skunk/easystart/src-extra/build.xml
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/build.xml?rev=1325229&r1=1325228&r2=1325229&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/build.xml (original)
+++ river/jtsk/skunk/easystart/src-extra/build.xml Thu Apr 12 12:55:36 2012
@@ -28,8 +28,11 @@
<pathelement path="../lib/jsk-platform.jar"/>
<pathelement path="../lib/jsk-lib.jar"/>
<pathelement path="../lib/tools.jar"/>
+ <pathelement path="../lib/reggie.jar"/>
+ <pathelement path="../lib/extra.jar"/>
+ <pathelement path="../velocity/velocity-1.7.jar"/>
</path>
-
+ <!--
<target name="clean">
<delete dir="${extras.classes}"/>
</target>
@@ -42,7 +45,8 @@
<javac srcdir="."
destdir="${extras.classes}"
source="6"
- target="6">
+ target="6"
+ debug="true">
<classpath refid="river.lib"/>
</javac>
</target>
@@ -50,13 +54,13 @@
<target name="jar" depends="compile">
<jar destfile="${river.extras.jar}">
<fileset dir="${extras.classes}" includes="**/*.class"/>
- <fileset dir="." includes="**/*.config"/>
- <fileset dir="." includes="**/*.policy"/>
+ <fileset dir="." includes="**/empty.config"/>
+ <fileset dir="../examples/hello/config" includes="reggie.policy"/>
</jar>
</target>
- <target name="build" depends="init,compile,jar,clean">
- <antcall target="clean"/>
+ -->
+ <target name="build" ><!-- depends="init,compile,jar,clean">
+ <antcall target="clean"/> -->
</target>
-
</project>
\ No newline at end of file
Added: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/CodebaseSetting.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/CodebaseSetting.java?rev=1325229&view=auto
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/CodebaseSetting.java (added)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/CodebaseSetting.java Thu Apr 12 12:55:36 2012
@@ -0,0 +1,46 @@
+package org.apache.river.extra.easystart.config;
+
+import java.util.List;
+
+public class CodebaseSetting extends GroupedSetting {
+
+ private final Setting httpPort;
+ private final Setting httpServer;
+
+ protected CodebaseSetting(String name,
+ Setting httpPort,
+ Setting httpServer,
+ List<String> defaults,
+ String format,
+ String elementFormat,
+ boolean serviceDescription) {
+ super(name, defaults, format, elementFormat, serviceDescription);
+
+ this.httpPort = httpPort;
+ this.httpServer = httpServer;
+ }
+
+ @Override
+ protected String formatAsArray(List<String> items) {
+ StringBuilder sb = new StringBuilder();
+ sb
+ .append("ConfigUtil.concat(")
+ .append('\n')
+ .append("new Object[] {")
+ .append('\n');
+ for(String item : items) {
+ sb
+ .append("\"http://\", ")
+ .append(httpServer.getOverride())
+ .append(", \":")
+ .append(httpPort.getOverride())
+ .append('/')
+ .append(item)
+ .append("\", \" \",\n");
+ }
+ sb.append(" })");
+
+// return String.format(super.getFormatter(), sb.toString());
+ return sb.toString();
+ }
+}
Modified: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ConventionalLookupServiceConfiguration.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ConventionalLookupServiceConfiguration.java?rev=1325229&r1=1325228&r2=1325229&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ConventionalLookupServiceConfiguration.java (original)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ConventionalLookupServiceConfiguration.java Thu Apr 12 12:55:36 2012
@@ -31,6 +31,11 @@ public class ConventionalLookupServiceCo
// opts.RIVER_HOME; - no override for this
opts.HTTP_PORT.setOverride("8080");
opts.JINI_PORT.setOverride("4160");
+ opts.MEMBER_GROUPS.add("Lester").add("Jeff");
+ opts.LOOKUP_GROUPS.add("Chuck").add("Sarah");
+ opts.SERVICE_IMPL.setOverride("com.sun.jini.reggie.TransientRegistrarImpl");
+ opts.CODEBASE.add("reggie-dl.jar").add("jsk-dl.jar");
+// opts.HTTP_SERVER.setOverride("nowhere");
// opts.setGroup("lappy");
// opts.setHttpPort("8080");
// opts.setJiniPort(4931);
Added: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/GroupedSetting.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/GroupedSetting.java?rev=1325229&view=auto
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/GroupedSetting.java (added)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/GroupedSetting.java Thu Apr 12 12:55:36 2012
@@ -0,0 +1,64 @@
+package org.apache.river.extra.easystart.config;
+
+import java.util.LinkedList;
+import java.util.List;
+
+public class GroupedSetting extends Setting {
+
+ private final String elementFormat;
+ private final List<String> defaults;
+ private final List<String> overrides = new LinkedList<String>();
+
+ private volatile boolean overriden = false;
+
+ protected GroupedSetting(String name,
+ List<String> defaults,
+ String format,
+ String elementFormat,
+ boolean serviceDescription) {
+ super(name, "", format, serviceDescription);
+ this.elementFormat = elementFormat;
+ this.defaults = defaults;
+ overrides.addAll(defaults);
+ }
+
+ /**
+ * Not too worried about concurrency issues right now, heavy duty locking
+ * etc for this little used code seems overkill right now.
+ *
+ * @param s
+ * @return
+ */
+ public GroupedSetting add(String s) {
+ if (!overriden) {
+ overriden = true;
+ overrides.clear();
+ }
+ overrides.add(s);
+ return this;
+ }
+
+ @Override
+ public String getDefault() {
+ return formatAsArray(defaults);
+ }
+
+ @Override
+ public String getOverride() {
+ return formatAsArray(overrides);
+ }
+
+ protected String formatAsArray(List<String> items) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("new String[] { ");
+ for(String item : items) {
+ sb
+ .append(String.format(this.elementFormat, item))
+ .append(", ");
+ }
+ sb.append(" }");
+
+// return String.format(super.getFormatter(), sb.toString());
+ return sb.toString();
+ }
+}
Modified: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/Options.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/Options.java?rev=1325229&r1=1325228&r2=1325229&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/Options.java (original)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/Options.java Thu Apr 12 12:55:36 2012
@@ -1,5 +1,7 @@
package org.apache.river.extra.easystart.config;
+import java.util.Collections;
+import java.util.LinkedList;
import java.util.logging.Logger;
public class Options {
@@ -8,6 +10,7 @@ public class Options {
public static final String NO_FORMAT = "%s";
public static final String STRING_FORMAT = "\"%s\"";
+ public static final String ESCAPED_STRING_FORMAT = "\\\"%s\\\"";
public static final String INTEGER_FORMAT = "%s";
private static final String RIVER_HOME_ENV_NAME = "RIVER_HOME";
@@ -28,11 +31,46 @@ public class Options {
public Setting JINI_PORT = new Setting("initialUnicastDiscoveryPort", "4160", INTEGER_FORMAT, true);
public Setting HTTP_PORT = new Setting("httpPort", "8080", INTEGER_FORMAT, false);
+ public GroupedSetting MEMBER_GROUPS = new GroupedSetting("initialMemberGroups",
+ new LinkedList<String>(),
+ NO_FORMAT,
+ ESCAPED_STRING_FORMAT,
+ true);
+
+ public GroupedSetting LOOKUP_GROUPS = new GroupedSetting("initialLookupGroups",
+ new LinkedList<String>(),
+ NO_FORMAT,
+ ESCAPED_STRING_FORMAT,
+ true);
+
+ public Setting SERVICE_IMPL = new Setting("serviceImpl",
+ "",
+ STRING_FORMAT,
+ false);
+
+ public Setting HTTP_SERVER = new Setting("httpServer",
+ "ConfigUtil.getHostName()",
+ NO_FORMAT,
+ false);
+
+ public CodebaseSetting CODEBASE = new CodebaseSetting("codebase",
+ HTTP_PORT,
+ HTTP_SERVER,
+ Collections.<String>emptyList(),
+ NO_FORMAT,
+ NO_FORMAT,
+ false);
+
public Setting[] OPTIONS = new Setting[] {
RIVER_HOME,
PACKAGE_NAME,
JINI_PORT,
- HTTP_PORT
+ HTTP_PORT,
+ MEMBER_GROUPS,
+ LOOKUP_GROUPS,
+ SERVICE_IMPL,
+ HTTP_SERVER,
+ CODEBASE
};
// private static final String RIVER_HOME = "RIVER_HOME";
Modified: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/start-reggie.config
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/start-reggie.config?rev=1325229&r1=1325228&r2=1325229&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/start-reggie.config (original)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/start-reggie.config Thu Apr 12 12:55:36 2012
@@ -24,12 +24,7 @@ import com.sun.jini.start.ServiceDescrip
com.sun.jini.start {
- private static codebase =
- ConfigUtil.concat(
- new Object[] {
- "http://", ConfigUtil.getHostName(), ":${httpPort}/reggie-dl.jar",
- " ",
- "http://", ConfigUtil.getHostName(), ":${httpPort}/jsk-dl.jar" } );
+ private static codebase = ${codebase};
private static policy = ${riverHome}+"/src-extra/policy.all";
private static classpath = ${riverHome}+"/lib/reggie.jar";
@@ -39,15 +34,13 @@ com.sun.jini.start {
codebase,
policy,
classpath,
- "com.sun.jini.reggie.TransientRegistrarImpl",
+ ${serviceImpl},
new String[] {
"-"
//overrides
${options}
//overrides end
/*,
- "com.sun.jini.reggie.initialMemberGroups=new String[] {${groups}}"
- "com.sun.jini.reggie.initialUnicastDiscoveryPort=${initialUnicastDiscoveryPort}",
"com.sun.jini.reggie.serverExporter="${serverExporter}"
*/
}
@@ -61,10 +54,6 @@ ${servicePackageName} {
${defaults}
//defaults end
- initialMemberGroups = new String[] {};
-// initialUnicastDiscoveryPort = ${default_initialUnicastDiscoveryPort}; //4160;
- serverExporter=new net.jini.jrmp.JrmpExporter();
-
// //static serverExporter = new BasicJeriExporter( ${registryEndpoint}, new BasicILFactory());
// serverExporter=new net.jini.jrmp.JrmpExporter();
//
Modified: river/jtsk/skunk/easystart/test/src/org/apache/river/extra/easystart/GroupEncapsulatorTest.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/test/src/org/apache/river/extra/easystart/GroupEncapsulatorTest.java?rev=1325229&r1=1325228&r2=1325229&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/test/src/org/apache/river/extra/easystart/GroupEncapsulatorTest.java (original)
+++ river/jtsk/skunk/easystart/test/src/org/apache/river/extra/easystart/GroupEncapsulatorTest.java Thu Apr 12 12:55:36 2012
@@ -18,6 +18,8 @@
package org.apache.river.extra.easystart;
+import org.apache.river.extra.easystart.broken.GroupEncapsulator;
+
import junit.framework.TestCase;
public class GroupEncapsulatorTest extends TestCase {