FELIX-3981 Create a sample project for demonstrating Felix JAAS main features
Adding a launcher module to package the bundles as part of one executable jar based on Sling Launchpad support.
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1460607 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/examples/jaas/launcher/src/main/bundles/list.xml b/examples/jaas/launcher/src/main/bundles/list.xml
new file mode 100644
index 0000000..35d6d3e
--- /dev/null
+++ b/examples/jaas/launcher/src/main/bundles/list.xml
@@ -0,0 +1,157 @@
+<?xml version="1.0"?>
+<!--
+ ~ 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.
+ -->
+
+<bundles>
+ <startLevel level="0">
+ <!-- felix httpservice whiteboard -->
+ <bundle>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.http.whiteboard</artifactId>
+ <version>2.2.0</version>
+ </bundle>
+ <bundle>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.4</version>
+ </bundle>
+ <bundle>
+ <groupId>commons-fileupload</groupId>
+ <artifactId>commons-fileupload</artifactId>
+ <version>1.2.2</version>
+ </bundle>
+
+ <bundle>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.jaas</artifactId>
+ <version>${jaas.example.version}</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.felix.example</groupId>
+ <artifactId>org.apache.felix.example.jaas.app</artifactId>
+ <version>${jaas.example.version}</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.felix.example</groupId>
+ <artifactId>org.apache.felix.example.jaas.lm-config</artifactId>
+ <version>${jaas.example.version}</version>
+ </bundle>
+
+ <!-- Bundles lrequired for Sling Installer Support -->
+ <bundle>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.settings</artifactId>
+ <version>1.2.2</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.launchpad.installer</artifactId>
+ <version>1.2.0</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.installer.api</artifactId>
+ <version>1.0.0</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.installer.core</artifactId>
+ <version>3.4.6</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.installer.console</artifactId>
+ <version>1.0.0</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.installer.factory.configuration</artifactId>
+ <version>1.0.10</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.installer.provider.file</artifactId>
+ <version>1.0.2</version>
+ </bundle>
+ </startLevel>
+ <startLevel level="1">
+ <bundle>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.6.4</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.commons.log</artifactId>
+ <version>3.0.0</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.commons.logservice</artifactId>
+ <version>1.0.2</version>
+ </bundle>
+ <bundle>
+ <groupId>org.slf4j</groupId>
+ <artifactId>jcl-over-slf4j</artifactId>
+ <version>1.6.4</version>
+ </bundle>
+ <bundle>
+ <groupId>org.slf4j</groupId>
+ <artifactId>log4j-over-slf4j</artifactId>
+ <version>1.6.4</version>
+ </bundle>
+ </startLevel>
+
+ <startLevel level="5">
+ <bundle>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.webconsole</artifactId>
+ <version>4.0.0</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.geronimo.bundles</groupId>
+ <artifactId>json</artifactId>
+ <version>20090211_1</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.webconsole.plugins.ds</artifactId>
+ <version>1.0.0</version>
+ </bundle>
+ </startLevel>
+
+ <startLevel level="10">
+ <bundle>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.scr</artifactId>
+ <version>1.6.0</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.configadmin</artifactId>
+ <version>1.6.0</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.metatype</artifactId>
+ <version>1.0.6</version>
+ </bundle>
+
+ </startLevel>
+</bundles>
diff --git a/examples/jaas/launcher/src/main/config/org.apache.felix.jaas.Configuration.factory-simple.cfg b/examples/jaas/launcher/src/main/config/org.apache.felix.jaas.Configuration.factory-simple.cfg
new file mode 100644
index 0000000..6e19a73
--- /dev/null
+++ b/examples/jaas/launcher/src/main/config/org.apache.felix.jaas.Configuration.factory-simple.cfg
@@ -0,0 +1,23 @@
+#
+# 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.
+#
+
+jaas.classname=org.apache.felix.example.jaas.config.internal.SampleConfigLoginModule
+jaas.controlFlag=required
+jaas.ranking=0
+jaas.realmName=sample
diff --git a/examples/jaas/launcher/src/main/sling/common.properties b/examples/jaas/launcher/src/main/sling/common.properties
new file mode 100644
index 0000000..9c59295
--- /dev/null
+++ b/examples/jaas/launcher/src/main/sling/common.properties
@@ -0,0 +1,21 @@
+#
+# 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.
+#
+
+sling.bootdelegation.class.org.apache.felix.jaas.boot.ProxyLoginModule = \
+ org.apache.felix.jaas.boot
\ No newline at end of file