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() {


Reply via email to