Author: thobbs
Date: Thu Apr 12 14:57:04 2012
New Revision: 1325299

URL: http://svn.apache.org/viewvc?rev=1325299&view=rev
Log:
Got config working for spaces

Added:
    
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/JavaSpaceConfiguration.java
Modified:
    
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/CheckServices.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/ConventionalLookupServiceConfiguration.java

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=1325299&r1=1325298&r2=1325299&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
 Thu Apr 12 14:57:04 2012
@@ -47,7 +47,7 @@ public class CheckServices {
                
                checkHttpServer(port);
                checkLookupServices();
-//             checkSpaces();
+               checkSpaces();
 //             checkTransactionManagers();
 //             
 //             checkAll();

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=1325299&r1=1325298&r2=1325299&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
 Thu Apr 12 14:57:04 2012
@@ -19,10 +19,14 @@
 package org.apache.river.extra.easystart;
 
 import java.io.File;
+import java.io.IOException;
 import java.util.logging.Logger;
 
+import net.jini.config.Configuration;
 import net.jini.config.ConfigurationException;
 
+import org.apache.river.extra.easystart.config.JavaSpaceConfiguration;
+
 import com.sun.jini.start.ServiceStarter;
 
 public class StartOutriggerService {
@@ -36,8 +40,9 @@ public class StartOutriggerService {
        /**
         * @param args
         * @throws ConfigurationException 
+        * @throws IOException 
         */
-       public static void main(String[] args) throws ConfigurationException {
+       public static void main(String[] args) throws ConfigurationException, 
IOException {
                validateArgs(args);
                
                final String RIVER_HOME = args[RIVER_HOME_INDEX];
@@ -46,22 +51,23 @@ 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");
+//             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");
                
+               Configuration config = JavaSpaceConfiguration.config();
                ServiceStarter.main(config);
        }
 

Modified: 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ConventionalLookupServiceConfiguration.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ConventionalLookupServiceConfiguration.java?rev=1325299&r1=1325298&r2=1325299&view=diff
==============================================================================
--- 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ConventionalLookupServiceConfiguration.java
 (original)
+++ 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ConventionalLookupServiceConfiguration.java
 Thu Apr 12 14:57:04 2012
@@ -26,14 +26,15 @@ public class ConventionalLookupServiceCo
 //             opts.RIVER_HOME;  - no override for this
                opts.HTTP_PORT.setOverride("8080");
                opts.JINI_PORT.setOverride("4160");
-               opts.MEMBER_GROUPS.add("Lester").add("Jeff");
-               opts.LOOKUP_GROUPS.add("Chuck").add("Sarah");
+//             opts.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);
+//             opts.SERVER_EXPORTER.asJeriExporter("localhost", 4161);
                
                Properties p = new Properties();
                p.load( 
VelocityConfigurationBuilder.class.getResourceAsStream("velocity.properties") );

Added: 
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=1325299&view=auto
==============================================================================
--- 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/JavaSpaceConfiguration.java
 (added)
+++ 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/JavaSpaceConfiguration.java
 Thu Apr 12 14:57:04 2012
@@ -0,0 +1,106 @@
+package org.apache.river.extra.easystart.config;
+
+import java.io.IOException;
+import java.io.Reader;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.Properties;
+import java.util.logging.Logger;
+
+import net.jini.config.ConfigurationException;
+import net.jini.config.ConfigurationFile;
+
+import org.apache.river.config.builder.VelocityConfigurationBuilder;
+import org.apache.velocity.Template;
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.VelocityEngine;
+
+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 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);
+               }
+       }
+}


Reply via email to