Author: thobbs
Date: Thu Apr 12 14:43:25 2012
New Revision: 1325289

URL: http://svn.apache.org/viewvc?rev=1325289&view=rev
Log:
Finished basic setup for LUS only.  Needs refactoring and testing with other 
service types.

Added:
    
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ClasspathSetting.java
    
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/PolicySetting.java
    
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ServerExporterSetting.java
Modified:
    
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ConventionalLookupServiceConfiguration.java
    
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/Options.java
    
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/start.config

Added: 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ClasspathSetting.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ClasspathSetting.java?rev=1325289&view=auto
==============================================================================
--- 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ClasspathSetting.java
 (added)
+++ 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ClasspathSetting.java
 Thu Apr 12 14:43:25 2012
@@ -0,0 +1,34 @@
+package org.apache.river.extra.easystart.config;
+
+import java.util.List;
+
+public class ClasspathSetting extends GroupedSetting {
+
+       protected ClasspathSetting(String name, 
+                                                     List<String> defaults,
+                                                     String format, 
+                                                     String elementFormat, 
+                                                     boolean 
serviceDescription) {
+               super(name, defaults, format, elementFormat, 
serviceDescription);
+       }
+
+       @Override
+       protected String formatAsArray(List<String> items) {
+               StringBuilder sb = new StringBuilder();
+               sb
+                       .append("ConfigUtil.concat(")
+                       .append('\n')
+                       .append("new Object[] {")
+                       .append('\n');
+               for(int i=0 ; i<items.size() ; i++) {
+                       sb.append('"').append(items.get(i)).append('"');
+                       if(i < items.size()-1) {
+                               sb.append(",java.io.File.pathSeparator,");
+                       }
+               }
+               sb.append(" })");
+               
+               return String.format(super.getFormatter(), sb.toString());
+//             return sb.toString();
+       }
+}

Modified: 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ConventionalLookupServiceConfiguration.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ConventionalLookupServiceConfiguration.java?rev=1325289&r1=1325288&r2=1325289&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:43:25 2012
@@ -30,6 +30,10 @@ public class ConventionalLookupServiceCo
                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") );

Modified: 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/Options.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/Options.java?rev=1325289&r1=1325288&r2=1325289&view=diff
==============================================================================
--- 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/Options.java
 (original)
+++ 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/Options.java
 Thu Apr 12 14:43:25 2012
@@ -54,12 +54,26 @@ public class Options {
                                                                                
         false);
        
        public CodebaseSetting CODEBASE = new CodebaseSetting("codebase",
-                                                                               
                                HTTP_PORT,
-                                                                               
                                HTTP_SERVER,
-                                                                               
                                Collections.<String>emptyList(), 
-                                                                               
                                NO_FORMAT, 
-                                                                               
                                NO_FORMAT, 
-                                                                               
                                false);
+                       HTTP_PORT,
+                       HTTP_SERVER,
+                       Collections.<String>emptyList(), 
+                       NO_FORMAT, 
+                       NO_FORMAT, 
+                       false);
+       
+       public ClasspathSetting CLASSPATH = new ClasspathSetting("classpath",
+                                                                               
                                        Collections.<String>emptyList(), 
+                                                                               
                                        NO_FORMAT, 
+                                                                               
                                        NO_FORMAT, 
+                                                                               
                                        false);
+       
+       public Setting POLICY = new PolicySetting("policy",
+                                                                               
          RIVER_HOME,
+                                                                               
          "src-extra/policy.all",
+                                                                               
          STRING_FORMAT,
+                                                                               
          false);
+       
+       public ServerExporterSetting SERVER_EXPORTER = new 
ServerExporterSetting();
        
        public Setting[] OPTIONS = new Setting[] {
                        RIVER_HOME,
@@ -70,7 +84,10 @@ public class Options {
                        LOOKUP_GROUPS,
                        SERVICE_IMPL,
                        HTTP_SERVER,
-                       CODEBASE
+                       CODEBASE,
+                       CLASSPATH,
+                       POLICY,
+                       SERVER_EXPORTER
        };
        
 //     private static final String RIVER_HOME = "RIVER_HOME";

Added: 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/PolicySetting.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/PolicySetting.java?rev=1325289&view=auto
==============================================================================
--- 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/PolicySetting.java
 (added)
+++ 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/PolicySetting.java
 Thu Apr 12 14:43:25 2012
@@ -0,0 +1,35 @@
+package org.apache.river.extra.easystart.config;
+
+import java.io.File;
+
+public class PolicySetting extends Setting {
+
+       private final Setting riverHome;
+       
+       protected PolicySetting(String name, 
+                                                       Setting riverHome,
+                                                       String defaultValue, 
+                                                       String format,
+                                                       boolean 
serviceDescription) {
+               super(name, defaultValue, format, serviceDescription);
+               this.riverHome = riverHome;
+       }
+
+       @Override
+       public String getDefault() {
+               if(null == riverHome) {
+                       return super.getDefault();
+               } else {
+                       return riverHome.getOverride() + File.separator + 
super.getDefault();
+               }
+       }
+       
+       @Override
+       public String getOverride() {
+               if(null == riverHome) {
+                       return super.getOverride();
+               } else {
+                       return riverHome.getOverride() + File.separator + 
super.getOverride();
+               }
+       }
+}

Added: 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ServerExporterSetting.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ServerExporterSetting.java?rev=1325289&view=auto
==============================================================================
--- 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ServerExporterSetting.java
 (added)
+++ 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/ServerExporterSetting.java
 Thu Apr 12 14:43:25 2012
@@ -0,0 +1,28 @@
+package org.apache.river.extra.easystart.config;
+
+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 void asJrmpExporter() {
+               setOverride(JRMP_STRING);
+       }
+       
+       public void asJeriExporter(String registryHost, int registryPort) {
+               String registryEndpoint = 
String.format("net.jini.jeri.tcp.TcpServerEndpoint.getInstance(%s,%d)",stringToLiteral(registryHost),registryPort);
 
+               setOverride("new net.jini.jeri.BasicJeriExporter("
+                                       +registryEndpoint
+                                       +", new 
net.jini.jeri.BasicILFactory())");
+       }
+       
+    private String stringToLiteral(String s) {
+        if( s == null ) {
+            return "null" ;
+        }
+        return String.format("\\\"%s\\\"",s);
+    }
+}

Modified: 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/start.config
URL: 
http://svn.apache.org/viewvc/river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/start.config?rev=1325289&r1=1325288&r2=1325289&view=diff
==============================================================================
--- 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/start.config
 (original)
+++ 
river/jtsk/skunk/easystart/src-extra/org/apache/river/extra/easystart/config/start.config
 Thu Apr 12 14:43:25 2012
@@ -26,9 +26,10 @@ com.sun.jini.start {
 
     private static codebase = ${codebase};
         
-    private static policy = ${riverHome}+"/src-extra/policy.all";
-    private static classpath = ${riverHome}+"/lib/reggie.jar";
-
+    //private static policy = ${riverHome}+"/src-extra/policy.all";
+    private static policy = ${policy};
+    private static classpath = ${classpath};
+    
     static serviceDescriptors = new ServiceDescriptor[] {
        new NonActivatableServiceDescriptor(
            codebase, 
@@ -51,7 +52,7 @@ com.sun.jini.start {
 ${servicePackageName} {
 
 //defaults
-    ${defaults}
+       ${defaults}
 //defaults end
 
 //    //static serverExporter = new BasicJeriExporter( ${registryEndpoint}, 
new BasicILFactory());


Reply via email to