You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by gt...@apache.org on 2014/01/13 04:35:28 UTC

[21/40] git commit: Added "product" container that contains the set of files that forms the container for general use.

Added "product" container that contains the set of files that forms the container for general use.

Project: http://git-wip-us.apache.org/repos/asf/river-container/repo
Commit: http://git-wip-us.apache.org/repos/asf/river-container/commit/67992683
Tree: http://git-wip-us.apache.org/repos/asf/river-container/tree/67992683
Diff: http://git-wip-us.apache.org/repos/asf/river-container/diff/67992683

Branch: refs/heads/master
Commit: 67992683d943e93b2b336d7edecd118c10bbe953
Parents: 7ff8b15
Author: Greg Trasuk <gt...@apache.org>
Authored: Wed Nov 20 15:10:32 2013 -0500
Committer: Greg Trasuk <gt...@apache.org>
Committed: Wed Nov 20 15:10:32 2013 -0500

----------------------------------------------------------------------
 browser/pom.xml                                 |  6 +-
 pom.xml                                         |  6 +-
 product/pom.xml                                 | 62 +++++++++++++
 product/src/assemble/product-container.xml      | 53 +++++++++++
 product/src/main/root/bin/logging.properties    | 61 +++++++++++++
 product/src/main/root/bin/run.sh                |  1 +
 .../root/profile/client/class-server.properties | 17 ++++
 product/src/main/root/profile/client/config.xml | 56 ++++++++++++
 .../profile/client/deploy-privileged/readme.txt |  2 +
 .../main/root/profile/client/deploy/readme.txt  |  2 +
 .../root/profile/client/service-starter.cfg     | 95 ++++++++++++++++++++
 .../profile/default/class-server.properties     | 17 ++++
 .../src/main/root/profile/default/config.xml    | 61 +++++++++++++
 .../default/deploy-privileged/readme.txt        |  2 +
 .../main/root/profile/default/deploy/readme.txt |  2 +
 .../root/profile/default/service-starter.cfg    | 85 ++++++++++++++++++
 river-container-core/pom.xml                    |  4 +-
 test-container/pom.xml                          |  2 +-
 user-docs/pom.xml                               | 21 +++++
 19 files changed, 548 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/river-container/blob/67992683/browser/pom.xml
----------------------------------------------------------------------
diff --git a/browser/pom.xml b/browser/pom.xml
index 8870fbe..acb84c4 100644
--- a/browser/pom.xml
+++ b/browser/pom.xml
@@ -25,19 +25,19 @@
         <dependency>
             <groupId>net.jini</groupId>
             <artifactId>jsk-platform</artifactId>
-            <version>2.2.1</version>
+            <version>${jsk-version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>net.jini</groupId>
             <artifactId>jsk-lib</artifactId>
-            <version>2.2.1</version>
+            <version>${jsk-version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>net.jini</groupId>
             <artifactId>jsk-resources</artifactId>
-            <version>2.2.1</version>
+            <version>${jsk-version}</version>
             <scope>provided</scope>
         </dependency>
     </dependencies>

http://git-wip-us.apache.org/repos/asf/river-container/blob/67992683/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 0b0f4ad..2560cad 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,8 +12,12 @@
         <module>reggie-module</module>
         <module>browser-module</module>
     <module>browser</module>
+        <module>user-docs</module>
+    <module>product</module>
   </modules>
-  
+  <properties>
+      <jsk-version>2.2.2</jsk-version>
+  </properties>
     <build>
         <pluginManagement>
             <plugins>             

http://git-wip-us.apache.org/repos/asf/river-container/blob/67992683/product/pom.xml
----------------------------------------------------------------------
diff --git a/product/pom.xml b/product/pom.xml
new file mode 100644
index 0000000..7b9b441
--- /dev/null
+++ b/product/pom.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>river-container</artifactId>
+    <groupId>org.apache.river.container</groupId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+  <groupId>org.apache.river.container</groupId>
+  <artifactId>product</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
+  <name>product</name>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.river.container</groupId>
+            <artifactId>river-container-core</artifactId>
+            <version>1.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>net.jini</groupId>
+            <artifactId>jsk-policy</artifactId>
+            <version>2.2.1</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.river.container</groupId>
+            <artifactId>reggie-module</artifactId>
+            <version>1.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.river.container</groupId>
+            <artifactId>browser-module</artifactId>
+            <version>1.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+    </dependencies>
+  
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>product-container</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <configuration>
+                            <descriptors>
+                                <descriptor>src/assemble/product-container.xml</descriptor>
+                            </descriptors>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>

http://git-wip-us.apache.org/repos/asf/river-container/blob/67992683/product/src/assemble/product-container.xml
----------------------------------------------------------------------
diff --git a/product/src/assemble/product-container.xml b/product/src/assemble/product-container.xml
new file mode 100644
index 0000000..98edc8e
--- /dev/null
+++ b/product/src/assemble/product-container.xml
@@ -0,0 +1,53 @@
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
+    <id>test-container</id>
+    <formats>
+        <format>dir</format>
+    </formats>
+    <includeBaseDirectory>false</includeBaseDirectory>
+
+    <fileSets>
+        <fileSet>
+            <outputDirectory>/</outputDirectory>
+            <directory>src/main/root</directory> 
+        </fileSet>
+    </fileSets>
+    <dependencySets>
+        <dependencySet>
+            <useProjectArtifact>false</useProjectArtifact>
+            <outputDirectory>/lib</outputDirectory>
+            <scope>runtime</scope>
+            <!-- It's a mystery to me how these get into the runtime dependencies in the 
+            first place - Greg Trasuk
+            -->
+            <excludes>
+                <exclude>*:maven-*</exclude>
+                <exclude>*:plexus-*</exclude>
+            </excludes>
+        </dependencySet>
+        <dependencySet>
+            <useProjectArtifact>false</useProjectArtifact>
+            <outputDirectory>/profile/default/deploy</outputDirectory>
+            <scope>runtime</scope>
+            <!-- It's a mystery to me how these get into the runtime dependencies in the 
+            first place - Greg Trasuk
+            -->
+            <includes>
+                <include>*:reggie-module</include>
+            </includes>
+        </dependencySet>
+        <dependencySet>
+            <useProjectArtifact>false</useProjectArtifact>
+            <outputDirectory>/profile/client/deploy</outputDirectory>
+            <scope>runtime</scope>
+            <!-- It's a mystery to me how these get into the runtime dependencies in the 
+            first place - Greg Trasuk
+            -->
+            <includes>
+                <include>*:browser-module</include>
+            </includes>
+        </dependencySet>
+    </dependencySets>
+
+</assembly>

http://git-wip-us.apache.org/repos/asf/river-container/blob/67992683/product/src/main/root/bin/logging.properties
----------------------------------------------------------------------
diff --git a/product/src/main/root/bin/logging.properties b/product/src/main/root/bin/logging.properties
new file mode 100644
index 0000000..62fab38
--- /dev/null
+++ b/product/src/main/root/bin/logging.properties
@@ -0,0 +1,61 @@
+############################################################
+#  	Default Logging Configuration File
+#
+# You can use a different file by specifying a filename
+# with the java.util.logging.config.file system property.  
+# For example java -Djava.util.logging.config.file=myfile
+############################################################
+
+############################################################
+#  	Global properties
+############################################################
+
+# "handlers" specifies a comma separated list of log Handler 
+# classes.  These handlers will be installed during VM startup.
+# Note that these classes must be on the system classpath.
+# By default we only configure a ConsoleHandler, which will only
+# show messages at the INFO and above levels.
+#handlers= java.util.logging.ConsoleHandler
+
+# To also add the FileHandler, use the following line instead.
+handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler
+
+# Default global logging level.
+# This specifies which kinds of events are logged across
+# all loggers.  For any given facility this global level
+# can be overriden by a facility specific level
+# Note that the ConsoleHandler also has a separate level
+# setting to limit messages printed to the console.
+.level= INFO
+
+############################################################
+# Handler specific properties.
+# Describes specific configuration info for Handlers.
+############################################################
+
+# default file output is in user's home directory.
+java.util.logging.FileHandler.pattern = test.log
+java.util.logging.FileHandler.limit = 50000
+java.util.logging.FileHandler.count = 1
+java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
+java.util.logging.SimpleFormatter.format=%1$tb %1$td, %1$tY %1$tl:%1$tM:%1$tS %1$Tp %2$s %4$s: %5$s%6$s%n
+
+# Limit the message that are printed on the console to INFO and above.
+java.util.logging.ConsoleHandler.level = FINER
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
+
+
+############################################################
+# Facility specific properties.
+# Provides extra control for each logger.
+############################################################
+
+org.apache.river.container.level = FINER
+
+org.apache.river.container.ShowContextToConsole.level=INFO
+
+net.jini.config.level=INFO
+org.apache.river.container.security.ContainerCodePolicy.level=INFO
+org.apache.river.container.deployer.ClasspathFilterBuilder.level=INFO
+org.apache.river.container.deployer.DeployerConfigParser=INFO
+net.jini.config.level=INFO

http://git-wip-us.apache.org/repos/asf/river-container/blob/67992683/product/src/main/root/bin/run.sh
----------------------------------------------------------------------
diff --git a/product/src/main/root/bin/run.sh b/product/src/main/root/bin/run.sh
new file mode 100644
index 0000000..84e8fce
--- /dev/null
+++ b/product/src/main/root/bin/run.sh
@@ -0,0 +1 @@
+java -classpath lib/river-container-core-*.jar  -Djava.util.logging.config.file=bin/logging.properties -Dcom.sun.management.jmxremote org.apache.river.container.Bootstrap $*
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/river-container/blob/67992683/product/src/main/root/profile/client/class-server.properties
----------------------------------------------------------------------
diff --git a/product/src/main/root/profile/client/class-server.properties b/product/src/main/root/profile/client/class-server.properties
new file mode 100644
index 0000000..6957c40
--- /dev/null
+++ b/product/src/main/root/profile/client/class-server.properties
@@ -0,0 +1,17 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+ # or more contributor license agreements.  See the NOTICE file
+ # distributed with this work for additional information
+ # regarding copyright ownership. The ASF licenses this file
+ # to you under the Apache License, Version 2.0 (the
+ # "License"); you may not use this file except in compliance
+ # with the License. You may obtain a copy of the License at
+ #
+ #      http://www.apache.org/licenses/LICENSE-2.0
+ #
+ # Unless required by applicable law or agreed to in writing, software
+ # distributed under the License is distributed on an "AS IS" BASIS,
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+ #
+initialPort=8080
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/river-container/blob/67992683/product/src/main/root/profile/client/config.xml
----------------------------------------------------------------------
diff --git a/product/src/main/root/profile/client/config.xml b/product/src/main/root/profile/client/config.xml
new file mode 100644
index 0000000..1c108d1
--- /dev/null
+++ b/product/src/main/root/profile/client/config.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    Document   : config.xml
+    Created on : December 10, 2010, 6:39 PM
+    Author     : trasukg
+    Description:
+        Configuration file in the 'profile' directory selected by the 
+        command line.
+-->
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership. The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License. You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+ -->
+
+<cfg:container-config  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
+   xmlns:cfg='http://river.apache.org/xml/ns/container/config/1.0'
+   xsi:schemaLocation='http://river.apache.org/xml/ns/container/config/1.0 file:/home/trasukg/development/surrogate/src/schemas/config.xsd'>
+    <cfg:property name="deploymentDirectory" value="deploy"/>
+
+    <cfg:property name="defaultDiscoveryGroup" value="RiverContainerDefault"/>
+    <cfg:component class="org.apache.river.container.work.ContextualWorkManager"/>
+    <cfg:component class="org.apache.river.container.work.BasicWorkManager"/>
+    <cfg:component class="org.apache.river.container.codebase.ClassServer"/>
+
+    <!-- Deployer for 'service-starter'-style applications. -->
+    <cfg:component class="org.apache.river.container.deployer.StarterServiceDeployer">
+        <cfg:property name="config" value="service-starter.cfg"/>
+        <cfg:property name="deployDirectory" value="deploy"/>
+    </cfg:component>
+    
+    <!-- Deployer for 'service-starter'-style applications. -->
+    <cfg:component class="org.apache.river.container.deployer.ClientAppDeployer">
+        <cfg:property name="config" value="client-app.cfg"/>
+        <cfg:property name="deployDirectory" value="deploy"/>
+    </cfg:component>
+    
+
+    <!--
+    <cfg:component class="org.apache.river.container.ShowContextToConsole"/>
+    -->
+</cfg:container-config>

http://git-wip-us.apache.org/repos/asf/river-container/blob/67992683/product/src/main/root/profile/client/deploy-privileged/readme.txt
----------------------------------------------------------------------
diff --git a/product/src/main/root/profile/client/deploy-privileged/readme.txt b/product/src/main/root/profile/client/deploy-privileged/readme.txt
new file mode 100644
index 0000000..eb900da
--- /dev/null
+++ b/product/src/main/root/profile/client/deploy-privileged/readme.txt
@@ -0,0 +1,2 @@
+This file is only here to ensure that the parent directory is 
+preserved in version control.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/river-container/blob/67992683/product/src/main/root/profile/client/deploy/readme.txt
----------------------------------------------------------------------
diff --git a/product/src/main/root/profile/client/deploy/readme.txt b/product/src/main/root/profile/client/deploy/readme.txt
new file mode 100644
index 0000000..eb900da
--- /dev/null
+++ b/product/src/main/root/profile/client/deploy/readme.txt
@@ -0,0 +1,2 @@
+This file is only here to ensure that the parent directory is 
+preserved in version control.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/river-container/blob/67992683/product/src/main/root/profile/client/service-starter.cfg
----------------------------------------------------------------------
diff --git a/product/src/main/root/profile/client/service-starter.cfg b/product/src/main/root/profile/client/service-starter.cfg
new file mode 100644
index 0000000..b53cc07
--- /dev/null
+++ b/product/src/main/root/profile/client/service-starter.cfg
@@ -0,0 +1,95 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Sample file that our policy file parser should be able to process.
+
+// Grants given to all applications.
+grant {
+    //java.security.AllPermission;
+    //java.io.FilePermission "${serviceArchive}" "read";
+    java.io.FilePermission "-" "read";
+    java.net.SocketPermission "*" "connect,listen,accept,resolve";
+
+    // Required for VFSFileManager
+    java.util.PropertyPermission "java.io.tmpdir" "read";
+    java.util.PropertyPermission "os.*" "read";
+    java.util.PropertyPermission "path.*" "read";
+    java.lang.RuntimePermission "getClassLoader";
+    java.lang.RuntimePermission "setContextClassLoader";
+    /* net.jini.security.Security requires createSecurityManager, but we
+    don't grant 'setSecurityManager'. */
+    java.lang.RuntimePermission "createSecurityManager";
+    java.lang.RuntimePermission "getProtectionDomain";
+    java.lang.RuntimePermission "setFactory";
+    java.lang.RuntimePermission "modifyThread";
+    java.lang.RuntimePermission "modifyThreadGroup";
+    java.security.SecurityPermission "getDomainCombiner";
+    java.security.SecurityPermission "createAccessControlContext";
+    java.security.SecurityPermission "getPolicy";
+
+    // BasicProxyPreparer requirements:
+    javax.security.auth.AuthPermission "getSubject";
+    // Should not be required once UmbrellaGrantPolicy is implemented.
+    // TODO: Config file parser doesn't recognize \"
+    net.jini.security.GrantPermission "delim=| java.lang.RuntimePermission |accessClassInPackage.com.sun.proxy|";
+
+    net.jini.security.policy.UmbrellaGrantPermission;
+    com.sun.jini.thread.ThreadPoolPermission "getSystemThreadPool";
+    com.sun.jini.thread.ThreadPoolPermission "getUserThreadPool";
+    com.sun.jini.discovery.internal.EndpointInternalsPermission "set";
+    com.sun.jini.discovery.internal.EndpointInternalsPermission "get";
+    java.lang.reflect.ReflectPermission "suppressAccessChecks";
+    net.jini.export.ExportPermission "exportRemoteInterface.*";
+    net.jini.discovery.DiscoveryPermission "*";
+    java.lang.RuntimePermission "shutdownHooks";
+    java.util.PropertyPermission "*" "read";
+
+    java.lang.RuntimePermission "accessClassInPackage.com.sun.proxy";
+
+    // Only in client configuration - apps can call System.exit()
+    java.lang.RuntimePermission "exitVM.*";
+}
+
+classloader {
+    // Variables required to set up the application classloader.
+    //For a privileged application deployer, parent=containerClassLoader;
+    parent systemClassLoader;
+
+    jars {
+        commons-vfs2-2.0.jar,
+        commons-logging-1.1.1.jar,
+        jsk-platform-2.2.1.jar,
+        jsk-lib-2.2.1.jar,
+        jsk-resources-2.2.1.jar,
+        river-container-core-1.0-SNAPSHOT.jar(org.apache.river.container.liaison.Strings,
+            org.apache.river.container.liaison.VirtualFileSystemConfiguration, 
+            org.apache.river.container.liaison.VirtualFileSystemConfiguration$MyConfigurationFile, 
+            "META-INF/services/*")
+    }
+
+    codebase {jsk-dl-2.2.1.jar}
+}
+
+configuration {
+    // Anything on the left-hand side of '=' is set into the application config
+    // as a "special variable, accessible through '$name'.
+    discoveryGroup=defaultDiscoveryGroup;
+    
+    // For privileged deployer, include 
+    // context=context;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/river-container/blob/67992683/product/src/main/root/profile/default/class-server.properties
----------------------------------------------------------------------
diff --git a/product/src/main/root/profile/default/class-server.properties b/product/src/main/root/profile/default/class-server.properties
new file mode 100644
index 0000000..6957c40
--- /dev/null
+++ b/product/src/main/root/profile/default/class-server.properties
@@ -0,0 +1,17 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+ # or more contributor license agreements.  See the NOTICE file
+ # distributed with this work for additional information
+ # regarding copyright ownership. The ASF licenses this file
+ # to you under the Apache License, Version 2.0 (the
+ # "License"); you may not use this file except in compliance
+ # with the License. You may obtain a copy of the License at
+ #
+ #      http://www.apache.org/licenses/LICENSE-2.0
+ #
+ # Unless required by applicable law or agreed to in writing, software
+ # distributed under the License is distributed on an "AS IS" BASIS,
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+ #
+initialPort=8080
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/river-container/blob/67992683/product/src/main/root/profile/default/config.xml
----------------------------------------------------------------------
diff --git a/product/src/main/root/profile/default/config.xml b/product/src/main/root/profile/default/config.xml
new file mode 100644
index 0000000..06108ed
--- /dev/null
+++ b/product/src/main/root/profile/default/config.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    Document   : config.xml
+    Created on : December 10, 2010, 6:39 PM
+    Author     : trasukg
+    Description:
+        Configuration file in the 'profile' directory selected by the 
+        command line.
+-->
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership. The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License. You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+ -->
+
+<cfg:container-config  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
+   xmlns:cfg='http://river.apache.org/xml/ns/container/config/1.0'
+   xsi:schemaLocation='http://river.apache.org/xml/ns/container/config/1.0 file:/home/trasukg/development/surrogate/src/schemas/config.xsd'>
+    <cfg:property name="deploymentDirectory" value="deploy"/>
+
+    <cfg:property name="defaultDiscoveryGroup" value="RiverContainerDefault"/>
+    <cfg:component class="org.apache.river.container.work.ContextualWorkManager"/>
+    <cfg:component class="org.apache.river.container.work.BasicWorkManager"/>
+    <cfg:component class="org.apache.river.container.codebase.ClassServer"/>
+
+    <!-- Deployer for 'service-starter'-style applications. -->
+    <cfg:component class="org.apache.river.container.deployer.StarterServiceDeployer">
+        <cfg:property name="config" value="service-starter.cfg"/>
+        <cfg:property name="deployDirectory" value="deploy"/>
+    </cfg:component>
+    
+    <!-- Deployer for applications that are in the 'deploy' directory
+    at startup. -->
+    <cfg:component class="org.apache.river.container.deployer.StartupDeployer">
+        <cfg:property name="config" value="service-starter.cfg"/>
+        <cfg:property name="deployDirectory" value="deploy"/>
+    </cfg:component>
+    
+    <!-- Deployer for 'system apps' like the remote deployment service 
+    <cfg:component class="org.apache.river.container.deployer.StarterServiceDeployer">
+        <cfg:property name="config" value="privileged-services.cfg"/>
+        <cfg:property name="deployDirectory" value="deploy-privileged"/>
+    </cfg:component>
+    -->
+    
+    <cfg:component class="org.apache.river.container.ShowContextToConsole"/>
+</cfg:container-config>

http://git-wip-us.apache.org/repos/asf/river-container/blob/67992683/product/src/main/root/profile/default/deploy-privileged/readme.txt
----------------------------------------------------------------------
diff --git a/product/src/main/root/profile/default/deploy-privileged/readme.txt b/product/src/main/root/profile/default/deploy-privileged/readme.txt
new file mode 100644
index 0000000..eb900da
--- /dev/null
+++ b/product/src/main/root/profile/default/deploy-privileged/readme.txt
@@ -0,0 +1,2 @@
+This file is only here to ensure that the parent directory is 
+preserved in version control.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/river-container/blob/67992683/product/src/main/root/profile/default/deploy/readme.txt
----------------------------------------------------------------------
diff --git a/product/src/main/root/profile/default/deploy/readme.txt b/product/src/main/root/profile/default/deploy/readme.txt
new file mode 100644
index 0000000..eb900da
--- /dev/null
+++ b/product/src/main/root/profile/default/deploy/readme.txt
@@ -0,0 +1,2 @@
+This file is only here to ensure that the parent directory is 
+preserved in version control.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/river-container/blob/67992683/product/src/main/root/profile/default/service-starter.cfg
----------------------------------------------------------------------
diff --git a/product/src/main/root/profile/default/service-starter.cfg b/product/src/main/root/profile/default/service-starter.cfg
new file mode 100644
index 0000000..4df90b2
--- /dev/null
+++ b/product/src/main/root/profile/default/service-starter.cfg
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Sample file that our policy file parser should be able to process.
+
+// Grants given to all applications.
+grant {
+    //java.security.AllPermission;
+    //java.io.FilePermission "${serviceArchive}" "read";
+    java.io.FilePermission "-" "read";
+    java.net.SocketPermission "*" "connect,listen,accept,resolve";
+
+    // Required for VFSFileManager
+    java.util.PropertyPermission "java.io.tmpdir" "read";
+    java.util.PropertyPermission "os.*" "read";
+    java.util.PropertyPermission "path.*" "read";
+    java.lang.RuntimePermission "getClassLoader";
+    java.lang.RuntimePermission "setContextClassLoader";
+    /* net.jini.security.Security requires createSecurityManager, but we
+    don't grant 'setSecurityManager'. */
+    java.lang.RuntimePermission "createSecurityManager";
+    java.lang.RuntimePermission "getProtectionDomain";
+    java.lang.RuntimePermission "setFactory";
+    java.lang.RuntimePermission "modifyThread";
+    java.lang.RuntimePermission "modifyThreadGroup";
+    java.security.SecurityPermission "getDomainCombiner";
+    java.security.SecurityPermission "createAccessControlContext";
+    java.security.SecurityPermission "getPolicy";
+    net.jini.security.policy.UmbrellaGrantPermission;
+    com.sun.jini.thread.ThreadPoolPermission "getSystemThreadPool";
+    com.sun.jini.thread.ThreadPoolPermission "getUserThreadPool";
+    com.sun.jini.discovery.internal.EndpointInternalsPermission "set";
+    com.sun.jini.discovery.internal.EndpointInternalsPermission "get";
+    java.lang.reflect.ReflectPermission "suppressAccessChecks";
+    net.jini.export.ExportPermission "exportRemoteInterface.*";
+    net.jini.discovery.DiscoveryPermission "*";
+    java.lang.RuntimePermission "shutdownHooks";
+    java.util.PropertyPermission "*" "read";
+
+    java.lang.RuntimePermission "accessClassInPackage.com.sun.proxy";
+}
+
+classloader {
+    // Variables required to set up the application classloader.
+    //For a privileged application deployer, parent=containerClassLoader;
+    parent systemClassLoader;
+
+    jars {
+        commons-vfs2-2.0.jar,
+        commons-logging-1.1.1.jar,
+        jsk-platform-2.2.1.jar,
+        jsk-lib-2.2.1.jar,
+        jsk-resources-2.2.1.jar,
+        river-container-core-1.0-SNAPSHOT.jar(org.apache.river.container.liaison.Strings,
+            org.apache.river.container.liaison.VirtualFileSystemConfiguration, 
+            org.apache.river.container.liaison.VirtualFileSystemConfiguration$MyConfigurationFile, 
+            "META-INF/services/*")
+    }
+
+    codebase {jsk-dl-2.2.1.jar}
+}
+
+configuration {
+    // Anything on the left-hand side of '=' is set into the application config
+    // as a "special variable, accessible through '$name'.
+    discoveryGroup=defaultDiscoveryGroup;
+    
+    // For privileged deployer, include 
+    // context=context;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/river-container/blob/67992683/river-container-core/pom.xml
----------------------------------------------------------------------
diff --git a/river-container-core/pom.xml b/river-container-core/pom.xml
index d071a3a..4bcae73 100644
--- a/river-container-core/pom.xml
+++ b/river-container-core/pom.xml
@@ -49,13 +49,13 @@
         <dependency>
             <groupId>net.jini</groupId>
             <artifactId>jsk-platform</artifactId>
-            <version>2.2.1</version>
+            <version>${jsk-version}</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>net.jini</groupId>
             <artifactId>jsk-resources</artifactId>
-            <version>2.2.1</version>
+            <version>${jsk-version}</version>
             <scope>compile</scope>
         </dependency>
     

http://git-wip-us.apache.org/repos/asf/river-container/blob/67992683/test-container/pom.xml
----------------------------------------------------------------------
diff --git a/test-container/pom.xml b/test-container/pom.xml
index daa8c71..cb99d23 100644
--- a/test-container/pom.xml
+++ b/test-container/pom.xml
@@ -26,7 +26,7 @@
         <dependency>
             <groupId>net.jini</groupId>
             <artifactId>jsk-policy</artifactId>
-            <version>2.2.1</version>
+            <version>${jsk-version}</version>
             <scope>compile</scope>
         </dependency>
         <dependency>

http://git-wip-us.apache.org/repos/asf/river-container/blob/67992683/user-docs/pom.xml
----------------------------------------------------------------------
diff --git a/user-docs/pom.xml b/user-docs/pom.xml
new file mode 100644
index 0000000..4fb743a
--- /dev/null
+++ b/user-docs/pom.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.river.container</groupId>
+    <artifactId>river-container</artifactId>
+    <version>1.0-SNAPSHOT</version>
+  </parent>
+  <groupId>org.apache.river.container</groupId>
+  <artifactId>user-docs</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <name>user-docs</name>
+  <url>http://maven.apache.org</url>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  </properties>
+  <dependencies>
+
+  </dependencies>
+</project>