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/16 15:02:04 UTC
svn commit: r1326586 - in /river/jtsk/skunk/easystart:
scala-src/org/apache/river/scala/ src-extra/org/apache/river/extra/easystart/
src-extra/org/apache/river/extra/easystart/config/
src-extra/org/apache/river/extra/easystart/config/settings/ src-extr...
Author: thobbs
Date: Mon Apr 16 13:02:03 2012
New Revision: 1326586
URL: http://svn.apache.org/viewvc?rev=1326586&view=rev
Log:
Working easy config for default river services
Added:
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartAll.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/AbstractEasyConfiguration.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ApplicationOptions.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/DefaultOptions.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/example/
Removed:
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/AbsolutePath.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/AbstractEasyConfiguration.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/GroupEncapsulator.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/LookupServiceConfiguration.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/MahaloServiceConfiguration.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/OutriggerServiceConfiguration.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/DefaultOptions.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/Options.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/SettingsFactory.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/discovery/
Modified:
river/jtsk/skunk/easystart/scala-src/org/apache/river/scala/Djinn.scala
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/CheckServices.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartLookupService.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartMahaloService.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartOutriggerService.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ConfigurationFactory.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/JavaSpaceConfiguration.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/LookupServiceConfiguration.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/TransactionServiceConfiguration.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/ClasspathSetting.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/CodebaseSetting.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/GroupedSetting.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/PolicySetting.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/ServerExporterSetting.java
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/Setting.java
Modified: river/jtsk/skunk/easystart/scala-src/org/apache/river/scala/Djinn.scala
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/scala-src/org/apache/river/scala/Djinn.scala?rev=1326586&r1=1326585&r2=1326586&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/scala-src/org/apache/river/scala/Djinn.scala (original)
+++ river/jtsk/skunk/easystart/scala-src/org/apache/river/scala/Djinn.scala Mon Apr 16 13:02:03 2012
@@ -32,11 +32,11 @@ import com.sun.jini.lookup.entry.LookupA
import net.jini.lookup.entry.Name
import net.jini.core.entry.Entry
import java.util.Arrays
-import org.apache.river.extra.easystart.discovery.MulticastDiscovery
-import org.apache.river.extra.easystart.discovery.UnicastDiscovery
+import org.apache.river.extra.discovery.MulticastDiscovery
+import org.apache.river.extra.discovery.UnicastDiscovery
import net.jini.core.lookup.ServiceTemplate
import net.jini.space.JavaSpace
-import org.apache.river.extra.easystart.discovery.EasyDiscovery
+import org.apache.river.extra.discovery.EasyDiscovery
import net.jini.core.discovery.LookupLocator
import scala.collection.mutable.ListBuffer
import net.jini.core.lookup.ServiceID
Modified: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/CheckServices.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/CheckServices.java?rev=1326586&r1=1326585&r2=1326586&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/CheckServices.java (original)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/CheckServices.java Mon Apr 16 13:02:03 2012
@@ -46,9 +46,14 @@ public class CheckServices {
System.setSecurityManager(new RMISecurityManager());
checkHttpServer(port);
+
checkLookupServices();
checkSpaces();
checkTransactionManagers();
+
+ checkLookupServices("jini://localhost:4161");
+ checkSpaces("jini://localhost:4161");
+ checkTransactionManagers("jini://localhost:4161");
//
// checkAll();
}
@@ -65,7 +70,10 @@ public class CheckServices {
}
private static void checkLookupServices() throws IOException, ClassNotFoundException {
- LookupLocator ll = new LookupLocator("jini://localhost");
+ checkLookupServices("jini://localhost");
+ }
+ private static void checkLookupServices(String lus) throws IOException, ClassNotFoundException {
+ LookupLocator ll = new LookupLocator(lus);
ServiceRegistrar sr = ll.getRegistrar();
if(null != sr) {
@@ -88,7 +96,10 @@ public class CheckServices {
}
private static void checkSpaces() throws IOException, ClassNotFoundException {
- LookupLocator ll = new LookupLocator("jini://localhost");
+ checkSpaces("jini://localhost");
+ }
+ private static void checkSpaces(String lus) throws IOException, ClassNotFoundException {
+ LookupLocator ll = new LookupLocator(lus);
ServiceRegistrar sr = ll.getRegistrar();
if(null != sr) {
@@ -111,7 +122,10 @@ public class CheckServices {
}
private static void checkTransactionManagers() throws IOException, ClassNotFoundException {
- LookupLocator ll = new LookupLocator("jini://localhost");
+ checkTransactionManagers("jini://localhost");
+ }
+ private static void checkTransactionManagers(String lus) throws IOException, ClassNotFoundException {
+ LookupLocator ll = new LookupLocator(lus);
ServiceRegistrar sr = ll.getRegistrar();
if(null != sr) {
Added: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartAll.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartAll.java?rev=1326586&view=auto
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartAll.java (added)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartAll.java Mon Apr 16 13:02:03 2012
@@ -0,0 +1,66 @@
+package org.apache.river.extra.easystart;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.logging.Logger;
+
+import net.jini.config.ConfigurationException;
+
+import org.apache.river.extra.easystart.config.ApplicationOptions;
+import org.apache.river.extra.easystart.config.ConfigurationFactory;
+import org.apache.river.extra.easystart.config.LookupServiceConfiguration;
+
+import com.sun.jini.start.ServiceStarter;
+
+public class StartAll {
+
+ private static final Logger log = Logger.getLogger(StartAll.class.getName());
+
+ private static final int RIVER_HOME_INDEX = 0;
+ private static final int HTTP_PORT_INDEX = 1;
+
+ public static void main(String[] args) throws ConfigurationException, IOException {
+ validateArgs(args);
+
+ final String RIVER_HOME = args[RIVER_HOME_INDEX];
+ final int HTTP_PORT = Integer.parseInt(args[HTTP_PORT_INDEX]);
+
+ System.getProperties().setProperty("RIVER_HOME", RIVER_HOME);
+
+ log.info("Using RIVER_HOME="+RIVER_HOME);
+ log.info("Using HTTP_PORT="+HTTP_PORT);
+
+ ApplicationOptions options = new ApplicationOptions();
+ options.setHttpOptions("localhost", HTTP_PORT, true);
+ options.setJiniPort(4161);
+ options.addLookupGroup("example");
+
+ ConfigurationFactory configFac = new ConfigurationFactory(options);
+
+ LookupServiceConfiguration config = configFac.lookupServiceConfig();
+ config.addMemberGroup("example");
+ ServiceStarter.main(config.riverConfig());
+
+ ServiceStarter.main(configFac.transactionServiceConfig().riverConfig());
+ ServiceStarter.main(configFac.spaceConfig().riverConfig());
+ }
+
+ private static void validateArgs(String[] args) {
+ if(null == args || 2 != args.length) {
+ throw new IllegalArgumentException("Expected first value of array to be RIVER_HOME");
+ }
+
+ File riverHomeDir = new File(args[RIVER_HOME_INDEX]);
+ if(!(riverHomeDir.exists() && riverHomeDir.isDirectory())) {
+ throw new IllegalArgumentException("River home ["+args[RIVER_HOME_INDEX]+"] either doesn't exist or is not a directory");
+ }
+
+ try {
+ Integer.parseInt(args[HTTP_PORT_INDEX]);
+ } catch (NumberFormatException nfe) {
+ throw new IllegalArgumentException("Unexpected value found for HTTP port", nfe);
+ }
+
+ }
+
+}
Modified: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartLookupService.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartLookupService.java?rev=1326586&r1=1326585&r2=1326586&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartLookupService.java (original)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartLookupService.java Mon Apr 16 13:02:03 2012
@@ -24,9 +24,9 @@ import java.util.logging.Logger;
import net.jini.config.ConfigurationException;
+import org.apache.river.extra.easystart.config.ApplicationOptions;
import org.apache.river.extra.easystart.config.ConfigurationFactory;
import org.apache.river.extra.easystart.config.LookupServiceConfiguration;
-import org.apache.river.extra.easystart.config.settings.DefaultOptions;
import com.sun.jini.start.ServiceStarter;
@@ -52,42 +52,7 @@ public class StartLookupService {
log.info("Using RIVER_HOME="+RIVER_HOME);
log.info("Using HTTP_PORT="+HTTP_PORT);
-// final String riverHome = "/home/tom/projects/river/easystart";
-// final String pathToConfig = "/home/tom/projects/river/easystart/src-extra/empty.config";
-// final String pathToPolicy = "/home/tom/projects/river/easystart/src-extra/outrigger.policy";
-
- //this works because these files are in river-extras.jar which is on the CP
-// final String pathToConfig = "empty.config";
-// final String pathToPolicy = "outrigger.policy";
-
-// final String classpath = "/home/tom/projects/river/easystart/lib/reggie.jar";
-
-// LookupServiceConfiguration config = new LookupServiceConfiguration(8080,
-// riverHome,
-// new AbsolutePath(pathToConfig),
-// new AbsolutePath(pathToPolicy),
-// new AbsolutePath[] {
-// new AbsolutePath(classpath)
-//// new AbsolutePath("/home/tom/projects/river/easystart/lib/river-extras.jar")
-// }
-// );
-// config.addLookupGroup("LUG1");
-// config.addLookupGroup("LUG2");
-// config.addMemberGroup("Lester");
-// config.addMemberGroup("Jeff");
-// config.addRequiredJar("reggie-dl.jar");
-// config.addRequiredJar("jsk-dl.jar");
-//// config.addRequiredJar("river-extras.jar");
-
-// LookupServiceConfiguration config = new LookupServiceConfiguration();
-// VelocityConfigurationBuilder vcb = new VelocityConfigurationBuilder();
-// vcb.setCodebase("http://localhost:8080/reggie-dl.jar http://localhost:8080/jsk-dl.jar");
-// Configuration config = vcb.createConfiguration();
-
-// Configuration config = new ConventionalLookupServiceConfiguration(new String[0]);
-// Configuration config = LookupServiceConfiguration.config();
-
- DefaultOptions options = new DefaultOptions();
+ ApplicationOptions options = new ApplicationOptions();
ConfigurationFactory configFac = new ConfigurationFactory(options);
LookupServiceConfiguration config = configFac.lookupServiceConfig();
Modified: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartMahaloService.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartMahaloService.java?rev=1326586&r1=1326585&r2=1326586&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartMahaloService.java (original)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartMahaloService.java Mon Apr 16 13:02:03 2012
@@ -24,6 +24,12 @@ import java.util.logging.Logger;
import net.jini.config.ConfigurationException;
+import org.apache.river.extra.easystart.config.ApplicationOptions;
+import org.apache.river.extra.easystart.config.ConfigurationFactory;
+import org.apache.river.extra.easystart.config.TransactionServiceConfiguration;
+
+import com.sun.jini.start.ServiceStarter;
+
public class StartMahaloService {
@@ -46,8 +52,13 @@ public class StartMahaloService {
log.info("Using RIVER_HOME="+RIVER_HOME);
log.info("Using HTTP_PORT="+HTTP_PORT);
-// Configuration config = TransactionServiceConfiguration.config();
-// ServiceStarter.main(config);
+ ApplicationOptions options = new ApplicationOptions();
+
+ ConfigurationFactory configFac = new ConfigurationFactory(options);
+ TransactionServiceConfiguration config = configFac.transactionServiceConfig();
+ config.addLookupGroup("Lester").addLookupGroup("Jeff");
+
+ ServiceStarter.main(config.riverConfig());
}
private static void validateArgs(String[] args) {
Modified: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartOutriggerService.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartOutriggerService.java?rev=1326586&r1=1326585&r2=1326586&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartOutriggerService.java (original)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/StartOutriggerService.java Mon Apr 16 13:02:03 2012
@@ -24,6 +24,12 @@ import java.util.logging.Logger;
import net.jini.config.ConfigurationException;
+import org.apache.river.extra.easystart.config.ApplicationOptions;
+import org.apache.river.extra.easystart.config.ConfigurationFactory;
+import org.apache.river.extra.easystart.config.JavaSpaceConfiguration;
+
+import com.sun.jini.start.ServiceStarter;
+
public class StartOutriggerService {
@@ -46,24 +52,13 @@ public class StartOutriggerService {
log.info("Using RIVER_HOME="+RIVER_HOME);
log.info("Using HTTP_PORT="+HTTP_PORT);
-// final String riverHome = "/home/tom/projects/river/easystart";
-// final String pathToConfig = "/home/tom/projects/river/easystart/src-extra/empty.config";
-// final String pathToPolicy = "/home/tom/projects/river/easystart/src-extra/outrigger.policy";
-// final String classpath = "/home/tom/projects/river/easystart/lib/outrigger.jar";
-//
-// OutriggerServiceConfiguration config = new OutriggerServiceConfiguration(8080,
-// riverHome,
-// new AbsolutePath(pathToConfig),
-// new AbsolutePath(pathToPolicy),
-// new AbsolutePath[] {
-// new AbsolutePath(classpath)
-// }
-// );
-// config.addLookupGroup("Lester");
-// config.addLookupGroup("Jeff");
+ ApplicationOptions options = new ApplicationOptions();
+
+ ConfigurationFactory configFac = new ConfigurationFactory(options);
+ JavaSpaceConfiguration config = configFac.spaceConfig();
+ config.addLookupGroup("Lester").addLookupGroup("Jeff");
-// Configuration config = JavaSpaceConfiguration.config();
-// ServiceStarter.main(config);
+ ServiceStarter.main(config.riverConfig());
}
private static void validateArgs(String[] args) {
Added: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/AbstractEasyConfiguration.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/AbstractEasyConfiguration.java?rev=1326586&view=auto
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/AbstractEasyConfiguration.java (added)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/AbstractEasyConfiguration.java Mon Apr 16 13:02:03 2012
@@ -0,0 +1,104 @@
+package org.apache.river.extra.easystart.config;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.Properties;
+import java.util.logging.Logger;
+
+import net.jini.config.Configuration;
+import net.jini.config.ConfigurationException;
+import net.jini.config.ConfigurationFile;
+
+import org.apache.river.config.builder.VelocityConfigurationBuilder;
+import org.apache.river.extra.easystart.config.settings.GroupedSetting;
+import org.apache.river.extra.easystart.config.settings.Setting;
+import org.apache.velocity.Template;
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.VelocityEngine;
+
+public class AbstractEasyConfiguration {
+
+ private static final Logger LOGGER = Logger.getLogger(AbstractEasyConfiguration.class.getName());
+
+ private final DefaultOptions options;
+
+ protected AbstractEasyConfiguration(DefaultOptions opts) {
+ this.options = (DefaultOptions) opts.clone();
+ }
+
+
+ protected DefaultOptions getDefaultOptions() {
+ return options;
+ }
+
+ public AbstractEasyConfiguration addLookupGroup(String grp) {
+ getGroupSetting(DefaultOptions.LOOKUP_GROUP).add(grp);
+ return this;
+ }
+
+ public AbstractEasyConfiguration setRiverPort(int port) {
+ getSetting(DefaultOptions.RIVER_PORT).setOverride(String.valueOf(port));
+ return this;
+ }
+
+ public Configuration riverConfig() throws ConfigurationException, IOException {
+ Properties p = new Properties();
+ p.load( VelocityConfigurationBuilder.class.getResourceAsStream("velocity.properties") );
+ VelocityEngine ve = new VelocityEngine(p);
+ VelocityContext context = new VelocityContext();
+
+ StringBuilder options = new StringBuilder();
+ StringBuilder defaults = new StringBuilder();
+ String key = this.options.get(DefaultOptions.PACKAGE_NAME).getOverride()+'.';
+ for(Setting setting : this.options.getOptions()) {
+ String format = setting.getFormatter();
+ if(setting.isServiceDescription()) {
+
+ String name = key + setting.getName();
+
+ options
+ .append(",\"")
+ .append(name)
+ .append('=')
+ .append(String.format(format, setting.getOverride()))
+ .append("\"\n");
+
+ defaults
+ .append(setting.getName())
+ .append('=')
+ .append(String.format(format, setting.getDefault()))
+ .append(";\n");
+ } else {
+ context.put(setting.getName(),
+ String.format(format, setting.getOverride()));
+ }
+ }
+
+ context.put("defaults", defaults.toString());
+ context.put("options", options.toString());
+
+ Template template = ve.getTemplate(Setting.class.getResource("start.config").toExternalForm() );
+
+ StringWriter sw = new StringWriter();
+
+ template.merge(context, sw);
+
+ String s = sw.toString();
+
+ LOGGER.warning(s);
+
+ StringReader sr = new StringReader(s);
+
+ return new ConfigurationFile(sr, new String[0]);
+ }
+
+ Setting getSetting(String key) {
+ return options.get(key);
+ }
+
+ GroupedSetting getGroupSetting(String key) {
+ return (GroupedSetting) options.get(key);
+ }
+
+}
Added: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ApplicationOptions.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ApplicationOptions.java?rev=1326586&view=auto
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ApplicationOptions.java (added)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ApplicationOptions.java Mon Apr 16 13:02:03 2012
@@ -0,0 +1,26 @@
+package org.apache.river.extra.easystart.config;
+
+
+public class ApplicationOptions extends DefaultOptions {
+
+ public ApplicationOptions() {
+ super();
+ }
+
+ public ApplicationOptions setJiniPort(int port) {
+ super.get(DefaultOptions.RIVER_PORT).setOverride(String.valueOf(port));
+ return this;
+ }
+
+ public ApplicationOptions setHttpOptions(String server, int port, boolean stringLiteral) {
+ super.get(DefaultOptions.HTTP_SERVER).setOverride(String.valueOf(server), stringLiteral);
+ super.get(DefaultOptions.HTTP_PORT).setOverride(String.valueOf(port));
+ return this;
+ }
+
+ public ApplicationOptions addLookupGroup(String group) {
+ super.getGrouped(DefaultOptions.LOOKUP_GROUP).add(group);
+ return this;
+ }
+
+}
Modified: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ConfigurationFactory.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ConfigurationFactory.java?rev=1326586&r1=1326585&r2=1326586&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ConfigurationFactory.java (original)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ConfigurationFactory.java Mon Apr 16 13:02:03 2012
@@ -1,6 +1,5 @@
package org.apache.river.extra.easystart.config;
-import org.apache.river.extra.easystart.config.settings.DefaultOptions;
public class ConfigurationFactory {
@@ -9,25 +8,17 @@ public class ConfigurationFactory {
public ConfigurationFactory(DefaultOptions options) {
this.options = (DefaultOptions) options.clone();
}
-
public LookupServiceConfiguration lookupServiceConfig() {
return new LookupServiceConfiguration(options);
-
-// opts.PACKAGE_NAME.setOverride("com.sun.jini.reggie");
-//// 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.MEMBER_GROUPS.add("Chuck").add("Sarah");
-//// 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.CLASSPATH.add(opts.RIVER_HOME.getOverride()+"/lib/reggie.jar");
-// opts.CLASSPATH.add(opts.RIVER_HOME.getOverride()+"/lib/jini-ext.jar");
-//// opts.POLICY.setOverride("secure.policy");
-//// opts.SERVER_EXPORTER.asJeriExporter("localhost", 4161);
-
+ }
+
+ public JavaSpaceConfiguration spaceConfig() {
+ return new JavaSpaceConfiguration(options);
+ }
+
+ public TransactionServiceConfiguration transactionServiceConfig() {
+ return new TransactionServiceConfiguration(options);
}
}
Added: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/DefaultOptions.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/DefaultOptions.java?rev=1326586&view=auto
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/DefaultOptions.java (added)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/DefaultOptions.java Mon Apr 16 13:02:03 2012
@@ -0,0 +1,124 @@
+package org.apache.river.extra.easystart.config;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.Map;
+import java.util.logging.Logger;
+
+import org.apache.river.extra.easystart.config.settings.ClasspathSetting;
+import org.apache.river.extra.easystart.config.settings.CodebaseSetting;
+import org.apache.river.extra.easystart.config.settings.GroupedSetting;
+import org.apache.river.extra.easystart.config.settings.PolicySetting;
+import org.apache.river.extra.easystart.config.settings.ServerExporterSetting;
+import org.apache.river.extra.easystart.config.settings.Setting;
+
+public class DefaultOptions implements Cloneable {
+
+ private static final Logger LOGGER = Logger.getLogger(DefaultOptions.class.getName());
+
+ 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";
+
+ public static final String MEMBER_GROUP = "initialMemberGroups";
+ public static final String LOOKUP_GROUP = "initialLookupGroups";
+ public static final String RIVER_PORT = "initialUnicastDiscoveryPort";
+ public static final String PACKAGE_NAME = "servicePackageName";
+ public static final String SERVICE_IMPL = "serviceImpl";
+ public static final String CODEBASE = "codebase";
+ public static final String CLASSPATH = "classpath";
+ public static final String RIVER_HOME = "riverHome";
+ public static final String HTTP_PORT = "httpPort";
+ public static final String HTTP_SERVER = "httpServer";
+
+
+ private static String RIVER_HOME_DIR;
+ static {
+ RIVER_HOME_DIR = (String) System.getProperties().get(RIVER_HOME_ENV_NAME);
+ if(null == RIVER_HOME_DIR) {
+ LOGGER.severe(RIVER_HOME_ENV_NAME+" has not been set");
+ RIVER_HOME_DIR = ".";
+ } else {
+ LOGGER.severe("Using "+RIVER_HOME_ENV_NAME+"="+RIVER_HOME_DIR);
+ }
+ }
+
+ private final Map<String, Setting> options = new HashMap<String, Setting>();
+
+ protected DefaultOptions() {
+ options.put(RIVER_HOME, new Setting(RIVER_HOME, RIVER_HOME_DIR, STRING_FORMAT, false));
+ options.put("servicePackageName", new Setting("servicePackageName", "org.apache.river", NO_FORMAT, false));
+ options.put(RIVER_PORT, new Setting(RIVER_PORT, "4160", INTEGER_FORMAT, true));
+ options.put(HTTP_PORT, new Setting(HTTP_PORT, "8080", INTEGER_FORMAT, false));
+ options.put(MEMBER_GROUP, new GroupedSetting(MEMBER_GROUP,
+ new LinkedList<String>(),
+ NO_FORMAT,
+ ESCAPED_STRING_FORMAT,
+ true));
+ options.put(LOOKUP_GROUP, new GroupedSetting(LOOKUP_GROUP,
+ new LinkedList<String>(),
+ NO_FORMAT,
+ ESCAPED_STRING_FORMAT,
+ true));
+ options.put(SERVICE_IMPL, new Setting(SERVICE_IMPL, "", STRING_FORMAT, false));
+ options.put(HTTP_SERVER, new Setting(HTTP_SERVER,
+ "ConfigUtil.getHostName()",
+ NO_FORMAT,
+ false));
+ options.put(CODEBASE, new CodebaseSetting(CODEBASE,
+ options.get("httpPort"),
+ options.get("httpServer"),
+ Collections.<String>emptyList(),
+ NO_FORMAT,
+ STRING_FORMAT,
+ false));
+ options.put(CLASSPATH, new ClasspathSetting(CLASSPATH,
+ Collections.<String>emptyList(),
+ NO_FORMAT,
+ STRING_FORMAT,
+ false));
+
+ options.put("policy", new PolicySetting("policy",
+ options.get("riverHome"),
+ "src-extra/policy.all",
+ STRING_FORMAT,
+ false));
+ options.put("serverExporter", new ServerExporterSetting());
+ }
+
+ private DefaultOptions(Map<String, Setting> opts) {
+ for(String key : opts.keySet()) {
+ options.put(key, (Setting)opts.get(key).clone());
+ }
+ }
+
+ protected Setting get(String key) {
+ return options.get(key);
+ }
+
+ protected GroupedSetting getGrouped(String key) {
+ return (GroupedSetting) get(key);
+ }
+
+ public Collection<Setting> getOptions() {
+ return options.values();
+ }
+
+ @Override
+ public Object clone() {
+ Map<String, Setting> clonedOptions = new HashMap<String, Setting>();
+ synchronized (this.options) {
+ for(String key : this.options.keySet()) {
+ clonedOptions.put(key, (Setting)this.options.get(key).clone());
+ }
+
+ }
+ return new DefaultOptions(clonedOptions);
+ }
+
+}
Modified: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/JavaSpaceConfiguration.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/JavaSpaceConfiguration.java?rev=1326586&r1=1326585&r2=1326586&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/JavaSpaceConfiguration.java (original)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/JavaSpaceConfiguration.java Mon Apr 16 13:02:03 2012
@@ -1,97 +1,16 @@
package org.apache.river.extra.easystart.config;
-import java.io.Reader;
-import java.util.logging.Logger;
-import net.jini.config.ConfigurationException;
-import net.jini.config.ConfigurationFile;
+public class JavaSpaceConfiguration extends AbstractEasyConfiguration {
-public class JavaSpaceConfiguration extends ConfigurationFile {
-
- private static final Logger LOGGER = Logger.getLogger(JavaSpaceConfiguration.class.getName());
-
-// public static JavaSpaceConfiguration config() throws IOException, ConfigurationException {
-//
-// Options opts = new Options();
-// opts.PACKAGE_NAME.setOverride("com.sun.jini.outrigger");
-//// 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.outrigger.TransientOutriggerImpl");
-// opts.CODEBASE.add("outrigger-dl.jar").add("jsk-dl.jar");
-// opts.CLASSPATH.add(opts.RIVER_HOME.getOverride()+"/lib/outrigger.jar");
-//// opts.CLASSPATH.add(opts.RIVER_HOME.getOverride()+"/lib/jini-ext.jar");
-//// opts.POLICY.setOverride("secure.policy");
-//// opts.SERVER_EXPORTER.asJeriExporter("localhost", 4161);
-//
-// Properties p = new Properties();
-// p.load( VelocityConfigurationBuilder.class.getResourceAsStream("velocity.properties") );
-// VelocityEngine ve = new VelocityEngine(p);
-// VelocityContext context = new VelocityContext();
-//
-// StringBuilder options = new StringBuilder();
-// StringBuilder defaults = new StringBuilder();
-// String key = opts.PACKAGE_NAME.getOverride()+'.';
-// for(Setting setting : opts.OPTIONS) {
-// String format = setting.getFormatter();
-// if(setting.isServiceDescription()) {
-//
-// String name = key + setting.getName();
-//
-// options
-// .append(",\"")
-// .append(name)
-// .append('=')
-// .append(String.format(format, setting.getOverride()))
-// .append("\"\n");
-//
-// defaults
-// .append(setting.getName())
-// .append('=')
-// .append(String.format(format, setting.getDefault()))
-// .append(";\n");
-// } else {
-// context.put(setting.getName(),
-// String.format(format, setting.getOverride()));
-// }
-// }
-//
-// context.put("defaults", defaults.toString());
-// context.put("options", options.toString());
-//
-// Template template = ve.getTemplate( Options.class.getResource("start.config").toExternalForm() );
-//
-// StringWriter sw = new StringWriter();
-//
-// template.merge(context, sw);
-//
-// String s = sw.toString();
-//
-// LOGGER.warning(s);
-//
-// StringReader sr = new StringReader(s);
-//
-// return new JavaSpaceConfiguration(sr, new String[0]);//opts.getOptionsArray());
-// }
-
- private JavaSpaceConfiguration(Reader reader, String[] options) throws ConfigurationException {
- super(reader,options);
+ public JavaSpaceConfiguration(DefaultOptions opts) {
+ super(opts);
+
+ getDefaultOptions().get(DefaultOptions.PACKAGE_NAME).setOverride("com.sun.jini.outrigger");
+ getDefaultOptions().get(DefaultOptions.SERVICE_IMPL).setOverride("com.sun.jini.outrigger.TransientOutriggerImpl");
+ getDefaultOptions().getGrouped(DefaultOptions.CODEBASE).add("outrigger-dl.jar").add("jsk-dl.jar");
+ getDefaultOptions().getGrouped(DefaultOptions.CLASSPATH).add(opts.get(DefaultOptions.RIVER_HOME).getOverride()+"/lib/outrigger.jar");
+ getDefaultOptions().getGrouped(DefaultOptions.CLASSPATH).add(opts.get(DefaultOptions.RIVER_HOME).getOverride()+"/lib/jini-ext.jar");
}
-
-// public ConventionalLookupServiceConfiguration(String[] options) throws ConfigurationException {
-// super(fileReader(), options);
-// }
- @Override
- public Object getEntry(String component, String name, Class type,
- Object defaultValue) throws ConfigurationException {
- if("initialMemberGroups".equals(name)) {
-// return new String[0];
- return super.getEntry(component, name, type, defaultValue);
- } else {
- return super.getEntry(component, name, type, defaultValue);
- }
- }
}
Modified: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/LookupServiceConfiguration.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/LookupServiceConfiguration.java?rev=1326586&r1=1326585&r2=1326586&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/LookupServiceConfiguration.java (original)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/LookupServiceConfiguration.java Mon Apr 16 13:02:03 2012
@@ -1,184 +1,21 @@
package org.apache.river.extra.easystart.config;
-import java.io.IOException;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.Properties;
-import java.util.logging.Logger;
-import net.jini.config.Configuration;
-import net.jini.config.ConfigurationException;
-import net.jini.config.ConfigurationFile;
+public class LookupServiceConfiguration extends AbstractEasyConfiguration {
-import org.apache.river.config.builder.VelocityConfigurationBuilder;
-import org.apache.river.extra.easystart.config.settings.DefaultOptions;
-import org.apache.river.extra.easystart.config.settings.GroupedSetting;
-import org.apache.river.extra.easystart.config.settings.Options;
-import org.apache.river.extra.easystart.config.settings.Setting;
-import org.apache.velocity.Template;
-import org.apache.velocity.VelocityContext;
-import org.apache.velocity.app.VelocityEngine;
-
-public class LookupServiceConfiguration {
-
- private final DefaultOptions options;
-
public LookupServiceConfiguration(DefaultOptions opts) {
- this.options = opts;
+ super(opts);
- this.options.get(DefaultOptions.PACKAGE_NAME).setOverride("com.sun.jini.reggie");
- this.options.get(DefaultOptions.SERVICE_IMPL).setOverride("com.sun.jini.reggie.TransientRegistrarImpl");
- this.options.getGrouped(DefaultOptions.CODEBASE).add("reggie-dl.jar").add("jsk-dl.jar");
- this.options.getGrouped(DefaultOptions.CLASSPATH).add(opts.get(DefaultOptions.RIVER_HOME).getOverride()+"/lib/reggie.jar");
- this.options.getGrouped(DefaultOptions.CLASSPATH).add(opts.get(DefaultOptions.RIVER_HOME).getOverride()+"/lib/jini-ext.jar");
+ getDefaultOptions().get(DefaultOptions.PACKAGE_NAME).setOverride("com.sun.jini.reggie");
+ getDefaultOptions().get(DefaultOptions.SERVICE_IMPL).setOverride("com.sun.jini.reggie.TransientRegistrarImpl");
+ getDefaultOptions().getGrouped(DefaultOptions.CODEBASE).add("reggie-dl.jar").add("jsk-dl.jar");
+ getDefaultOptions().getGrouped(DefaultOptions.CLASSPATH).add(opts.get(DefaultOptions.RIVER_HOME).getOverride()+"/lib/reggie.jar");
+ getDefaultOptions().getGrouped(DefaultOptions.CLASSPATH).add(opts.get(DefaultOptions.RIVER_HOME).getOverride()+"/lib/jini-ext.jar");
}
- private static final Logger LOGGER = Logger.getLogger(LookupServiceConfiguration.class.getName());
-
public LookupServiceConfiguration addMemberGroup(String grp) {
- getGroupSetting(Options.MEMBER_GROUP).add(grp);
- return this;
- }
-
- public LookupServiceConfiguration addLookupGroup(String grp) {
- getGroupSetting(Options.LOOKUP_GROUP).add(grp);
- return this;
- }
-
- public LookupServiceConfiguration setRiverPort(int port) {
- getSetting(Options.RIVER_PORT).setOverride(String.valueOf(port));
+ getGroupSetting(DefaultOptions.MEMBER_GROUP).add(grp);
return this;
}
-
- private Setting getSetting(String key) {
- return options.get(key);
- }
-
- private GroupedSetting getGroupSetting(String key) {
- return (GroupedSetting) options.get(key);
- }
-
- public Configuration riverConfig() throws ConfigurationException, IOException {
- Properties p = new Properties();
- p.load( VelocityConfigurationBuilder.class.getResourceAsStream("velocity.properties") );
- VelocityEngine ve = new VelocityEngine(p);
- VelocityContext context = new VelocityContext();
-
- StringBuilder options = new StringBuilder();
- StringBuilder defaults = new StringBuilder();
- String key = this.options.get(Options.PACKAGE_NAME).getOverride()+'.';
- for(Setting setting : this.options.getOptions()) {
- String format = setting.getFormatter();
- if(setting.isServiceDescription()) {
-
- String name = key + setting.getName();
-
- options
- .append(",\"")
- .append(name)
- .append('=')
- .append(String.format(format, setting.getOverride()))
- .append("\"\n");
-
- defaults
- .append(setting.getName())
- .append('=')
- .append(String.format(format, setting.getDefault()))
- .append(";\n");
- } else {
- context.put(setting.getName(),
- String.format(format, setting.getOverride()));
- }
- }
-
- context.put("defaults", defaults.toString());
- context.put("options", options.toString());
-
- Template template = ve.getTemplate( Options.class.getResource("start.config").toExternalForm() );
-
- StringWriter sw = new StringWriter();
-
- template.merge(context, sw);
-
- String s = sw.toString();
-
- LOGGER.warning(s);
-
- StringReader sr = new StringReader(s);
-
- return new ConfigurationFile(sr, new String[0]);//opts.getOptionsArray());
- }
-
-// public static LookupServiceConfiguration config() throws IOException, ConfigurationException {
-//
-// Options opts = new Options();
-// opts.PACKAGE_NAME.setOverride("com.sun.jini.reggie");
-//// 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.MEMBER_GROUPS.add("Chuck").add("Sarah");
-//// 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.CLASSPATH.add(opts.RIVER_HOME.getOverride()+"/lib/reggie.jar");
-// opts.CLASSPATH.add(opts.RIVER_HOME.getOverride()+"/lib/jini-ext.jar");
-//// opts.POLICY.setOverride("secure.policy");
-//// opts.SERVER_EXPORTER.asJeriExporter("localhost", 4161);
-//
-// Properties p = new Properties();
-// p.load( VelocityConfigurationBuilder.class.getResourceAsStream("velocity.properties") );
-// VelocityEngine ve = new VelocityEngine(p);
-// VelocityContext context = new VelocityContext();
-//
-// StringBuilder options = new StringBuilder();
-// StringBuilder defaults = new StringBuilder();
-// String key = opts.PACKAGE_NAME.getOverride()+'.';
-// for(Setting setting : opts.OPTIONS) {
-// String format = setting.getFormatter();
-// if(setting.isServiceDescription()) {
-//
-// String name = key + setting.getName();
-//
-// options
-// .append(",\"")
-// .append(name)
-// .append('=')
-// .append(String.format(format, setting.getOverride()))
-// .append("\"\n");
-//
-// defaults
-// .append(setting.getName())
-// .append('=')
-// .append(String.format(format, setting.getDefault()))
-// .append(";\n");
-// } else {
-// context.put(setting.getName(),
-// String.format(format, setting.getOverride()));
-// }
-// }
-//
-// context.put("defaults", defaults.toString());
-// context.put("options", options.toString());
-//
-// Template template = ve.getTemplate( Options.class.getResource("start.config").toExternalForm() );
-//
-// StringWriter sw = new StringWriter();
-//
-// template.merge(context, sw);
-//
-// String s = sw.toString();
-//
-// LOGGER.warning(s);
-//
-// StringReader sr = new StringReader(s);
-//
-// return new LookupServiceConfiguration(sr, new String[0]);//opts.getOptionsArray());
-// }
-
-// LookupServiceConfiguration(Reader reader, String[] options) throws ConfigurationException {
-// super(reader,options);
-// }
-
}
Modified: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/TransactionServiceConfiguration.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/TransactionServiceConfiguration.java?rev=1326586&r1=1326585&r2=1326586&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/TransactionServiceConfiguration.java (original)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/TransactionServiceConfiguration.java Mon Apr 16 13:02:03 2012
@@ -1,97 +1,100 @@
package org.apache.river.extra.easystart.config;
-import java.io.Reader;
-import java.util.logging.Logger;
-import net.jini.config.ConfigurationException;
-import net.jini.config.ConfigurationFile;
+public class TransactionServiceConfiguration extends AbstractEasyConfiguration {
-public class TransactionServiceConfiguration extends ConfigurationFile {
+ protected TransactionServiceConfiguration(DefaultOptions opts) {
+ super(opts);
+
+ getDefaultOptions().get(DefaultOptions.PACKAGE_NAME).setOverride("com.sun.jini.mahalo");
+ getDefaultOptions().get(DefaultOptions.SERVICE_IMPL).setOverride("com.sun.jini.mahalo.TransientMahaloImpl");
+ getDefaultOptions().getGrouped(DefaultOptions.CODEBASE).add("mahalo-dl.jar").add("jsk-dl.jar");
+ getDefaultOptions().getGrouped(DefaultOptions.CLASSPATH).add(opts.get(DefaultOptions.RIVER_HOME).getOverride()+"/lib/mahalo.jar");
+ getDefaultOptions().getGrouped(DefaultOptions.CLASSPATH).add(opts.get(DefaultOptions.RIVER_HOME).getOverride()+"/lib/jini-ext.jar");
+ }
- private static final Logger LOGGER = Logger.getLogger(TransactionServiceConfiguration.class.getName());
-
-// public static TransactionServiceConfiguration config() throws IOException, ConfigurationException {
-//
-// Options opts = new Options();
-// opts.PACKAGE_NAME.setOverride("com.sun.jini.mahalo");
-//// 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.mahalo.TransientMahaloImpl");
-// opts.CODEBASE.add("mahalo-dl.jar").add("jsk-dl.jar");
-// opts.CLASSPATH.add(opts.RIVER_HOME.getOverride()+"/lib/mahalo.jar");
-//// opts.CLASSPATH.add(opts.RIVER_HOME.getOverride()+"/lib/jini-ext.jar");
-//// opts.POLICY.setOverride("secure.policy");
-//// opts.SERVER_EXPORTER.asJeriExporter("localhost", 4161);
-//
-// Properties p = new Properties();
-// p.load( VelocityConfigurationBuilder.class.getResourceAsStream("velocity.properties") );
-// VelocityEngine ve = new VelocityEngine(p);
-// VelocityContext context = new VelocityContext();
-//
-// StringBuilder options = new StringBuilder();
-// StringBuilder defaults = new StringBuilder();
-// String key = opts.PACKAGE_NAME.getOverride()+'.';
-// for(Setting setting : opts.OPTIONS) {
-// String format = setting.getFormatter();
-// if(setting.isServiceDescription()) {
-//
-// String name = key + setting.getName();
-//
-// options
-// .append(",\"")
-// .append(name)
-// .append('=')
-// .append(String.format(format, setting.getOverride()))
-// .append("\"\n");
-//
-// defaults
-// .append(setting.getName())
-// .append('=')
-// .append(String.format(format, setting.getDefault()))
-// .append(";\n");
-// } else {
-// context.put(setting.getName(),
-// String.format(format, setting.getOverride()));
-// }
-// }
-//
-// context.put("defaults", defaults.toString());
-// context.put("options", options.toString());
-//
-// Template template = ve.getTemplate( Options.class.getResource("start.config").toExternalForm() );
-//
-// StringWriter sw = new StringWriter();
-//
-// template.merge(context, sw);
-//
-// String s = sw.toString();
-//
-// LOGGER.warning(s);
-//
-// StringReader sr = new StringReader(s);
-//
-// return new TransactionServiceConfiguration(sr, new String[0]);//opts.getOptionsArray());
+//// public static TransactionServiceConfiguration config() throws IOException, ConfigurationException {
+////
+//// Options opts = new Options();
+//// opts.PACKAGE_NAME.setOverride("com.sun.jini.mahalo");
+////// 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.mahalo.TransientMahaloImpl");
+//// opts.CODEBASE.add("mahalo-dl.jar").add("jsk-dl.jar");
+//// opts.CLASSPATH.add(opts.RIVER_HOME.getOverride()+"/lib/mahalo.jar");
+////// opts.CLASSPATH.add(opts.RIVER_HOME.getOverride()+"/lib/jini-ext.jar");
+////// opts.POLICY.setOverride("secure.policy");
+////// opts.SERVER_EXPORTER.asJeriExporter("localhost", 4161);
+////
+//// Properties p = new Properties();
+//// p.load( VelocityConfigurationBuilder.class.getResourceAsStream("velocity.properties") );
+//// VelocityEngine ve = new VelocityEngine(p);
+//// VelocityContext context = new VelocityContext();
+////
+//// StringBuilder options = new StringBuilder();
+//// StringBuilder defaults = new StringBuilder();
+//// String key = opts.PACKAGE_NAME.getOverride()+'.';
+//// for(Setting setting : opts.OPTIONS) {
+//// String format = setting.getFormatter();
+//// if(setting.isServiceDescription()) {
+////
+//// String name = key + setting.getName();
+////
+//// options
+//// .append(",\"")
+//// .append(name)
+//// .append('=')
+//// .append(String.format(format, setting.getOverride()))
+//// .append("\"\n");
+////
+//// defaults
+//// .append(setting.getName())
+//// .append('=')
+//// .append(String.format(format, setting.getDefault()))
+//// .append(";\n");
+//// } else {
+//// context.put(setting.getName(),
+//// String.format(format, setting.getOverride()));
+//// }
+//// }
+////
+//// context.put("defaults", defaults.toString());
+//// context.put("options", options.toString());
+////
+//// Template template = ve.getTemplate( Options.class.getResource("start.config").toExternalForm() );
+////
+//// StringWriter sw = new StringWriter();
+////
+//// template.merge(context, sw);
+////
+//// String s = sw.toString();
+////
+//// LOGGER.warning(s);
+////
+//// StringReader sr = new StringReader(s);
+////
+//// return new TransactionServiceConfiguration(sr, new String[0]);//opts.getOptionsArray());
+//// }
+//
+// private TransactionServiceConfiguration(Reader reader, String[] options) throws ConfigurationException {
+// super(reader,options);
// }
-
- private TransactionServiceConfiguration(Reader reader, String[] options) throws ConfigurationException {
- super(reader,options);
- }
-
-// public ConventionalLookupServiceConfiguration(String[] options) throws ConfigurationException {
-// super(fileReader(), options);
+//
+//// public ConventionalLookupServiceConfiguration(String[] options) throws ConfigurationException {
+//// super(fileReader(), options);
+//// }
+//
+// @Override
+// public Object getEntry(String component, String name, Class type,
+// Object defaultValue) throws ConfigurationException {
+// if("initialMemberGroups".equals(name)) {
+//// return new String[0];
+// return super.getEntry(component, name, type, defaultValue);
+// } else {
+// return super.getEntry(component, name, type, defaultValue);
+// }
// }
-
- @Override
- public Object getEntry(String component, String name, Class type,
- Object defaultValue) throws ConfigurationException {
- if("initialMemberGroups".equals(name)) {
-// return new String[0];
- return super.getEntry(component, name, type, defaultValue);
- } else {
- return super.getEntry(component, name, type, defaultValue);
- }
- }
}
Modified: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/ClasspathSetting.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/ClasspathSetting.java?rev=1326586&r1=1326585&r2=1326586&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/ClasspathSetting.java (original)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/ClasspathSetting.java Mon Apr 16 13:02:03 2012
@@ -4,7 +4,7 @@ import java.util.List;
public class ClasspathSetting extends GroupedSetting {
- protected ClasspathSetting(String name,
+ public ClasspathSetting(String name,
List<String> defaults,
String format,
String elementFormat,
Modified: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/CodebaseSetting.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/CodebaseSetting.java?rev=1326586&r1=1326585&r2=1326586&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/CodebaseSetting.java (original)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/CodebaseSetting.java Mon Apr 16 13:02:03 2012
@@ -7,7 +7,7 @@ public class CodebaseSetting extends Gro
private final Setting httpPort;
private final Setting httpServer;
- protected CodebaseSetting(String name,
+ public CodebaseSetting(String name,
Setting httpPort,
Setting httpServer,
List<String> defaults,
Modified: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/GroupedSetting.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/GroupedSetting.java?rev=1326586&r1=1326585&r2=1326586&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/GroupedSetting.java (original)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/GroupedSetting.java Mon Apr 16 13:02:03 2012
@@ -11,7 +11,7 @@ public class GroupedSetting extends Sett
private volatile boolean overriden = false;
- protected GroupedSetting(String name,
+ public GroupedSetting(String name,
List<String> defaults,
String format,
String elementFormat,
Modified: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/PolicySetting.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/PolicySetting.java?rev=1326586&r1=1326585&r2=1326586&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/PolicySetting.java (original)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/PolicySetting.java Mon Apr 16 13:02:03 2012
@@ -6,7 +6,7 @@ public class PolicySetting extends Setti
private final Setting riverHome;
- protected PolicySetting(String name,
+ public PolicySetting(String name,
Setting riverHome,
String defaultValue,
String format,
Modified: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/ServerExporterSetting.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/ServerExporterSetting.java?rev=1326586&r1=1326585&r2=1326586&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/ServerExporterSetting.java (original)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/ServerExporterSetting.java Mon Apr 16 13:02:03 2012
@@ -1,11 +1,13 @@
package org.apache.river.extra.easystart.config.settings;
+import org.apache.river.extra.easystart.config.DefaultOptions;
+
public class ServerExporterSetting extends Setting {
private static final String JRMP_STRING = "new net.jini.jrmp.JrmpExporter()";
- protected ServerExporterSetting() {
- super("serverExporter", JRMP_STRING, Options.NO_FORMAT, true);
+ public ServerExporterSetting() {
+ super("serverExporter", JRMP_STRING, DefaultOptions.NO_FORMAT, true);
}
public void asJrmpExporter() {
Modified: river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/Setting.java
URL: http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/Setting.java?rev=1326586&r1=1326585&r2=1326586&view=diff
==============================================================================
--- river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/Setting.java (original)
+++ river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/settings/Setting.java Mon Apr 16 13:02:03 2012
@@ -17,7 +17,7 @@ public class Setting implements Cloneabl
protected final boolean serviceDescription;
protected String override;
- protected Setting(String name, String defaultValue, String format, boolean serviceDescription) {
+ public Setting(String name, String defaultValue, String format, boolean serviceDescription) {
this.name = name;
this.defaultValue = defaultValue;
this.format = format;
@@ -42,8 +42,16 @@ public class Setting implements Cloneabl
return serviceDescription;
}
+ public void setOverride(String override, boolean stringLiteral) {
+ if(stringLiteral) {
+ this.override = '\"' + override + '\"';
+ } else {
+ this.override = override;
+ }
+ }
+
public void setOverride(String override) {
- this.override = override;
+ setOverride(override, false);
}
public String getOverride() {