Added transient-outrigger module to river-container project.
Added outrigger profile to the 'product' container.
diff --git a/pom.xml b/pom.xml
index 131ab5b..7ce20e8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,7 +15,8 @@
         <module>browser</module>
         <module>user-docs</module>
         <module>product</module>
-    </modules>
+    <module>transient-outrigger-module</module>
+  </modules>
     <properties>
         <jsk-version>2.2.2</jsk-version>
     </properties>
diff --git a/product/pom.xml b/product/pom.xml
index dc1a87d..c3307b0 100644
--- a/product/pom.xml
+++ b/product/pom.xml
@@ -36,6 +36,12 @@
             <version>1.0-SNAPSHOT</version>

             <scope>compile</scope>

         </dependency>

+        <dependency>

+            <groupId>org.apache.river.container</groupId>

+            <artifactId>transient-outrigger-module</artifactId>

+            <version>1.0-SNAPSHOT</version>

+            <scope>compile</scope>

+        </dependency>

     </dependencies>

   

     <build>

diff --git a/product/src/assemble/product-container.xml b/product/src/assemble/product-container.xml
index 67f0db3..b032332 100644
--- a/product/src/assemble/product-container.xml
+++ b/product/src/assemble/product-container.xml
@@ -44,6 +44,14 @@
                 <include>*:browser-module</include>
             </includes>
         </dependencySet>
+        <dependencySet>
+            <useProjectArtifact>false</useProjectArtifact>
+            <outputDirectory>/profile/outrigger/deploy</outputDirectory>
+            <scope>runtime</scope>
+            <includes>
+                <include>*:transient-outrigger-module</include>
+            </includes>
+        </dependencySet>
     </dependencySets>
 
 </assembly>
diff --git a/product/src/main/root/profile/outrigger/class-server.properties b/product/src/main/root/profile/outrigger/class-server.properties
new file mode 100644
index 0000000..6957c40
--- /dev/null
+++ b/product/src/main/root/profile/outrigger/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
diff --git a/product/src/main/root/profile/outrigger/config.xml b/product/src/main/root/profile/outrigger/config.xml
new file mode 100644
index 0000000..7d81f52
--- /dev/null
+++ b/product/src/main/root/profile/outrigger/config.xml
@@ -0,0 +1,60 @@
+<?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:component>
+    
+    <!-- Deployer for applications that are in the 'deploy' directory
+    at startup. -->
+    <cfg:component class="org.apache.river.container.deployer.StartupDeployer">
+        <cfg:property name="deployDirectory" value="deploy"/>
+        <cfg:property name="autoDeploy" value="true"/>
+    </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>
diff --git a/product/src/main/root/profile/outrigger/deploy-privileged/readme.txt b/product/src/main/root/profile/outrigger/deploy-privileged/readme.txt
new file mode 100644
index 0000000..eb900da
--- /dev/null
+++ b/product/src/main/root/profile/outrigger/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
diff --git a/product/src/main/root/profile/outrigger/deploy/readme.txt b/product/src/main/root/profile/outrigger/deploy/readme.txt
new file mode 100644
index 0000000..eb900da
--- /dev/null
+++ b/product/src/main/root/profile/outrigger/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
diff --git a/product/src/main/root/profile/outrigger/service-starter.cfg b/product/src/main/root/profile/outrigger/service-starter.cfg
new file mode 100644
index 0000000..4b2a5a0
--- /dev/null
+++ b/product/src/main/root/profile/outrigger/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-${jsk-version}.jar,

+        jsk-lib-${jsk-version}.jar,

+        jsk-resources-${jsk-version}.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-${jsk-version}.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
diff --git a/transient-outrigger-module/pom.xml b/transient-outrigger-module/pom.xml
new file mode 100644
index 0000000..7bdcb4f
--- /dev/null
+++ b/transient-outrigger-module/pom.xml
@@ -0,0 +1,55 @@
+<?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>transient-outrigger-module</artifactId>

+    <version>1.0-SNAPSHOT</version>

+    <packaging>pom</packaging>

+    <name>transient-outrigger-module</name>

+  

+    <dependencies>

+        <dependency>

+            <groupId>org.apache.river</groupId>

+            <artifactId>outrigger</artifactId>

+            <version>${jsk-version}</version>

+            <scope>compile</scope>

+        </dependency>

+

+        <dependency>

+            <groupId>org.apache.river</groupId>

+            <artifactId>outrigger-dl</artifactId>

+            <version>${jsk-version}</version>

+            <scope>compile</scope>

+        </dependency>

+

+    </dependencies>

+  

+    <build>

+        <plugins>

+            <plugin>

+                <artifactId>maven-assembly-plugin</artifactId>

+                <configuration>

+                    <descriptor>src/assemble/module.xml</descriptor>

+                    <appendAssemblyId>false</appendAssemblyId>

+                </configuration>

+                <executions>

+                    <execution>

+                        <id>ssar</id>

+                        <phase>package</phase>

+                        <goals>

+                            <goal>single</goal>

+                        </goals>

+                        

+                    </execution>

+                </executions>

+            </plugin>

+            

+        </plugins>

+    </build>

+

+</project>

diff --git a/transient-outrigger-module/src/assemble/module.xml b/transient-outrigger-module/src/assemble/module.xml
new file mode 100644
index 0000000..0965573
--- /dev/null
+++ b/transient-outrigger-module/src/assemble/module.xml
@@ -0,0 +1,66 @@
+<!--
+ 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.
+
+-->
+<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>ssar</id>
+    
+    <formats>
+        <format>jar</format>
+    </formats>
+    <includeBaseDirectory>false</includeBaseDirectory>
+
+  <fileSets>
+
+        <fileSet>
+            <directory>${basedir}/src/main/root</directory>
+            <includes>
+                <include>**/**</include>
+                <include>*</include>
+            </includes>
+            <outputDirectory>/</outputDirectory>
+        </fileSet>
+  
+  </fileSets>    
+  <dependencySets>
+     
+        <dependencySet>
+            <useProjectArtifact>false</useProjectArtifact>
+            <outputDirectory>/lib</outputDirectory>
+            <!-- jsk jars are already provided by the container. -->
+            <excludes>
+                <exclude>*:jsk-*</exclude>
+            </excludes>
+        </dependencySet>
+        
+        <dependencySet>
+            <useProjectArtifact>false</useProjectArtifact>
+            <outputDirectory>/lib-dl</outputDirectory>
+            <includes>
+                <include>*:*-dl</include>
+            </includes>
+            <!-- jsk jars are already provided by the container. -->
+            <excludes>
+                <exclude>*:jsk-*</exclude>
+            </excludes>
+        </dependencySet>
+    </dependencySets>
+
+</assembly>
diff --git a/transient-outrigger-module/src/main/root/start.properties b/transient-outrigger-module/src/main/root/start.properties
new file mode 100644
index 0000000..98b3840
--- /dev/null
+++ b/transient-outrigger-module/src/main/root/start.properties
@@ -0,0 +1,20 @@
+
+ # 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.
+ #
+
+startClass=com.sun.jini.outrigger.TransientOutriggerImpl
+startParameters=transient-outrigger.config
diff --git a/transient-outrigger-module/src/main/root/transient-outrigger.config b/transient-outrigger-module/src/main/root/transient-outrigger.config
new file mode 100644
index 0000000..2f54ffa
--- /dev/null
+++ b/transient-outrigger-module/src/main/root/transient-outrigger.config
@@ -0,0 +1,45 @@
+import net.jini.core.entry.Entry;
+import net.jini.jeri.BasicILFactory;
+import net.jini.jeri.BasicJeriExporter;
+import net.jini.jeri.tcp.TcpServerEndpoint;
+import net.jini.lookup.entry.Name;
+import java.security.Permission;
+import net.jini.constraint.BasicMethodConstraints;
+import net.jini.core.constraint.InvocationConstraints;
+import net.jini.security.BasicProxyPreparer;
+
+
+com.sun.jini.outrigger{
+
+    serviceInvocationConstraints=InvocationConstraints.EMPTY;
+
+    name = "Java Space (Outrigger)";
+
+    initialLookupAttributes=new Entry[]{	new Name(name)};
+
+    initialLookupGroups=new String[] {$discoveryGroup};
+
+    serverExporter= new BasicJeriExporter(TcpServerEndpoint.getInstance(0),
+                                 new BasicILFactory());
+    basicProxyPreparer =
+        new BasicProxyPreparer(false, new BasicMethodConstraints(serviceInvocationConstraints),
+        new Permission[] { new RuntimePermission("accessClassInPackage.com.sun.proxy") } );
+
+    transactionManagerPreparer=basicProxyPreparer;
+    listenerPreparer=basicProxyPreparer;
+
+}
+
+
+net.jini.lookup.JoinManager {
+    serviceInvocationConstraints=InvocationConstraints.EMPTY;
+        
+    basicProxyPreparer =
+        new BasicProxyPreparer(false, new BasicMethodConstraints(serviceInvocationConstraints),
+            new Permission[] { new RuntimePermission("accessClassInPackage.com.sun.proxy") } );
+
+    registrarPreparer = basicProxyPreparer;
+    registrationPreparer = basicProxyPreparer;
+    serviceLeasePreparer = basicProxyPreparer;
+    
+}
\ No newline at end of file