argeo.osgi.start.1.node=\
-org.springframework.osgi.extender,\
+org.eclipse.gemini.blueprint.extender
argeo.osgi.start.3.node=\
org.argeo.node.repo.jackrabbit,\
argeo.osgi.start.1.node=\
-org.springframework.osgi.extender
+org.eclipse.gemini.blueprint.extender
#org.argeo.server.ads.server,\
argeo.osgi.start=\
-org.springframework.osgi.extender,\
+org.eclipse.gemini.blueprint.extender,\
org.argeo.node.repo.jackrabbit,\
org.argeo.security.dao.os,\
org.argeo.security.ui.initialPerspective=org.argeo.jcr.ui.explorer.perspective
eclipse.application=org.argeo.security.ui.rcp.secureUi
+osgi.console.enable.builtin=true
+
#argeo.node.repo.configuration=classpath:/org/argeo/jackrabbit/repository-fs.xml
#argeo.node.repo.configuration=classpath:/org/argeo/jackrabbit/repository-memory.xml
#argeo.node.repo.configuration=osgibundle:repository-h2.xml
</plugins>
</build>
<dependencies>
- <!-- Core CMS code -->
<dependency>
<groupId>org.argeo.commons</groupId>
<artifactId>org.argeo.cms</artifactId>
<version>2.1.12</version>
</dependency>
-
- <!-- Commons -->
<dependency>
<groupId>org.argeo.commons</groupId>
<artifactId>org.argeo.util</artifactId>
<version>2.1.12</version>
</dependency>
- <!-- Node (without RAP) -->
+ <!-- Minimal web target platform -->
<dependency>
<groupId>org.argeo.commons</groupId>
<artifactId>org.argeo.security.dep.node</artifactId>
+ <type>pom</type>
<version>2.1.12</version>
<exclusions>
+ <!-- Workbench -->
+ <exclusion>
+ <groupId>org.argeo.tp.rap.platform</groupId>
+ <artifactId>org.eclipse.rap.ui.workbench</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.argeo.tp.rap.platform</groupId>
+ <artifactId>org.eclipse.rap.ui</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.argeo.tp.rap.platform</groupId>
+ <artifactId>org.eclipse.rap.ui.cheatsheets</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.argeo.tp.rap.platform</groupId>
+ <artifactId>org.eclipse.rap.ui.forms</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.argeo.tp.rap.platform</groupId>
+ <artifactId>org.eclipse.rap.ui.views</artifactId>
+ </exclusion>
<exclusion>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.eclipse.osgi</artifactId>
+ <groupId>org.argeo.tp.rap.platform</groupId>
+ <artifactId>org.eclipse.help</artifactId>
</exclusion>
</exclusions>
</dependency>
-
- <!-- Minimal web target platform -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.eclipse.dep.rwt</artifactId>
- <version>2.1.12</version>
- <type>pom</type>
- </dependency>
</dependencies>
</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.commons</groupId>
- <version>2.1.12</version>
- <artifactId>dep</artifactId>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.dep.jackrabbit</artifactId>
- <packaging>pom</packaging>
- <name>Commons Minimal Jackrabbit</name>
- <dependencies>
- <!-- Jackrabbit -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.jackrabbit</artifactId>
- </dependency>
-
- <!-- Database -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.h2</artifactId>
- </dependency>
-
- <!-- Transitive dependencies -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>javax.jcr</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.lucene</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.dep.log4j</artifactId>
- <version>2.1.12</version>
- <type>pom</type>
- </dependency>
-
- <!-- Commons -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.collections</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.io</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.httpclient</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.fileupload</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.compress</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.pool</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.dbcp</artifactId>
- </dependency>
-
- <!-- Misc -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>edu.oswego.cs.dl.util.concurrent</artifactId>
- </dependency>
-
- <!-- For webdav -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>javax.servlet</artifactId>
- </dependency>
-
- <!-- Tika -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.tika</artifactId>
- </dependency>
- <!-- Required for OSGi completion -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.dom4j</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.jdom</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.objectweb.asm</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.jaxen</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.xmlpull</artifactId>
- </dependency>
- </dependencies>
-</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.commons</groupId>
- <version>2.1.12</version>
- <artifactId>dep</artifactId>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.dep.log4j</artifactId>
- <packaging>pom</packaging>
- <name>Commons Apache Log4j (SLF4J) Dependencies</name>
- <dependencies>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>slf4j.org.apache.commons.logging</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.log4j</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>slf4j.log4j</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>slf4j.api</artifactId>
- </dependency>
- <!-- JEE dependencies (for 1.2.16 in SpringSOurce repo)
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>com.springsource.javax.management.j2ee</artifactId>
- </dependency>
- <dependency>
- <groupId>javax.ejb</groupId>
- <artifactId>com.springsource.javax.ejb</artifactId>
- </dependency>
- <dependency>
- <groupId>javax.transaction</groupId>
- <artifactId>com.springsource.javax.transaction</artifactId>
- </dependency>
- <dependency>
- <groupId>javax.xml.rpc</groupId>
- <artifactId>com.springsource.javax.xml.rpc</artifactId>
- </dependency>
- <dependency>
- <groupId>javax.xml.soap</groupId>
- <artifactId>com.springsource.javax.xml.soap</artifactId>
- </dependency>
- <dependency>
- <groupId>javax.activation</groupId>
- <artifactId>com.springsource.javax.activation</artifactId>
- </dependency> -->
- </dependencies>
-</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.commons</groupId>
- <artifactId>dep</artifactId>
- <version>2.1.12</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.eclipse.dep.rap</artifactId>
- <name>Eclipse RAP Dependencies</name>
- <packaging>pom</packaging>
- <dependencies>
- <dependency>
- <groupId>org.argeo.tp.rap.addons</groupId>
- <artifactId>binaries</artifactId>
- <version>${version.rap.addons}</version>
- <type>pom</type>
- <exclusions>
- <exclusion>
- <!-- TODO remove OSGi runtime from addons -->
- <groupId>org.argeo.tp.rap.addons</groupId>
- <artifactId>org.eclipse.osgi</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>binaries</artifactId>
- <version>${version.rap}</version>
- <type>pom</type>
- <exclusions>
- <!-- Not used -->
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.ui.cheatsheets</artifactId>
- </exclusion>
-
- <!-- Example, demos -->
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.demo</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.demo.databinding</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.design.example</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.demo.controls</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.examples</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.examples.pages</artifactId>
- </exclusion>
-
- <!-- Troublesome bundles -->
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.junit</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.junit</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.jdt.junit.runtime</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.junit.runtime</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.rwt.testfixture</artifactId>
- </exclusion>
- <!-- Felix Gogo shell -->
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.apache.felix.gogo.runtime</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.apache.felix.gogo.shell</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.apache.felix.gogo.command</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.equinox.console</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <!-- Needed by upload -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.io</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.fileupload</artifactId>
- </dependency>
-
- <!-- RAP Specific Dependencies -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp</groupId> -->
- <!-- <artifactId>javax.servlet</artifactId> -->
- <!-- </dependency> -->
-
- <!-- Security -->
- <dependency>
- <groupId>org.argeo.tp.rap</groupId>
- <artifactId>org.eclipse.equinox.security</artifactId>
- </dependency>
-
- </dependencies>
- <profiles>
- <profile>
- <id>check-osgi</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.argeo.maven.plugins</groupId>
- <artifactId>maven-argeo-osgi-plugin</artifactId>
- <executions>
- <execution>
- <id>check-osgi</id>
- <phase>test</phase>
- <goals>
- <goal>equinox</goal>
- </goals>
- <configuration>
- <onlyCheck>true</onlyCheck>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>rpmbuild-tp</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>rpm-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>rpm-rap</id>
- <phase>package</phase>
- <goals>
- <goal>rpm</goal>
- </goals>
- <configuration>
- <name>eclipse-rap</name>
- <projversion>${version.rap}</projversion>
- <mappings>
- <mapping>
- <directory>/usr/share/eclipse-rap</directory>
- <username>root</username>
- <groupname>root</groupname>
- <filemode>644</filemode>
- <directoryIncluded>false</directoryIncluded>
- <dependency />
- </mapping>
- </mappings>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <phase>install</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <target>
- <copy todir="${rpm.stagingRepository}" verbose="true">
- <fileset dir="${project.build.directory}/rpm" includes="*/RPMS/**/*.rpm" />
- <flattenmapper />
- </copy>
- </target>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.commons</groupId>
- <artifactId>dep</artifactId>
- <version>2.1.12</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.eclipse.dep.rcp</artifactId>
- <name>Eclipse RCP Dependencies</name>
- <packaging>pom</packaging>
- <description><![CDATA[
-com.ibm.icu
-org.eclipse.core.commands
-org.eclipse.core.contenttype
-org.eclipse.core.databinding
-org.eclipse.core.databinding.observable
-org.eclipse.core.databinding.property
-org.eclipse.core.expressions
-org.eclipse.core.jobs
-org.eclipse.core.runtime
-org.eclipse.equinox.app
-org.eclipse.equinox.common
-org.eclipse.equinox.launcher
-org.eclipse.equinox.preferences
-org.eclipse.equinox.registry
-org.eclipse.equinox.security
-org.eclipse.help
-org.eclipse.jface
-org.eclipse.jface.databinding
-org.eclipse.osgi
-org.eclipse.swt
-org.eclipse.swt.gtk.linux.x86
-org.eclipse.swt.gtk.linux.x86_64
-org.eclipse.swt.win32.win32.x86
-org.eclipse.ui
-org.eclipse.ui.forms
-org.eclipse.ui.workbench
-
-/usr/lib64/eclipse/plugins;\
-in=com.ibm.icu*.jar;\
-in=org.eclipse.core*.jar;\
-in=org.eclipse.equinox*.jar;\
-in=org.eclipse.jface*.jar;\
-in=org.eclipse.osgi*.jar;\
-in=org.eclipse.swt*.jar;\
-in=org.eclipse.ui*.jar;\
-in=org.eclipse.help_*.jar;\
-ex=org.eclipse.osgi.jar;\
-ex=org.eclipse.equinox.p2*.jar;\
-ex=org.eclipse.equinox.simpleconfigurator*.jar;\
-ex=*.source_*.jar,\
-
- ]]></description>
- <dependencies>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.eclipse.osgi</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>binaries</artifactId>
- <version>${version.argeo-distribution}</version>
- <type>pom</type>
- <exclusions>
- <!-- Deprecated update configurator has side effect in PDE -->
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.update.configurator</artifactId>
- </exclusion>
- <!-- SWT -->
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.swt.carbon.macosx</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.swt.cocoa.macosx.x86_64</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.swt.gtk.solaris.sparc</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.swt.gtk.solaris.x86</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.swt.motif.solaris.sparc</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.swt.gtk.linux.s390</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.swt.gtk.linux.s390x</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.swt.gtk.linux.ppc64</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.swt.motif.linux.x86</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.swt.gtk.linux.ppc</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.swt.photon.qnx.x86</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.swt.motif.aix.ppc</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.swt.motif.aix.ppc64</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.swt.motif.hpux.ia64_32</artifactId>
- </exclusion>
-
- <!-- Equinox Launcher -->
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.equinox.launcher.win32.win32.x86_64</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.equinox.launcher.carbon.macosx</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.equinox.launcher.cocoa.macosx.x86_64</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.equinox.launcher.gtk.solaris.sparc</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.equinox.launcher.gtk.solaris.x86</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.equinox.launcher.motif.solaris.sparc</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.equinox.launcher.gtk.linux.s390</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.equinox.launcher.gtk.linux.s390x</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.equinox.launcher.gtk.linux.ppc64</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.equinox.launcher.motif.linux.x86</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.equinox.launcher.gtk.linux.ppc</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.equinox.launcher.photon.qnx.x86</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.equinox.launcher.motif.aix.ppc</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.equinox.launcher.motif.aix.ppc64</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.equinox.launcher.motif.hpux.ia64_32</artifactId>
- </exclusion>
-
- <!-- Eclipse UI -->
- <exclusion>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>org.eclipse.ui.carbon</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <!-- Security -->
- <dependency>
- <groupId>org.argeo.tp.rcp</groupId>
- <artifactId>org.eclipse.equinox.security</artifactId>
- </dependency>
- </dependencies>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.argeo.tp.rcp</groupId>
- <artifactId>binaries</artifactId>
- <version>${version.argeo-distribution}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rcp.platform</groupId>
- <artifactId>binaries</artifactId>
- <version>${version.argeo-distribution}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
- <profiles>
- <profile>
- <id>check-osgi</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.argeo.maven.plugins</groupId>
- <artifactId>maven-argeo-osgi-plugin</artifactId>
- <executions>
- <execution>
- <id>check-osgi</id>
- <phase>test</phase>
- <goals>
- <goal>equinox</goal>
- </goals>
- <configuration>
- <onlyCheck>true</onlyCheck>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.commons</groupId>
- <version>2.1.12</version>
- <artifactId>dep</artifactId>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.eclipse.dep.rwt</artifactId>
- <name>Eclipse RWT Dependencies</name>
- <packaging>pom</packaging>
- <dependencies>
- <!-- Minimal web target platform -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.eclipse.dep.rap</artifactId>
- <type>pom</type>
- <version>2.1.12</version>
- <exclusions>
- <!-- Workbench -->
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.ui.workbench</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.ui</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.ui.cheatsheets</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.ui.forms</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.rap.ui.views</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.help</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
-</project>
\ No newline at end of file
<artifactId>org.argeo.security.ui.admin</artifactId>
<version>2.1.12</version>
</dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.security.mvc</artifactId>
- <version>2.1.12</version>
- </dependency>
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.commons</groupId> -->
+ <!-- <artifactId>org.argeo.security.mvc</artifactId> -->
+ <!-- <version>2.1.12-SNAPSHOT</version> -->
+ <!-- </dependency> -->
<!-- Basis -->
<dependency>
<version>2.1.12</version>
<type>pom</type>
<exclusions>
+ <!-- <exclusion> <groupId>org.argeo.commons</groupId> <artifactId>org.argeo.security.dao.jackrabbit</artifactId>
+ </exclusion> -->
<!-- <exclusion>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.security.dao.jackrabbit</artifactId>
- </exclusion> -->
- <exclusion>
<groupId>org.argeo.commons</groupId>
<artifactId>org.argeo.security.dao.os</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.server.catalina.start</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.server.webextender</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.jasper</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.osgi.web.extender</artifactId>
- </exclusion>
+ </exclusion> -->
</exclusions>
</dependency>
<dependency>
<version>2.1.12</version>
</dependency>
- <!-- For Tomcat deployment
- <dependency>
+ <!-- RAP -->
+ <!-- <dependency>
<groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.server.rap.webapp</artifactId>
- <version>2.1.1.tp-SNAPSHOT</version>
+ <artifactId>org.argeo.eclipse.dep.rap</artifactId>
+ <version>2.1.12-SNAPSHOT</version>
+ <type>pom</type>
</dependency>
- -->
+ -->
+ <!-- For Tomcat deployment <dependency> <groupId>org.argeo.commons</groupId>
+ <artifactId>org.argeo.server.rap.webapp</artifactId> <version>2.1.1.tp-SNAPSHOT</version>
+ </dependency> -->
</dependencies>
<profiles>
<profile>
</plugin>
</plugins>
</build>
- <dependencies>
- <!-- OSGi test -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.osgi.boot</artifactId>
- <version>2.1.12</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- </profile>
- <profile>
- <id>rpmbuild</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>rpm-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>rpm-node-rap</id>
- <phase>package</phase>
- <goals>
- <goal>rpm</goal>
- </goals>
- <configuration>
- <name>argeo-node-rap</name>
- <mappings>
- <!-- <mapping> -->
- <!-- <directory>/etc/argeo-node-rap</directory> -->
- <!-- <username>root</username> -->
- <!-- <groupname>root</groupname> -->
- <!-- <filemode>644</filemode> -->
- <!-- <configuration>true</configuration> -->
- <!-- <directoryIncluded>false</directoryIncluded> -->
- <!-- <sources> -->
- <!-- <source> -->
- <!-- <location>src/main/rpm/etc/argeo-node-rap</location> -->
- <!-- </source> -->
- <!-- </sources> -->
- <!-- </mapping> -->
- <mapping>
- <directory>/usr/share/osgi/rap</directory>
- <username>root</username>
- <groupname>root</groupname>
- <filemode>644</filemode>
- <directoryIncluded>false</directoryIncluded>
- <dependency>
- <includes>
- <include>org.argeo.commons.base:org.argeo.eclipse.ui.rap</include>
- <include>org.argeo.commons.server:org.argeo.server.rap.webapp</include>
- <include>org.argeo.commons.security:org.argeo.security.ui.rap</include>
- </includes>
- </dependency>
- </mapping>
- </mappings>
- <requires>
- <require>argeo-node</require>
- <require>argeo-node-eclipse</require>
- <require>eclipse-rap</require>
- </requires>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
</profile>
</profiles>
</project>
+++ /dev/null
-properties.1.name=org.eclipse.equinox.p2.type.category
-properties.1.value=true
\ No newline at end of file
+++ /dev/null
-<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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.commons</groupId>
- <version>2.1.12</version>
- <artifactId>dep</artifactId>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.security.dep.node.rcp</artifactId>
- <name>Node Eclipse RCP</name>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <configuration>
- <instructions>
- <SLC-ModularDistribution>default</SLC-ModularDistribution>
- </instructions>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.argeo.maven.plugins</groupId>
- <artifactId>maven-argeo-osgi-plugin</artifactId>
- <executions>
- <execution>
- <id>generate-descriptors</id>
- <goals>
- <goal>descriptors</goal>
- </goals>
- <phase>generate-resources</phase>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- <dependencies>
- <!-- Applications -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.eclipse.ui.workbench</artifactId>
- <version>2.1.12</version>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.security.ui.admin</artifactId>
- <version>2.1.12</version>
- </dependency>
-
- <!-- Eclipse -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.eclipse.ui</artifactId>
- <version>2.1.12</version>
- </dependency>
-
- <!-- RCP specific -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.security.ui.rcp</artifactId>
- <version>2.1.12</version>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.security.equinox</artifactId>
- <version>2.1.12</version>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.security.ui</artifactId>
- <version>2.1.12</version>
- </dependency>
-
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.security.dep.node</artifactId>
- <version>2.1.12</version>
- <type>pom</type>
- </dependency>
- </dependencies>
- <profiles>
- <!-- <profile> -->
- <!-- <id>check-osgi</id> -->
- <!-- <build> -->
- <!-- <plugins> -->
- <!-- <plugin> -->
- <!-- <groupId>org.argeo.maven.plugins</groupId> -->
- <!-- <artifactId>maven-argeo-osgi-plugin</artifactId> -->
- <!-- <executions> -->
- <!-- <execution> -->
- <!-- <id>check-osgi</id> -->
- <!-- <phase>test</phase> -->
- <!-- <goals> -->
- <!-- <goal>equinox</goal> -->
- <!-- </goals> -->
- <!-- <configuration> -->
- <!-- <onlyCheck>true</onlyCheck> -->
- <!-- </configuration> -->
- <!-- </execution> -->
- <!-- </executions> -->
- <!-- </plugin> -->
- <!-- </plugins> -->
- <!-- </build> -->
- <!-- <dependencies> -->
- <!-- OSGi test -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.commons</groupId> -->
- <!-- <artifactId>org.argeo.osgi.boot</artifactId> -->
- <!-- <version>2.1.12-SNAPSHOT</version> -->
- <!-- <scope>test</scope> -->
- <!-- </dependency> -->
- <!-- </dependencies> -->
- <!-- </profile> -->
- <profile>
- <id>rpmbuild</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>rpm-maven-plugin</artifactId>
- <configuration>
- </configuration>
- <executions>
- <execution>
- <id>rpm-node-rcp</id>
- <phase>package</phase>
- <goals>
- <goal>rpm</goal>
- </goals>
- <configuration>
- <name>argeo-node-rcp</name>
- <mappings>
- <mapping>
- <directory>/usr/share/osgi/rcp</directory>
- <username>root</username>
- <groupname>root</groupname>
- <filemode>644</filemode>
- <directoryIncluded>false</directoryIncluded>
- <dependency>
- <includes>
- <include>org.argeo.commons:org.argeo.eclipse.ui.rcp</include>
- <include>org.argeo.commons:org.argeo.security.ui.rcp</include>
- </includes>
- </dependency>
- </mapping>
- </mappings>
- <requires>
- <require>argeo-node</require>
- <require>argeo-node-eclipse</require>
- <require>eclipse-platform</require>
- </requires>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-</project>
+++ /dev/null
-<!--
-
- Copyright (C) 2007-2012 Argeo GmbH
-
- Licensed 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.
-
--->
-<!-- Copyright (C) 2010 Mathieu Baudier <mbaudier@argeo.org> Licensed 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.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
- <id>linux.x86</id>
- <baseDirectory>argeo-node-ui</baseDirectory>
- <formats>
- <format>tar.gz</format>
- </formats>
- <dependencySets>
- <dependencySet>
- <unpack>false</unpack>
- <outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}
- </outputFileNameMapping>
- <outputDirectory>lib</outputDirectory>
- <includes>
- <include>*:jar</include>
- </includes>
- <excludes>
- <exclude>org.eclipse.swt:org.eclipse.swt*:jar</exclude>
- </excludes>
- </dependencySet>
- <dependencySet>
- <unpack>false</unpack>
- <outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}
- </outputFileNameMapping>
- <outputDirectory>lib</outputDirectory>
- <includes>
- <include>org.eclipse.swt:org.eclipse.swt.gtk.linux.x86:jar</include>
- </includes>
- </dependencySet>
- </dependencySets>
-</assembly>
\ No newline at end of file
+++ /dev/null
-<!--
-
- Copyright (C) 2007-2012 Argeo GmbH
-
- Licensed 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.
-
--->
-<!-- Copyright (C) 2010 Mathieu Baudier <mbaudier@argeo.org> Licensed 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.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
- <id>linux.x86_64</id>
- <baseDirectory>argeo-node-ui</baseDirectory>
- <formats>
- <format>tar.gz</format>
- </formats>
- <dependencySets>
- <dependencySet>
- <unpack>false</unpack>
- <outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}
- </outputFileNameMapping>
- <outputDirectory>lib</outputDirectory>
- <includes>
- <include>*:jar</include>
- </includes>
- <excludes>
- <exclude>org.eclipse.swt:org.eclipse.swt*:jar</exclude>
- </excludes>
- </dependencySet>
- <dependencySet>
- <unpack>false</unpack>
- <outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}
- </outputFileNameMapping>
- <outputDirectory>lib</outputDirectory>
- <includes>
- <include>org.eclipse.swt:org.eclipse.swt.gtk.linux.x86_64:jar</include>
- </includes>
- </dependencySet>
- </dependencySets>
-</assembly>
\ No newline at end of file
+++ /dev/null
-<!--
-
- Copyright (C) 2007-2012 Argeo GmbH
-
- Licensed 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.
-
--->
-<!-- Copyright (C) 2010 Mathieu Baudier <mbaudier@argeo.org> Licensed 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.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
- <id>win32.x86</id>
- <baseDirectory>argeo-node-ui</baseDirectory>
- <formats>
- <format>zip</format>
- </formats>
- <dependencySets>
- <dependencySet>
- <unpack>false</unpack>
- <outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}
- </outputFileNameMapping>
- <outputDirectory>lib</outputDirectory>
- <includes>
- <include>*:jar</include>
- </includes>
- <excludes>
- <exclude>org.eclipse.swt:org.eclipse.swt*:jar</exclude>
- </excludes>
- </dependencySet>
- <dependencySet>
- <unpack>false</unpack>
- <outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}
- </outputFileNameMapping>
- <outputDirectory>lib</outputDirectory>
- <includes>
- <include>org.eclipse.swt:org.eclipse.swt.win32.win32.x86:jar</include>
- </includes>
- </dependencySet>
- </dependencySets>
-</assembly>
\ No newline at end of file
</plugins>
</build>
<dependencies>
+ <!-- Third Parties -->
+ <dependency>
+ <groupId>org.argeo.tp</groupId>
+ <artifactId>argeo-tp</artifactId>
+ <version>${version.argeo-distribution}</version>
+ </dependency>
+
<!-- Default JCR repositories configurations -->
<dependency>
<groupId>org.argeo.commons</groupId>
<version>2.1.12</version>
</dependency>
- <!-- Logging -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.dep.log4j</artifactId>
- <version>2.1.12</version>
- <type>pom</type>
- </dependency>
-
- <!-- Argeo Server -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.server.core</artifactId>
- <version>2.1.12</version>
- </dependency>
-
<!-- Argeo Security -->
<dependency>
<groupId>org.argeo.commons</groupId>
<version>2.1.12</version>
</dependency>
- <!-- Xerces and Xalan -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.xmlcommons</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.xalan</artifactId>
- </dependency>
-
- <!-- Javax -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>javax.annotation</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>javax.mail</artifactId>
- </dependency>
-
- <!-- Bouncycastle (cryptography) -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>bcprov</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>bcmail</artifactId>
- </dependency>
-
- <!-- Commons -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.vfs</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.exec</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.cli</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.dbcp</artifactId>
- </dependency>
-
- <!-- Reporting -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>jxl</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.pdfbox</artifactId>
- </dependency>
-
- <!-- Spring -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.context.support</artifactId>
- </dependency>
-
- <!-- Spring OSGi -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.osgi.extender</artifactId>
- </dependency>
-
<!-- Jackrabbit -->
<dependency>
<groupId>org.argeo.commons</groupId>
<version>2.1.12</version>
</dependency>
- <!-- Scheduling -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.quartz</artifactId>
- </dependency>
-
- <!-- Security (LDAP) -->
- <!-- Reduce size of minimal: LDAP secutity plugin must be explicitely added using the 3 dependencies below. -->
- <!-- <dependency> <groupId>org.argeo.commons</groupId> <artifactId>org.argeo.security.dao.ldap</artifactId>
- <version>2.1.12-SNAPSHOT</version> </dependency> <dependency> <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.security.auth.ldap</artifactId> <version>2.1.12-SNAPSHOT</version>
- </dependency> <dependency> <groupId>org.argeo.commons</groupId> <artifactId>org.argeo.security.ldap</artifactId>
- <version>2.1.12-SNAPSHOT</version> </dependency> -->
- <!-- Security (Jackrabbit) -->
+ <!-- Security (Jackrabbit) -->
<dependency>
<groupId>org.argeo.commons</groupId>
<artifactId>org.argeo.security.dao.jackrabbit</artifactId>
</dependency>
<!-- Security (Standalone) -->
- <dependency>
+ <!-- <dependency>
<groupId>org.argeo.commons</groupId>
<artifactId>org.argeo.security.dao.os</artifactId>
- <version>2.1.12</version>
- </dependency>
-
- <!-- Web -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.osgi.web.extender</artifactId>
+ <version>2.1.12-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.osgi.web</artifactId>
- </dependency>
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.commons</groupId> -->
- <!-- <artifactId>org.argeo.server.dep.tomcat</artifactId> -->
- <!-- <version>2.1.12-SNAPSHOT</version> -->
- <!-- <type>pom</type> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.commons</groupId> -->
- <!-- <artifactId>org.argeo.server.webextender</artifactId> -->
- <!-- <version>2.1.12-SNAPSHOT</version> -->
- <!-- </dependency> -->
+ -->
<dependency>
<groupId>org.argeo.commons</groupId>
<artifactId>org.argeo.server.jcr.mvc</artifactId>
<version>2.1.12</version>
</dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.jackrabbit.webapp</artifactId>
- <version>2.1.12</version>
- </dependency>
-
- <!-- DB drivers -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.h2</artifactId>
- </dependency>
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp</groupId> -->
- <!-- <artifactId>com.mysql.jdbc</artifactId> -->
- <!-- </dependency> -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.postgresql.jdbc3</artifactId>
- </dependency>
-
- <!-- LDAP Apache Directory server -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.server.dep.ads</artifactId>
- <version>2.1.12</version>
- <type>pom</type>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.server.ads.server</artifactId>
- <version>2.1.12</version>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.server.ads</artifactId>
- <version>2.1.12</version>
- </dependency>
-
- <!-- Software development -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.commons</groupId> -->
- <!-- <artifactId>org.argeo.support.junit</artifactId> -->
- <!-- <version>2.1.12-SNAPSHOT</version> -->
- <!-- </dependency> -->
</dependencies>
<profiles>
<profile>
</plugin>
</plugins>
</build>
- <dependencies>
- <!-- OSGi test -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.osgi.boot</artifactId>
- <version>2.1.12</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- </profile>
- <profile>
- <id>rpmbuild</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-node</id>
- <phase>package</phase>
- <goals>
- <goal>copy-dependencies</goal>
- </goals>
- <configuration>
- <includeTypes>jar</includeTypes>
- <includeGroupIds>org.argeo.commons.base,org.argeo.commons.server,org.argeo.commons.security</includeGroupIds>
- <excludeArtifactIds>org.argeo.osgi.boot</excludeArtifactIds>
- <outputDirectory>${project.build.directory}/node</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>rpm-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>rpm-node</id>
- <phase>package</phase>
- <goals>
- <goal>rpm</goal>
- </goals>
- <configuration>
- <name>argeo-node</name>
- <mappings>
- <mapping>
- <directory>/usr/share/osgi</directory>
- <username>root</username>
- <groupname>root</groupname>
- <filemode>644</filemode>
- <directoryIncluded>false</directoryIncluded>
- <sources>
- <source>
- <location>${project.build.directory}/node</location>
- </source>
- </sources>
- </mapping>
- </mappings>
- <requires>
- <require>argeo-node-tp</require>
- </requires>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>rpmbuild-tp</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-tp</id>
- <phase>package</phase>
- <goals>
- <goal>copy-dependencies</goal>
- </goals>
- <configuration>
- <includeTypes>jar</includeTypes>
- <excludeGroupIds>org.argeo.commons.base,org.argeo.commons.server,org.argeo.commons.security</excludeGroupIds>
- <excludeArtifactIds>org.eclipse.osgi</excludeArtifactIds>
- <outputDirectory>${project.build.directory}/node-tp</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>rpm-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>rpm-node-tp</id>
- <phase>package</phase>
- <goals>
- <goal>rpm</goal>
- </goals>
- <configuration>
- <name>argeo-node-tp</name>
- <classifier>rpm-tp</classifier>
- <projversion>${version.argeo-distribution}</projversion>
- <mappings>
- <mapping>
- <directory>/usr/share/osgi</directory>
- <username>root</username>
- <groupname>root</groupname>
- <filemode>644</filemode>
- <directoryIncluded>false</directoryIncluded>
- <sources>
- <source>
- <location>${project.build.directory}/node-tp</location>
- </source>
- </sources>
- </mapping>
- </mappings>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
</profile>
</profiles>
</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.commons</groupId>
- <version>2.1.12</version>
- <artifactId>dep</artifactId>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.server.dep.ads</artifactId>
- <packaging>pom</packaging>
- <name>Commons Apache Directory Server Dependencies</name>
- <dependencies>
- <!-- Commons Dep -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.dep.log4j</artifactId>
- <version>2.1.12</version>
- <type>pom</type>
- </dependency>
-
- <!-- Apache Directory -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.directory.server.core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.directory.shared.asn.codec</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.mina.filter.ssl</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.directory.server.jndi</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>jdbm</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.ext.jdbm</artifactId>
- <version>2.1.12</version>
- </dependency>
- <!-- TODO: version 2.4.0 is required by Spring-LDAP while Apache Directory
- takes 2.1.0 -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.lang</artifactId>
- </dependency>
- </dependencies>
-</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.commons</groupId>
- <version>2.1.12</version>
- <artifactId>dep</artifactId>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.server.dep.jackrabbit.server</artifactId>
- <packaging>pom</packaging>
- <name>Commons Jackrabbit Dependencies</name>
- <dependencies>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.dep.jackrabbit</artifactId>
- <type>pom</type>
- <version>2.1.12</version>
- </dependency>
-
- <!-- Enhancements of Jackrabbit -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>bcprov</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>bcmail</artifactId>
- </dependency>
- <!-- Provides org.bouncycastle.cms in v1.47 (bcmail not necessary anymore) -->
- <!-- <dependency> -->
- <!-- <groupId>org.bouncycastle</groupId> -->
- <!-- <artifactId>bcpkix-jdk15on</artifactId> -->
- <!-- </dependency> -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.xmlbeans</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.xmlcommons</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.pdfbox</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.poi</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>com.sun.syndication</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.cyberneko.html</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>de.l3s.boilerpipe</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>javax.mail</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>com.drewnoakes.metadata_extractor</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>edu.ucar.unidata.netcdf</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.ccil.cowan.tagsoup</artifactId>
- </dependency>
- </dependencies>
-</project>
\ No newline at end of file
<name>Commons Base Dependencies</name>
<packaging>pom</packaging>
<modules>
- <module>org.argeo.dep.log4j</module>
- <module>org.argeo.dep.jackrabbit</module>
- <module>org.argeo.eclipse.dep.rap</module>
- <module>org.argeo.eclipse.dep.rwt</module>
- <module>org.argeo.eclipse.dep.rcp</module>
- <module>org.argeo.server.dep.ads</module>
- <module>org.argeo.server.dep.jackrabbit.server</module>
<module>org.argeo.security.dep.node</module>
- <module>org.argeo.security.dep.node.rap</module>
- <module>org.argeo.security.dep.node.rcp</module>
<module>org.argeo.dep.cms</module>
+ <module>org.argeo.security.dep.node.rap</module>
</modules>
<profiles>
<profile>
<artifactId>osgi-boot</artifactId>
<packaging>pom</packaging>
<name>Commons OSGi Boot Distribution</name>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-dependencies</id>
- <phase>package</phase>
- <goals>
- <goal>copy-dependencies</goal>
- </goals>
- <configuration>
- <includeTypes>jar</includeTypes>
- <stripVersion>true</stripVersion>
- <outputDirectory>${project.build.directory}/lib</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- <dependencies>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.osgi.boot</artifactId>
- <version>2.1.12</version>
- </dependency>
- </dependencies>
+ <properties>
+ <version.equinox>3.9.1.v20140110-1610</version.equinox>
+ </properties>
<profiles>
<profile>
<id>rpmbuild</id>
<build>
<plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy-dependencies</id>
+ <phase>package</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <includeTypes>jar</includeTypes>
+ <stripVersion>true</stripVersion>
+ <outputDirectory>${project.build.directory}/lib</outputDirectory>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.argeo.commons</groupId>
+ <artifactId>org.argeo.osgi.boot</artifactId>
+ <version>${version.argeo-commons}</version>
+ <type>jar</type>
+ </artifactItem>
+ <artifactItem>
+ <groupId>org.argeo.tp.equinox</groupId>
+ <artifactId>org.eclipse.osgi</artifactId>
+ <version>${version.equinox}</version>
+ <type>jar</type>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
filter="(argeo.jcr.repository.alias=node)" />\r
\r
<reference id="authenticationManager"\r
- interface="org.springframework.security.AuthenticationManager" />\r
+ interface="org.springframework.security.authentication.AuthenticationManager" />\r
\r
<!-- SERVICES -->\r
<service ref="cmsRepository" interface="javax.jcr.Repository">\r
org.eclipse.swt,\
org.eclipse.jface.window,\
javax.jcr.security,\
+ org.eclipse.swt.widgets;version="0.0.0",\
+ org.eclipse.rap.*;resolution:=optional,\
*
# Useless
#Private-Package: org.argeo.cms.internal.*
\ No newline at end of file
</dependency>
<!-- Files -->
- <dependency>
+ <!-- <dependency>
<groupId>org.argeo.tp.rap.addons</groupId>
<artifactId>org.eclipse.rap.addons.fileupload</artifactId>
</dependency>
<dependency>
<groupId>org.argeo.tp.rap.addons</groupId>
<artifactId>org.eclipse.rap.addons.filedialog</artifactId>
- </dependency>
+ </dependency> -->
<!-- RAP -->
- <dependency>
+ <!-- <dependency>
<groupId>org.argeo.tp.rap.platform</groupId>
<artifactId>org.eclipse.rap.rwt</artifactId>
</dependency>
<dependency>
<groupId>org.argeo.tp.rap.platform</groupId>
<artifactId>org.eclipse.core.commands</artifactId>
- </dependency>
+ </dependency> -->
<!-- Argeo base Eclipse utilities. -->
<dependency>
<groupId>org.argeo.commons</groupId>
<!-- OSGi -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.osgi.core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.osgi</artifactId>
- <scope>provided</scope>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.springframework.osgi.core</artifactId> -->
+<!-- </dependency> -->
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
+<!-- <artifactId>org.eclipse.osgi</artifactId> -->
+<!-- <scope>provided</scope> -->
+<!-- </dependency> -->
</dependencies>
</project>
\ No newline at end of file
import org.eclipse.rap.rwt.client.service.BrowserNavigationListener;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
-import org.springframework.security.context.SecurityContextHolder;
+import org.springframework.security.core.context.SecurityContextHolder;
/** Manages history and navigation */
public abstract class AbstractCmsEntryPoint extends AbstractEntryPoint
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.eclipse.gemini.blueprint.context.BundleContextAware;
import org.eclipse.rap.rwt.application.Application;
import org.eclipse.rap.rwt.application.Application.OperationMode;
import org.eclipse.rap.rwt.application.ApplicationConfiguration;
import org.eclipse.rap.rwt.lifecycle.PhaseListener;
import org.eclipse.rap.rwt.service.ResourceLoader;
import org.osgi.framework.BundleContext;
-import org.springframework.osgi.context.BundleContextAware;
/** Configures an Argeo CMS RWT application. */
public class CmsApplication implements CmsConstants, ApplicationConfiguration,
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.eclipse.gemini.blueprint.context.BundleContextAware;
import org.eclipse.rap.rwt.RWT;
import org.eclipse.rap.rwt.service.ResourceManager;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Label;
import org.osgi.framework.BundleContext;
import org.springframework.beans.factory.InitializingBean;
-import org.springframework.osgi.context.BundleContextAware;
/** A link to an internal or external location. */
public class CmsLink implements CmsUiProvider, InitializingBean,
package org.argeo.cms;
+import java.util.Collections;
+import java.util.List;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.springframework.security.Authentication;
-import org.springframework.security.AuthenticationManager;
-import org.springframework.security.GrantedAuthority;
-import org.springframework.security.GrantedAuthorityImpl;
-import org.springframework.security.context.SecurityContextHolder;
-import org.springframework.security.providers.UsernamePasswordAuthenticationToken;
-import org.springframework.security.providers.anonymous.AnonymousAuthenticationToken;
-import org.springframework.security.userdetails.User;
-import org.springframework.security.userdetails.UserDetails;
+import org.springframework.security.authentication.AnonymousAuthenticationToken;
+import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.core.userdetails.User;
+import org.springframework.security.core.userdetails.UserDetails;
/** Gateway for user login, can also generate the related UI. */
public class CmsLogin {
protected void logInAsAnonymous() {
// TODO Better deal with anonymous authentication
try {
- GrantedAuthority[] anonAuthorities = { new GrantedAuthorityImpl(
- "ROLE_ANONYMOUS") };
+ List<SimpleGrantedAuthority> anonAuthorities = Collections
+ .singletonList(new SimpleGrantedAuthority("ROLE_ANONYMOUS"));
UserDetails anonUser = new User("anonymous", "", true, true, true,
true, anonAuthorities);
AnonymousAuthenticationToken anonToken = new AnonymousAuthenticationToken(
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
-import org.springframework.security.context.SecurityContextHolder;
+import org.springframework.security.core.context.SecurityContextHolder;
/** The site-related user menu */
public class UserMenu extends Shell implements CmsStyles {
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
-import org.springframework.security.GrantedAuthority;
+import org.springframework.security.core.GrantedAuthority;
/** Display a single user main info once it has been created. */
public class UserRolesPart extends StyledControl implements EditablePart,
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
-import org.springframework.security.userdetails.UserDetailsManager;
+import org.springframework.security.provisioning.UserDetailsManager;
/**
* Simple page to manage users of a given repository. We still rely on Argeo
</dependency>
<!-- Base distribution for RAP projects -->
- <dependency>
+ <!-- <dependency>
<groupId>org.argeo.commons</groupId>
<artifactId>org.argeo.eclipse.dep.rap</artifactId>
<type>pom</type>
- <version>2.1.12</version>
- </dependency>
+ <version>2.1.12-SNAPSHOT</version>
+ </dependency> -->
<!-- Utils and logging -->
<dependency>
<artifactId>org.argeo.util</artifactId>
<version>2.1.12</version>
</dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>slf4j.org.apache.commons.logging</artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>slf4j.org.apache.commons.logging</artifactId> -->
+<!-- </dependency> -->
</dependencies>
</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src" />
- <classpathentry kind="con"
- path="org.eclipse.pde.core.requiredPlugins" />
- <classpathentry kind="con"
- path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6" />
- <classpathentry kind="output" path="bin" />
-</classpath>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.eclipse.ui.rcp</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-Require-Bundle: org.eclipse.ui,\
- org.eclipse.core.runtime
-Import-Package: org.apache.commons.io,\
- org.argeo,\
- org.eclipse.core.commands,\
- org.eclipse.swt.widgets;version="[0,4.0)",\
- org.springframework.beans.factory,\
- org.springframework.core.io.support,\
- !org.eclipse.core.runtime,\
- !org.eclipse.ui.plugin,\
- *
-
-
-# Was !org.eclipse.core.commands,\ why ?
-
-#Bundle-Activator: org.argeo.eclipse.ui.ArgeoUiPlugin
-#Bundle-ActivationPolicy: lazy
-#Ignore-Package: org.eclipse.core.commands
\ No newline at end of file
+++ /dev/null
-source.. = src/
-output.. = bin/
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.commons</groupId>
- <version>2.1.12</version>
- <artifactId>argeo-commons</artifactId>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.eclipse.ui.rcp</artifactId>
- <name>Commons Eclipse UI RCP</name>
- <description>Provide RCP specific classes and behaviour in order to enable single sourcing</description>
- <packaging>jar</packaging>
- <dependencies>
-
- <!-- Argeo Commons for Eclipse (not specific) -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.eclipse.ui</artifactId>
- <version>2.1.12</version>
- </dependency>
-
- <!-- Base distribution for RCP projects -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.eclipse.dep.rcp</artifactId>
- <type>pom</type>
- <version>2.1.12</version>
- </dependency>
-
- <!-- Others. -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.io</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.util</artifactId>
- <version>2.1.12</version>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>slf4j.org.apache.commons.logging</artifactId>
- </dependency>
- </dependencies>
-</project>
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed 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.
- */
-package org.argeo.eclipse.ui.specific;
-
-import org.eclipse.osgi.util.NLS;
-
-/** RCP specific {@link NLS} to be extended */
-public class DefaultNLS extends NLS {
- public final static String DEFAULT_BUNDLE_LOCATION = "/properties/plugin";
-
- public DefaultNLS() {
- this(DEFAULT_BUNDLE_LOCATION);
- }
-
- public DefaultNLS(String bundleName) {
- NLS.initializeMessages(bundleName, getClass());
- }
-}
+++ /dev/null
-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed 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.
- */
-package org.argeo.eclipse.ui.specific;
-
-import org.eclipse.jface.viewers.ColumnViewer;
-import org.eclipse.jface.viewers.ColumnViewerToolTipSupport;
-import org.eclipse.jface.viewers.Viewer;
-
-/** Static utilities to bridge differences between RCP and RAP */
-public class EclipseUiSpecificUtils {
- /**
- * TootlTip support is supported for {@link ColumnViewer} in RCP
- *
- * @see ColumnViewerToolTipSupport#enableFor(Viewer)
- */
- public static void enableToolTipSupport(Viewer viewer) {
- if (viewer instanceof ColumnViewer)
- ColumnViewerToolTipSupport.enableFor((ColumnViewer) viewer);
- }
-
- private EclipseUiSpecificUtils() {
- }
-
-}
+++ /dev/null
-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed 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.
- */
-package org.argeo.eclipse.ui.specific;
-
-import java.awt.Desktop;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.apache.commons.io.IOUtils;
-import org.argeo.ArgeoException;
-
-/**
- * Abstraction that enable to implement runtime environment specific (typically
- * RCP or RAP) methods while dealing with files in the UI.
- *
- */
-public class FileHandler {
-
- private FileProvider provider;
-
- public FileHandler(FileProvider provider) {
- this.provider = provider;
- }
-
- public void openFile(String fileName, String fileId) {
- String tmpFileName = fileName;
- String prefix = "", extension = "";
- if (fileName != null) {
- int ind = fileName.lastIndexOf('.');
- if (ind > 0) {
- prefix = fileName.substring(0, ind);
- extension = fileName.substring(ind);
- }
- }
-
- InputStream is = null;
- try {
- is = provider.getInputStreamFromFileId(fileId);
- File file = createTmpFile(prefix, extension, is);
- tmpFileName = file.getName();
- Desktop desktop = null;
- if (Desktop.isDesktopSupported()) {
- desktop = Desktop.getDesktop();
- }
- desktop.open(file);
- } catch (IOException e) {
- // Note : tmpFileName = fileName if the error has been thrown while
- // creating the tmpFile.
- throw new ArgeoException("Cannot open file " + tmpFileName, e);
- } finally {
- IOUtils.closeQuietly(is);
- }
- }
-
- private File createTmpFile(String prefix, String suffix, InputStream is) {
- File tmpFile = null;
- OutputStream os = null;
- try {
- tmpFile = File.createTempFile(prefix, suffix);
- os = new FileOutputStream(tmpFile);
- IOUtils.copy(is, os);
- } catch (IOException e) {
- throw new ArgeoException("Cannot open file " + prefix + "."
- + suffix, e);
- } finally {
- IOUtils.closeQuietly(os);
- }
- return tmpFile;
- }
-}
+++ /dev/null
-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed 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.
- */
-package org.argeo.eclipse.ui.specific;
-
-import java.io.InputStream;
-
-/**
- * Used for file download : subclasses must implement model specific methods to
- * get a byte array representing a file given is ID.
- *
- * @author bsinou
- *
- */
-public interface FileProvider {
-
- public byte[] getByteArrayFileFromId(String fileId);
-
- public InputStream getInputStreamFromFileId(String fileId);
-
-}
+++ /dev/null
-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed 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.
- */
-package org.argeo.eclipse.ui.specific;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.apache.commons.io.FileUtils;
-import org.argeo.ArgeoException;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * RCP specific composite that provides a control to upload a file. WARNING: for
- * the time being we set a GridLayout(2, false) on th eparent control.
- */
-public class GenericUploadControl extends Composite {
- // private final static Log log = LogFactory
- // .getLog(GenericUploadControl.class);
-
- private FileDialog dialog;
- private Text filePath;
-
- public GenericUploadControl(Composite parent, int style, String browseLabel) {
- super(parent, style);
- createControl(this, browseLabel);
-
- }
-
- private void createControl(final Composite parent, String browseLabel) {
- parent.setLayout(new GridLayout(2, false));
-
- filePath = new Text(parent, SWT.BORDER | SWT.SINGLE);
- GridData gd = new GridData(GridData.GRAB_HORIZONTAL
- | GridData.FILL_HORIZONTAL);
- filePath.setEditable(false);
- filePath.setLayoutData(gd);
-
- // Execute button
- Button execute = new Button(parent, SWT.PUSH);
- GridData gridData = new GridData();
- gridData.horizontalAlignment = GridData.BEGINNING;
- execute.setLayoutData(gridData);
- execute.setText(browseLabel);
-
- // Button listener
- Listener executeListener = new Listener() {
- public void handleEvent(Event event) {
- dialog = new FileDialog(parent.getShell());
- filePath.setText(dialog.open());
- }
- };
- parent.layout();
- execute.addListener(SWT.Selection, executeListener);
- }
-
- public boolean isControlEmpty() {
- String path = filePath.getText();
- if (path == null || "".equals(path.trim()))
- return true;
- else
- return false;
- }
-
- public byte[] performUpload() {
- String path = filePath.getText();
- if (path != null) {
- try {
- File file = new File(path);
- byte[] fileBA = FileUtils.readFileToByteArray(file);
- return fileBA;
- } catch (IOException e) {
- throw new ArgeoException("Unexpected error while "
- + "reading file at path " + path, e);
- }
- }
- return null;
- }
-
- public void addModifyListener(ModifyListener listener) {
- filePath.addModifyListener(listener);
- }
-
- /**
- * Always returns null in an RCP environment
- */
- public String getLastFileUploadedName() {
- return null;
- }
-}
+++ /dev/null
-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed 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.
- */
-package org.argeo.eclipse.ui.specific;
-
-import java.io.InputStream;
-
-import org.eclipse.jface.preference.DirectoryFieldEditor;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.widgets.Composite;
-
-public class ImportToServerWizardPage extends WizardPage {
-
- public final static String FILE_ITEM_TYPE = "FILE";
- public final static String FOLDER_ITEM_TYPE = "FOLDER";
-
- private DirectoryFieldEditor dfe;
-
- public ImportToServerWizardPage() {
- super("Import from file system");
- setDescription("Import files from the local file system into the JCR repository");
- }
-
- public void createControl(Composite parent) {
- dfe = new DirectoryFieldEditor("directory", "From", parent);
- setControl(dfe.getTextControl(parent));
- }
-
- public String getObjectPath() {
- return dfe.getStringValue();
- }
-
- public String getObjectType() {
- return FOLDER_ITEM_TYPE;
- }
-
- public boolean getNeedsProgressMonitor() {
- return true;
- }
-
- // Dummy methods : useless in RCP context but useful for RAP
- /** WARNING : always return null in RCP context */
- public String getObjectName() {
- return null;
- }
-
- /** WARNING : do nothing in RCP context */
- public void performFinish() {
- }
-
- /** WARNING : always return null in RCP context */
- public InputStream getFileInputStream() {
- return null;
- }
-}
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed 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.
- */
-package org.argeo.eclipse.ui.specific;
-
-import java.awt.Desktop;
-import java.io.File;
-import java.io.IOException;
-
-import org.argeo.ArgeoException;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-
-/**
- * RCP specific command handler to open a file.
- *
- * The parameter "URI" is used to determine the correct method to open it.
- *
- * Various instances of this handler with different command ID might coexist in
- * order to provide context specific open file service.
- *
- */
-public class OpenFile extends AbstractHandler {
- // private final static Log log = LogFactory.getLog(OpenFile.class);
-
- public final static String PARAM_FILE_NAME = "param.fileName";
- public final static String PARAM_FILE_URI = "param.fileURI";
-
- private final static String FILE_SCHEME = "file";
-
- public Object execute(ExecutionEvent event) throws ExecutionException {
- @SuppressWarnings("unused")
- @Deprecated
- String fileName = event.getParameter(PARAM_FILE_NAME);
- String fileUri = event.getParameter(PARAM_FILE_URI);
-
- // sanity check
- if (fileUri == null || "".equals(fileUri.trim()))
- return null;
-
- Desktop desktop = null;
- if (Desktop.isDesktopSupported()) {
- desktop = Desktop.getDesktop();
- }
-
- File file = getFileFromUri(fileUri);
- if (file != null)
- try {
- desktop.open(file);
- } catch (IOException e) {
- throw new ArgeoException("Unable to open file with URI: "
- + fileUri, e);
- }
-
- return null;
- }
-
- protected File getFileFromUri(String uri) {
- if (uri.startsWith(FILE_SCHEME)) {
- String path = uri.substring((FILE_SCHEME + "://").length());
- return new File(path);
- }
- return null;
- }
-}
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed 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.
- */
-package org.argeo.eclipse.ui.specific;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.argeo.util.LocaleUtils;
-import org.eclipse.osgi.util.NLS;
-
-/** NLS attached to a given thread */
-public class ThreadNLS<T extends NLS> extends InheritableThreadLocal<T> {
- public final static String DEFAULT_BUNDLE_LOCATION = "/properties/plugin";
-
- private final String bundleLocation;
-
- private Class<T> type;
- private Boolean utf8 = false;
-
- public ThreadNLS(String bundleLocation, Class<T> type, Boolean utf8) {
- this.bundleLocation = bundleLocation;
- this.type = type;
- this.utf8 = utf8;
- }
-
- public ThreadNLS(Class<T> type) {
- this(DEFAULT_BUNDLE_LOCATION, type, false);
- }
-
- @Override
- protected T initialValue() {
- ResourceBundle bundle = ResourceBundle.getBundle(bundleLocation,
- LocaleUtils.threadLocale.get(), type.getClassLoader());
- T result;
- try {
- NLS.initializeMessages(bundleLocation, type);
- Constructor<T> constructor = type.getConstructor();
- constructor.setAccessible(true);
- result = constructor.newInstance();
- final Field[] fieldArray = type.getDeclaredFields();
- for (int i = 0; i < fieldArray.length; i++) {
- int modifiers = fieldArray[i].getModifiers();
- if (String.class.isAssignableFrom(fieldArray[i].getType())
- && Modifier.isPublic(modifiers)
- && !Modifier.isStatic(modifiers)) {
- try {
- String value = bundle
- .getString(fieldArray[i].getName());
- byte[] bytes = value.getBytes();
-
- String forcedValue;
- if (utf8)
- forcedValue = new String(bytes, "UTF8");
- else
- forcedValue = value;
- if (value != null) {
- fieldArray[i].setAccessible(true);
- fieldArray[i].set(result, forcedValue);
- }
- } catch (final MissingResourceException mre) {
- fieldArray[i].setAccessible(true);
- fieldArray[i].set(result, "");
- mre.printStackTrace();
- }
- }
- }
- return result;
- } catch (final Exception ex) {
- throw new IllegalStateException(ex.getMessage());
- }
- }
-
-}
+++ /dev/null
-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed 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.
- */
-package org.argeo.eclipse.ui.specific;
-
-import java.io.InputStream;
-
-import org.eclipse.jface.preference.DirectoryFieldEditor;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.widgets.Composite;
-
-public class UploadFileWizardPage extends WizardPage {
-
- public final static String FILE_ITEM_TYPE = "FILE";
- public final static String FOLDER_ITEM_TYPE = "FOLDER";
-
- private DirectoryFieldEditor dfe;
-
- public UploadFileWizardPage() {
- super("Import from file system");
- setDescription("Import files from the local file system into the JCR repository");
- }
-
- public void createControl(Composite parent) {
- dfe = new DirectoryFieldEditor("directory", "From", parent);
- setControl(dfe.getTextControl(parent));
- }
-
- public String getObjectPath() {
- return dfe.getStringValue();
- }
-
- public String getObjectType() {
- return FOLDER_ITEM_TYPE;
- }
-
- public boolean getNeedsProgressMonitor() {
- return true;
- }
-
- // Dummy methods : useless in RCP context but useful for RAP
- /** WARNING : always return null in RCP context */
- public String getObjectName() {
- return null;
- }
-
- /** WARNING : do nothing in RCP context */
- public void performFinish() {
- }
-
- /** WARNING : always return null in RCP context */
- public InputStream getFileInputStream() {
- return null;
- }
-}
\ No newline at end of file
<exclusions>
<!-- version of the org.osgi.framework package provided in this bundle
is too old -->
- <exclusion>
+ <!-- <exclusion>
<groupId>org.argeo.tp</groupId>
<artifactId>org.osgi.core</artifactId>
- </exclusion>
+ </exclusion> -->
</exclusions>
</dependency>
<scope>provided</scope>
</dependency>
- <dependency>
+ <!-- <dependency>
<groupId>org.argeo.commons</groupId>
<artifactId>org.argeo.eclipse.dep.rap</artifactId>
<type>pom</type>
- <version>2.1.12</version>
+ <version>2.1.12-SNAPSHOT</version>
<scope>provided</scope>
- </dependency>
+ </dependency> -->
<!-- Business dependencies -->
<dependency>
org.springframework.core.io.support,\
org.springframework.dao,\
javax.jcr.nodetype,\
+ org.springframework.security.core,\
*
# Was:
</instructions> </configuration> </plugin> </plugins> </build> -->
<dependencies>
<!-- We build against RAP -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.eclipse.dep.rap</artifactId>
- <type>pom</type>
- <version>2.1.12</version>
- <scope>provided</scope>
- </dependency>
-
+ <!-- <dependency> <groupId>org.argeo.commons</groupId> <artifactId>org.argeo.eclipse.dep.rap</artifactId>
+ <type>pom</type> <version>2.1.12-SNAPSHOT</version> <scope>provided</scope>
+ </dependency> -->
<!-- Commons -->
<dependency>
<groupId>org.argeo.commons</groupId>
<artifactId>org.argeo.util</artifactId>
<version>2.1.12</version>
</dependency>
-
- <!-- JCR -->
<dependency>
<groupId>org.argeo.commons</groupId>
<artifactId>org.argeo.server.jcr</artifactId>
<version>2.1.12</version>
</dependency>
-
- <!-- Bridge Spring and OSGi -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.osgi.extender</artifactId>
- </dependency>
-
- <!-- Spring -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.context</artifactId>
- </dependency>
-
- <!-- Base security -->
<dependency>
<groupId>org.argeo.commons</groupId>
<artifactId>org.argeo.security.core</artifactId>
<version>2.1.12</version>
</dependency>
+ <!-- Bridge Spring and OSGi -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.tp</groupId> -->
+ <!-- <artifactId>org.springframework.osgi.extender</artifactId> -->
+ <!-- </dependency> -->
+
+ <!-- Spring -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.tp</groupId> -->
+ <!-- <artifactId>org.springframework.context</artifactId> -->
+ <!-- </dependency> -->
+
<!-- Others -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>slf4j.org.apache.commons.logging</artifactId>
- </dependency>
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.tp</groupId> -->
+ <!-- <artifactId>slf4j.org.apache.commons.logging</artifactId> -->
+ <!-- </dependency> -->
</dependencies>
</project>
\ No newline at end of file
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
-import org.springframework.security.userdetails.UserDetailsManager;
+import org.springframework.security.provisioning.UserDetailsManager;
/** Dialog to change the current user password */
public class ChangePasswordDialog extends TitleAreaDialog {
*/
package org.argeo.eclipse.ui.dialogs;
+import java.util.ArrayList;
+
import javax.jcr.Node;
import javax.jcr.Property;
import javax.jcr.RepositoryException;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;
-import org.springframework.security.GrantedAuthority;
-import org.springframework.security.userdetails.UserDetails;
-import org.springframework.security.userdetails.UsernameNotFoundException;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.core.userdetails.UsernameNotFoundException;
/** Wizard to create a new user */
public class UserCreationWizard extends Wizard {
String password = mainUserInfo.getPassword();
// TODO add roles
JcrUserDetails jcrUserDetails = new JcrUserDetails(userProfile,
- password, new GrantedAuthority[0]);
+ password, new ArrayList<GrantedAuthority>());
session.save();
session.getWorkspace().getVersionManager()
.checkin(userProfile.getPath());
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.ext.jdbm</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-bin.includes = META-INF/
+++ /dev/null
-<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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.commons</groupId>
- <version>2.1.12</version>
- <artifactId>argeo-commons</artifactId>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.ext.jdbm</artifactId>
- <name>Commons Server JDBM Extension</name>
- <description>Add Apache Directory Server support to JDBM</description>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <configuration>
- <instructions>
- <Fragment-Host>jdbm</Fragment-Host>
- <Import-Package>
- org.apache.directory.server.core.partition.impl.btree.jdbm;resolution:=optional,
- org.apache.directory.server.core.schema;resolution:=optional,
- org.apache.directory.server.core.partition.impl;resolution:=optional,
- org.apache.directory.server.core.partition.impl.btree;resolution:=optional,
- org.apache.directory.shared.ldap.message;resolution:=optional,
- </Import-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.jackrabbit.webapp</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-#Tue Feb 22 17:15:24 CET 2011
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
-
- <import resource="osgi.xml" />
- <import resource="security-filters.xml" />
-
- <bean
- class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
- <property name="locations">
- <value>osgibundle:jackrabbit-webapp.properties</value>
- </property>
- </bean>
-
- <!-- The JCR sessions, optimised per web session. -->
- <bean id="scopedSessionProvider" init-method="init"
- destroy-method="destroy" class="org.argeo.jackrabbit.remote.ScopedSessionProvider"
- scope="session">
- <aop:scoped-proxy proxy-target-class="false" />
- </bean>
-
- <!-- The JCR sessions, one login per request. -->
- <bean id="openInViewSessionProvider" init-method="init"
- destroy-method="destroy" class="org.argeo.jackrabbit.remote.OpenInViewSessionProvider">
- </bean>
-
- <!-- <bean id="repositoryRegister" class="org.argeo.jcr.DefaultRepositoryRegister"
- /> -->
-
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans:beans xmlns="http://www.springframework.org/schema/osgi"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"\r
- xmlns:security="http://www.springframework.org/schema/security"\r
- xsi:schemaLocation="http://www.springframework.org/schema/osgi \r
- http://www.springframework.org/schema/osgi/spring-osgi-1.1.xsd\r
- http://www.springframework.org/schema/beans \r
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd\r
- http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.xsd">\r
-\r
- <!-- <set id="repositories" interface="javax.jcr.Repository" -->\r
- <!-- cardinality="0..N"> -->\r
- <!-- <listener ref="repositoryRegister" bind-method="register" -->\r
- <!-- unbind-method="unregister" /> -->\r
- <!-- </set> -->\r
- <!-- <list id="repositories" interface="javax.jcr.Repository" -->\r
- <!-- cardinality="0..N"> -->\r
- <!-- <listener ref="repositoryRegister" bind-method="register" -->\r
- <!-- unbind-method="unregister" /> -->\r
- <!-- </list> -->\r
-\r
- <reference id="repositoryFactory" interface="javax.jcr.RepositoryFactory" />\r
-\r
- <reference id="authenticationManager"\r
- interface="org.springframework.security.AuthenticationManager" />\r
- <reference id="userDetailsService"\r
- interface="org.springframework.security.userdetails.UserDetailsService" />\r
-</beans:beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
- xmlns:tx="http://www.springframework.org/schema/tx"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
-
- <bean
- class="org.springframework.web.servlet.handler.SimpleServletPostProcessor" />
-
- <bean id="servletHandler"
- class="org.springframework.web.servlet.handler.SimpleServletHandlerAdapter" />
-
- <bean id="urlMapping"
- class="org.argeo.jackrabbit.remote.JcrRemotingHandlerMapping">
- <property name="repositoryFactory" ref="repositoryFactory" />
- <property name="sessionProvider" ref="scopedSessionProvider" />
- </bean>
-
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:sec="http://www.springframework.org/schema/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:aop="http://www.springframework.org/schema/aop"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.4.xsd">
-
- <bean id="filterChain.davex" parent="filterChain.template">
- <sec:filter-chain-map path-type="ant">
- <sec:filter-chain pattern="/*/*/*/**"
- filters="session,x509,basic,exception,interceptor" />
- <!-- For some reason the first level listing workspaces must be public -->
- <sec:filter-chain pattern="/*/*/"
- filters="anonymous,exception,interceptorPublic" />
- </sec:filter-chain-map>
- </bean>
-
- <bean id="filterChain.private" parent="filterChain.template">
- <sec:filter-chain-map path-type="ant">
- <sec:filter-chain pattern="/**"
- filters="session,x509,basic,exception,interceptor" />
- </sec:filter-chain-map>
- </bean>
-
- <bean id="filterChain.public" parent="filterChain.template">
- <sec:filter-chain-map path-type="ant">
- <sec:filter-chain pattern="/**"
- filters="anonymous,exception,interceptorPublic" />
- </sec:filter-chain-map>
- </bean>
-
- <bean id="filterChain.template" abstract="true"
- class="org.springframework.security.util.FilterChainProxy">
- <property name="matcher">
- <bean class="org.springframework.security.util.AntUrlPathMatcher">
- <!-- Do not convert to lower case -->
- <constructor-arg value="false" />
- </bean>
- </property>
- </bean>
-
- <!-- The actual authorization checks (called last, but first here for ease
- of configuration) -->
- <bean id="interceptor" parent="filterInvocationInterceptorTemplate">
- <property name="objectDefinitionSource">
- <value>
- PATTERN_TYPE_APACHE_ANT
- /**=ROLE_USER,ROLE_ADMIN
- </value>
- </property>
- </bean>
- <bean id="interceptorPublic" parent="filterInvocationInterceptorTemplate">
- <property name="objectDefinitionSource">
- <value>
- PATTERN_TYPE_APACHE_ANT
- /**=IS_AUTHENTICATED_ANONYMOUSLY
- </value>
- </property>
- </bean>
-
- <bean id="x509"
- class="org.springframework.security.ui.preauth.x509.X509PreAuthenticatedProcessingFilter">
- <property name="authenticationManager" ref="authenticationManager" />
- <property name="principalExtractor">
- <bean
- class="org.springframework.security.ui.preauth.x509.SubjectDnX509PrincipalExtractor">
- <property name="subjectDnRegex" value="CN=(.*?)," />
- </bean>
- </property>
- </bean>
-
- <!-- Integrates the authentication information in the http sessions -->
- <bean id="session"
- class="org.springframework.security.context.HttpSessionContextIntegrationFilter">
- <property name="allowSessionCreation" value="true" />
- </bean>
-
- <!-- Processes logouts, removing both session informations and the remember-me
- cookie from the browser -->
- <!-- <bean id="logout" class="org.springframework.security.ui.logout.LogoutFilter"> -->
- <!-- <constructor-arg value="/webdav/node/main" /> -->
- <!-- <constructor-arg> -->
- <!-- <list> -->
- <!-- <bean -->
- <!-- class="org.springframework.security.ui.logout.SecurityContextLogoutHandler"
- /> -->
- <!-- </list> -->
- <!-- </constructor-arg> -->
- <!-- </bean> -->
-
- <!-- Basic authentication -->
- <bean id="basic"
- class="org.springframework.security.ui.basicauth.BasicProcessingFilter">
- <property name="authenticationManager">
- <ref bean="authenticationManager" />
- </property>
- <property name="authenticationEntryPoint">
- <ref local="basicProcessingFilterEntryPoint" />
- </property>
- </bean>
-
- <!-- Activate basic auth when needed -->
- <bean id="basicProcessingFilterEntryPoint"
- class="org.springframework.security.ui.basicauth.BasicProcessingFilterEntryPoint">
- <property name="realmName">
- <value>${argeo.server.realmName}</value>
- </property>
- </bean>
-
- <!-- If everything else failed, anonymous authentication -->
- <bean id="anonymous"
- class="org.springframework.security.providers.anonymous.AnonymousProcessingFilter">
- <property name="key" value="${argeo.security.systemKey}" />
- <property name="userAttribute" value="anonymous,ROLE_ANONYMOUS" />
- </bean>
-
- <!-- Reacts to security related exceptions -->
- <bean id="exception"
- class="org.springframework.security.ui.ExceptionTranslationFilter">
- <property name="authenticationEntryPoint">
- <ref bean="basicProcessingFilterEntryPoint" />
- </property>
- <property name="accessDeniedHandler">
- <bean class="org.springframework.security.ui.AccessDeniedHandlerImpl">
- <!-- <property name="errorPage" value="/accessDenied.jsp" /> -->
- </bean>
- </property>
- </bean>
-
- <!-- Template for authorization checks -->
- <bean id="filterInvocationInterceptorTemplate" abstract="true"
- class="org.springframework.security.intercept.web.FilterSecurityInterceptor">
- <property name="authenticationManager" ref="authenticationManager" />
- <property name="accessDecisionManager">
- <bean class="org.springframework.security.vote.AffirmativeBased">
- <property name="allowIfAllAbstainDecisions" value="false" />
- <property name="decisionVoters">
- <list>
- <bean class="org.springframework.security.vote.RoleVoter" />
- <bean class="org.springframework.security.vote.AuthenticatedVoter" />
- </list>
- </property>
- </bean>
- </property>
- </bean>
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- version="2.5">
-
- <display-name>Argeo Jackrabbit Webapp</display-name>
-
- <!-- We don't want the session-scoped JCR sessions to wait too long before
- being logged out. -->
- <session-config>
- <session-timeout>5</session-timeout>
- </session-config>
-
- <!-- General -->
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>/WEB-INF/applicationContext.xml</param-value>
- </context-param>
-
- <listener>
- <display-name>Spring Context</display-name>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
- <context-param>
- <param-name>contextClass</param-name>
- <param-value>org.springframework.osgi.web.context.support.OsgiBundleXmlWebApplicationContext</param-value>
- </context-param>
-
- <!-- Remoting -->
- <servlet>
- <servlet-name>remoting</servlet-name>
- <servlet-class>org.argeo.jackrabbit.remote.ExtendedDispatcherServlet</servlet-class>
- <init-param>
- <param-name>contextClass</param-name>
- <param-value>org.springframework.osgi.web.context.support.OsgiBundleXmlWebApplicationContext</param-value>
- </init-param>
- <init-param>
- <param-name>dispatchOptionsRequest</param-name>
- <param-value>true</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>remoting</servlet-name>
- <url-pattern>/jcr/*</url-pattern>
- </servlet-mapping>
-
- <servlet-mapping>
- <servlet-name>remoting</servlet-name>
- <url-pattern>/pub/*</url-pattern>
- </servlet-mapping>
-
- <!-- WEBDAV servlet -->
- <servlet>
- <servlet-name>webdav</servlet-name>
- <servlet-class>org.argeo.jackrabbit.remote.ExtendedDispatcherServlet</servlet-class>
- <init-param>
- <param-name>contextClass</param-name>
- <param-value>org.springframework.osgi.web.context.support.OsgiBundleXmlWebApplicationContext</param-value>
- </init-param>
- <init-param>
- <param-name>dispatchOptionsRequest</param-name>
- <param-value>true</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>webdav</servlet-name>
- <url-pattern>/files/*</url-pattern>
- </servlet-mapping>
-
- <servlet-mapping>
- <servlet-name>webdav</servlet-name>
- <url-pattern>/public/*</url-pattern>
- </servlet-mapping>
-
- <!-- Security -->
- <filter>
- <filter-name>filterChain.davex</filter-name>
- <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>filterChain.davex</filter-name>
- <url-pattern>/jcr/*</url-pattern>
- </filter-mapping>
-
- <filter>
- <filter-name>filterChain.private</filter-name>
- <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>filterChain.private</filter-name>
- <url-pattern>/files/*</url-pattern>
- </filter-mapping>
-
- <filter>
- <filter-name>filterChain.public</filter-name>
- <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>filterChain.public</filter-name>
- <url-pattern>/pub/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>filterChain.public</filter-name>
- <url-pattern>/public/*</url-pattern>
- </filter-mapping>
-
-</web-app>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- 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.
- -->
-<!--
-<!DOCTYPE config [
- <!ELEMENT config (iomanager , propertymanager, (collection | noncollection)? , filter?, mimetypeproperties?) >
-
- <!ELEMENT iomanager (class, iohandler*) >
- <!ELEMENT iohandler (class) >
-
- <!ELEMENT propertymanager (class, propertyhandler*) >
- <!ELEMENT propertyhandler (class) >
-
- <!ELEMENT collection (nodetypes) >
- <!ELEMENT noncollection (nodetypes) >
-
- <!ELEMENT filter (class, namespaces?, nodetypes?) >
-
- <!ELEMENT class >
- <!ATTLIST class
- name CDATA #REQUIRED
- >
- <!ELEMENT namespaces (prefix | uri)* >
- <!ELEMENT prefix (CDATA) >
- <!ELEMENT uri (CDATA) >
-
- <!ELEMENT nodetypes (nodetype)* >
- <!ELEMENT nodetype (CDATA) >
-
- <!ELEMENT mimetypeproperties (mimemapping*, defaultmimetype) >
-
- <!ELEMENT mimemapping >
- <!ATTLIST mimemapping
- extension CDATA #REQUIRED
- mimetype CDATA #REQUIRED
- >
-
- <!ELEMENT defaultmimetype (CDATA) >
-]>
--->
-
-<config>
- <!--
- Defines the IOManager implementation that is responsible for passing
- import/export request to the individual IO-handlers.
- -->
- <iomanager>
- <!-- class element defines the manager to be used. The specified class
- must implement the IOManager interface.
- Note, that the handlers are being added and called in the order
- they appear in the configuration.
- -->
- <class name="org.apache.jackrabbit.server.io.IOManagerImpl" />
- <iohandler>
- <class name="org.apache.jackrabbit.server.io.VersionHandler" />
- </iohandler>
- <iohandler>
- <class name="org.apache.jackrabbit.server.io.VersionHistoryHandler" />
- </iohandler>
-<!-- <iohandler> -->
-<!-- <class name="org.apache.jackrabbit.server.io.ZipHandler" /> -->
-<!-- </iohandler> -->
-<!-- <iohandler> -->
-<!-- <class name="org.apache.jackrabbit.server.io.XmlHandler" /> -->
-<!-- </iohandler> -->
- <iohandler>
- <class name="org.apache.jackrabbit.server.io.DirListingExportHandler" />
- </iohandler>
- <iohandler>
- <class name="org.apache.jackrabbit.server.io.DefaultHandler" />
- </iohandler>
- </iomanager>
- <!--
- Example config for iomanager that populates its list of handlers with
- default values. Therefore the 'iohandler' elements are omited.
- -->
- <!--
- <iomanager>
- <class name="org.apache.jackrabbit.server.io.DefaultIOManager" />
- </iomanager>
- -->
- <!--
- Defines the PropertyManager implementation that is responsible for export
- and import of resource properties.
- -->
- <propertymanager>
- <!-- class element defines the manager to be used. The specified class
- must implement the PropertyManager interface.
- Note, that the handlers are being added and called in the order
- they appear in the configuration.
- -->
- <class name="org.apache.jackrabbit.server.io.PropertyManagerImpl" />
- <propertyhandler>
- <class name="org.apache.jackrabbit.server.io.VersionHandler" />
- </propertyhandler>
- <propertyhandler>
- <class name="org.apache.jackrabbit.server.io.VersionHistoryHandler" />
- </propertyhandler>
-<!-- <propertyhandler> -->
-<!-- <class name="org.apache.jackrabbit.server.io.ZipHandler" /> -->
-<!-- </propertyhandler> -->
-<!-- <propertyhandler> -->
-<!-- <class name="org.apache.jackrabbit.server.io.XmlHandler" /> -->
-<!-- </propertyhandler> -->
- <propertyhandler>
- <class name="org.apache.jackrabbit.server.io.DefaultHandler" />
- </propertyhandler>
- </propertymanager>
- <!--
- Define nodetypes, that should never by displayed as 'collection'
- -->
- <noncollection>
- <nodetypes>
- <nodetype>nt:file</nodetype>
- <nodetype>nt:resource</nodetype>
- </nodetypes>
- </noncollection>
- <!--
- Example: Defines nodetypes, that should always be displayed as 'collection'.
- -->
- <!--
- <collection>
- <nodetypes>
- <nodetype>nt:folder</nodetype>
- <nodetype>rep:root</nodetype>
- </nodetypes>
- </collection>
- -->
- <!--
- Filter that allows to prevent certain items from being displayed.
- Please note, that this has an effect on PROPFIND calls only and does not
- provide limited access to those items matching any of the filters.
-
- However specifying a filter may cause problems with PUT or MKCOL if the
- resource to be created is being filtered out, thus resulting in inconsistent
- responses (e.g. PUT followed by PROPFIND on parent).
- -->
- <filter>
- <!-- class element defines the resource filter to be used. The specified class
- must implement the ItemFilter interface -->
- <class name="org.apache.jackrabbit.webdav.simple.DefaultItemFilter" />
- <!--
- Nodetype names to be used to filter child nodes.
- A child node can be filtered if the declaring nodetype of its definition
- is one of the nodetype names specified in the nodetypes Element.
- E.g. defining 'rep:root' as filtered nodetype whould result in jcr:system
- being hidden but no other child node of the root node, since those
- are defined by the nodetype nt:unstructered.
- -->
- <!--
- <nodetypes>
- <nodetype>rep:root</nodetype>
- </nodetypes>
- -->
- <!--
- Namespace prefixes or uris. Items having a name that matches any of the
- entries will be filtered.
- -->
- <namespaces>
- <prefix>rep</prefix>
- <prefix>jcr</prefix>
- <!--
- <uri>internal</uri>
- <uri>http://www.jcp.org/jcr/1.0</uri>
- -->
- </namespaces>
- </filter>
-
- <!--
- Optional 'mimetypeproperties' element.
- It defines additional or replaces existing mappings for the MimeResolver
- instance created by the ResourceConfig.
- The default mappings are defined in org.apache.jackrabbit.server.io.mimetypes.properties.
- If the default mime type defined by MimeResolver is 'application/octet-stream'.
- -->
- <!--
- <mimetypeproperties>
- <mimemapping extension="rtf" mimetype="application/rtf" />
- <mimemapping extension="ott" mimetype="application/vnd.oasis.opendocument.text-template" />
- <defaultmimetype>text/html</defaultmimetype>
- </mimetypeproperties>
- -->
-</config>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
-
- <bean
- class="org.springframework.web.servlet.handler.SimpleServletPostProcessor" />
-
- <bean id="servletHandler"
- class="org.springframework.web.servlet.handler.SimpleServletHandlerAdapter" />
-
- <bean id="urlMapping" class="org.argeo.jackrabbit.remote.SimpleWebdavHandlerMapping">
- <property name="configuration" value="/WEB-INF/webdav-config.xml" />
- <property name="repositoryFactory" ref="repositoryFactory" />
- <property name="sessionProvider" ref="openInViewSessionProvider" />
- </bean>
-
-</beans>
\ No newline at end of file
+++ /dev/null
-bin.includes = META-INF/
+++ /dev/null
-argeo.security.systemKey=argeo
-argeo.server.realmName=Argeo
-argeo.jcr.webapp.rememberMeValidity=3600
\ No newline at end of file
+++ /dev/null
-<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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.commons</groupId>
- <version>2.1.12</version>
- <artifactId>argeo-commons</artifactId>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.jackrabbit.webapp</artifactId>
- <name>Commons Server Jackrabbit Webapp</name>
- <description>JCR remoting, WebDav</description>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <configuration>
- <instructions>
- <Web-ContextPath>data</Web-ContextPath>
- <!-- Import-Package needs to be specified explicitly since BND doesn't
- scane WEB-INF -->
- <Import-Package>
- *,
- javax.jcr,
- javax.servlet,
- javax.servlet.http,
- javax.servlet.resources,
- org.aopalliance.aop,
- org.argeo.jackrabbit.remote,
- org.argeo.jcr,
- org.argeo.jcr.mvc,
- org.springframework.aop,
- org.springframework.aop.framework,
- org.springframework.aop.scope,
- org.springframework.beans.factory.config,
- org.springframework.osgi.web.context.support,
- org.springframework.security,
- org.springframework.security.providers.anonymous,
- org.springframework.security.ui,
- org.springframework.security.ui.webapp,
- org.springframework.security.ui.preauth.x509,
- org.springframework.security.userdetails,
- org.springframework.web.context,
- org.springframework.web.filter,
- org.springframework.web.servlet,
- org.springframework.web.servlet.handler,
- org.springframework.web.servlet.view,
- org.springframework.security.util,
- org.springframework.security.context,
- org.springframework.security.ui.basicauth,
- org.springframework.security.intercept.web,
- org.springframework.security.vote,
- org.springframework.security.ui.logout,
- org.apache.jackrabbit.server,
- </Import-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
\ No newline at end of file
-additional.bundles = junit
+additional.bundles = org.junit
</plugins>
</build>
<dependencies>
- <dependency>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.osgi</artifactId>
- <scope>provided</scope>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>argeo-tp</artifactId> -->
+<!-- <version>${version.argeo-distribution}</version> -->
+<!-- <scope>provided</scope> -->
+<!-- </dependency> -->
+
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
+<!-- <artifactId>org.eclipse.osgi</artifactId> -->
+<!-- <scope>provided</scope> -->
+<!-- </dependency> -->
<!-- TEST -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>junit</artifactId> -->
+<!-- <scope>test</scope> -->
+<!-- </dependency> -->
</dependencies>
\r
<!-- SERVICES -->\r
<service ref="authenticationManager"\r
- interface="org.springframework.security.AuthenticationManager"\r
+ interface="org.springframework.security.authentication.AuthenticationManager"\r
context-class-loader="service-provider" />\r
\r
<!-- User management -->\r
<!-- <service ref="userDetailsManager" -->\r
-<!-- interface="org.springframework.security.userdetails.UserDetailsService" -->\r
+<!-- interface="org.springframework.security.core.userdetails.UserDetailsService" -->\r
<!-- context-class-loader="service-provider" /> -->\r
<!-- <service ref="userDetailsManager" -->\r
-<!-- interface="org.springframework.security.userdetails.UserDetailsManager" -->\r
+<!-- interface="org.springframework.security.provisioning.UserDetailsManager" -->\r
<!-- context-class-loader="service-provider" /> -->\r
<!-- <service ref="userDetailsManager" interface="org.argeo.security.UserAdminService" -->\r
<!-- context-class-loader="service-provider" /> -->\r
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
- <bean id="authenticationManager" class="org.springframework.security.providers.ProviderManager">
+ <bean id="authenticationManager" class="org.springframework.security.authentication.ProviderManager">
<property name="providers">
<list>
<ref bean="authByAdapterProvider" />
<!-- </bean> -->
<bean id="anonymousAuthenticationProvider"
- class="org.springframework.security.providers.anonymous.AnonymousAuthenticationProvider">
+ class="org.springframework.security.authentication.AnonymousAuthenticationProvider">
<description><![CDATA[Anonymous authentication]]></description>
<property name="key" value="${argeo.security.systemKey}" />
</bean>
initialization himself, in order to prevent the following dependency cycle:
Repository.login() <= AuthenticationManager <= LdapAuthenticationProvider
<= Repository.login() in init() -->
- <bean id="internalAuthenticationManager" class="org.springframework.security.providers.ProviderManager">
+ <bean id="internalAuthenticationManager" class="org.springframework.security.authentication.ProviderManager">
<property name="providers">
<list>
<ref bean="authByAdapterProvider" />
Bundle-ActivationPolicy: lazy
Import-Package:org.bouncycastle.*;resolution:=optional,\
+org.springframework.util,\
javax.jcr.security,\
*
-additional.bundles = org.springframework.transaction,\
- org.springframework.core,\
- junit,\
- org.apache.commons.io,\
- org.apache.commons.codec,\
- org.springframework.security.core,\
- org.apache.log4j,\
- slf4j.api,\
- slf4j.org.apache.commons.logging
source.. = src/,\
ext/test/
+additional.bundles = org.junit,\
+ org.slf4j.commons.logging,\
+ org.apache.commons.codec,\
+ org.springframework.security.core
import org.apache.commons.codec.DecoderException;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.binary.Hex;
-import org.springframework.security.providers.ldap.authenticator.LdapShaPasswordEncoder;
+import org.springframework.security.authentication.encoding.LdapShaPasswordEncoder;
public class PasswordSandbox {
public static void main(String[] args) {
</parent>
<artifactId>org.argeo.security.core</artifactId>
<name>Commons Security Core</name>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
- <Export-Package>
- org.argeo.security.*
- </Export-Package>
- <!-- We need to exclude some packages which are added by BND but cause
- use package conflict with some deployments -->
- <Import-Package>
- org.bouncycastle.*;resolution:=optional,
- javax.jcr.security,
- *,
- </Import-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
<dependencies>
<dependency>
<groupId>org.argeo.commons</groupId>
<version>2.1.12</version>
</dependency>
+ <!-- SDK -->
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>argeo-tp</artifactId> -->
+<!-- <version>${version.argeo-distribution}</version> -->
+<!-- <scope>provided</scope> -->
+<!-- </dependency> -->
+
<!-- Crypto -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>bcprov</artifactId>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.codec</artifactId>
- </dependency>
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.tp</groupId> -->
+ <!-- <artifactId>bcprov</artifactId> -->
+ <!-- <optional>true</optional> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.tp</groupId> -->
+ <!-- <artifactId>org.apache.commons.codec</artifactId> -->
+ <!-- </dependency> -->
<!-- Spring -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.beans</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.context</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.security.core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.transaction</artifactId>
- </dependency>
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.tp</groupId> -->
+ <!-- <artifactId>org.springframework.core</artifactId> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.tp</groupId> -->
+ <!-- <artifactId>org.springframework.beans</artifactId> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.tp</groupId> -->
+ <!-- <artifactId>org.springframework.context</artifactId> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.tp</groupId> -->
+ <!-- <artifactId>org.springframework.security.core</artifactId> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.tp</groupId> -->
+ <!-- <artifactId>org.springframework.transaction</artifactId> -->
+ <!-- </dependency> -->
<!-- OSGi -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.eclipse.osgi</artifactId>
- <scope>provided</scope>
- </dependency>
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.tp</groupId> -->
+ <!-- <artifactId>org.eclipse.osgi</artifactId> -->
+ <!-- <scope>provided</scope> -->
+ <!-- </dependency> -->
<!-- Logging -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>slf4j.org.apache.commons.logging</artifactId>
- </dependency>
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.tp</groupId> -->
+ <!-- <artifactId>slf4j.org.apache.commons.logging</artifactId> -->
+ <!-- </dependency> -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.log4j</artifactId>
- <optional>true</optional>
- </dependency>
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.tp</groupId> -->
+ <!-- <artifactId>org.apache.log4j</artifactId> -->
+ <!-- <optional>true</optional> -->
+ <!-- </dependency> -->
<!-- TEST -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.dep.log4j</artifactId>
- <version>2.1.12</version>
- <type>pom</type>
- <scope>test</scope>
- </dependency>
-<!-- <dependency> -->
-<!-- <groupId>org.argeo.commons</groupId> -->
-<!-- <artifactId>org.argeo.server.json</artifactId> -->
-<!-- <version>2.1.12-SNAPSHOT</version> -->
-<!-- <scope>test</scope> -->
-<!-- </dependency> -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>com.springsource.json</artifactId>
- <scope>test</scope>
- </dependency>
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.tp</groupId> -->
+ <!-- <artifactId>junit</artifactId> -->
+ <!-- <scope>test</scope> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.commons</groupId> -->
+ <!-- <artifactId>org.argeo.dep.log4j</artifactId> -->
+ <!-- <version>2.1.12-SNAPSHOT</version> -->
+ <!-- <type>pom</type> -->
+ <!-- <scope>test</scope> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.commons</groupId> -->
+ <!-- <artifactId>org.argeo.server.json</artifactId> -->
+ <!-- <version>2.1.12-SNAPSHOT</version> -->
+ <!-- <scope>test</scope> -->
+ <!-- </dependency> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.tp</groupId> -->
+ <!-- <artifactId>com.springsource.json</artifactId> -->
+ <!-- <scope>test</scope> -->
+ <!-- </dependency> -->
</dependencies>
</project>
\ No newline at end of file
*/
package org.argeo.security;
-import org.springframework.security.GrantedAuthority;
-import org.springframework.security.providers.UsernamePasswordAuthenticationToken;
+import java.util.Collection;
+
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.core.GrantedAuthority;
/** Credentials required for the authentication to a node. */
public class NodeAuthenticationToken extends
/** Authenticated constructor */
public NodeAuthenticationToken(NodeAuthenticationToken sat,
- GrantedAuthority[] authorities) {
+ Collection<? extends GrantedAuthority> authorities) {
super(sat.getPrincipal(), sat.getCredentials(), authorities);
this.url = sat.getUrl();
}
import java.security.AccessController;
import java.security.Principal;
import java.util.ArrayList;
-import java.util.Arrays;
+import java.util.Collection;
import java.util.List;
import java.util.Set;
import org.argeo.ArgeoException;
import org.argeo.OperatingSystem;
-import org.springframework.security.Authentication;
-import org.springframework.security.GrantedAuthority;
-import org.springframework.security.GrantedAuthorityImpl;
-import org.springframework.security.userdetails.UserDetails;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
+import org.springframework.security.core.userdetails.UserDetails;
/** Abstracts principals provided by com.sun.security.auth.module login modules. */
public class OsAuthenticationToken implements Authentication {
private UserDetails details;
/** Request */
- public OsAuthenticationToken(GrantedAuthority[] grantedAuthorities) {
- this.grantedAuthorities = grantedAuthorities != null ? Arrays
- .asList(grantedAuthorities) : null;
+ public OsAuthenticationToken(
+ Collection<? extends GrantedAuthority> authorities) {
+ this.grantedAuthorities = new ArrayList<GrantedAuthority>(authorities);
ClassLoader cl = getClass().getClassLoader();
switch (OperatingSystem.os) {
case OperatingSystem.WINDOWS:
/** Authenticated */
public OsAuthenticationToken() {
- this(null);
+ this(new ArrayList<GrantedAuthority>());
}
/** @return the name, or null if not yet logged */
* Should not be called during authentication since group IDs are not yet
* available {@link Subject} has been set
*/
- public GrantedAuthority[] getAuthorities() {
+ public Collection<? extends GrantedAuthority> getAuthorities() {
// grantedAuthorities should not be null at this stage
List<GrantedAuthority> gas = new ArrayList<GrantedAuthority>(
grantedAuthorities);
for (Principal groupPrincipal : getGroupsIds()) {
- gas.add(new GrantedAuthorityImpl("OSGROUP_"
+ gas.add(new SimpleGrantedAuthority("OSGROUP_"
+ groupPrincipal.getName()));
}
- return gas.toArray(new GrantedAuthority[gas.size()]);
+ return gas;
}
public UserDetails getDetails() {
package org.argeo.security;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.List;
-import org.springframework.security.Authentication;
-import org.springframework.security.GrantedAuthority;
-import org.springframework.security.context.SecurityContext;
-import org.springframework.security.context.SecurityContextHolder;
-import org.springframework.security.providers.anonymous.AnonymousAuthenticationToken;
+import org.springframework.security.authentication.AnonymousAuthenticationToken;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.context.SecurityContext;
+import org.springframework.security.core.context.SecurityContextHolder;
/** Static utilities */
public class SecurityUtils {
* read-only list of strings, for portability and integration
*/
public static List<String> authoritiesToStringList(
- GrantedAuthority[] authorities) {
+ Collection<? extends GrantedAuthority> authorities) {
List<String> lst = new ArrayList<String>();
for (GrantedAuthority ga : authorities)
lst.add(ga.getAuthority());
import java.util.Set;
-import org.springframework.security.userdetails.UserDetailsManager;
+import org.springframework.security.provisioning.UserDetailsManager;
/** Enrich {@link UserDetailsManager} in order to provide roles semantics. */
public interface UserAdminService extends UserDetailsManager {
import org.apache.commons.logging.LogFactory;
import org.argeo.ArgeoException;
import org.argeo.security.SystemAuthentication;
-import org.springframework.security.Authentication;
-import org.springframework.security.AuthenticationManager;
-import org.springframework.security.context.SecurityContext;
-import org.springframework.security.context.SecurityContextHolder;
+import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContext;
+import org.springframework.security.core.context.SecurityContextHolder;
/** Provides base method for executing code with system authorization. */
public abstract class AbstractSystemExecution {
*/
public class AuthenticatedApplicationContextInitialization extends
AbstractSystemExecution implements InstantiationAwareBeanPostProcessor,
- ApplicationListener {
+ ApplicationListener<ApplicationEvent> {
// private Log log = LogFactory
// .getLog(AuthenticatedApplicationContextInitialization.class);
/** If non empty, restricts to these beans */
*/
package org.argeo.security.core;
+import java.util.Collections;
+
import org.argeo.security.SystemAuthentication;
-import org.springframework.security.GrantedAuthority;
-import org.springframework.security.GrantedAuthorityImpl;
-import org.springframework.security.adapters.PrincipalSpringSecurityUserToken;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
/** A token base on a system key used to request a system authentication. */
-public class InternalAuthentication extends PrincipalSpringSecurityUserToken
+public class InternalAuthentication extends UsernamePasswordAuthenticationToken
implements SystemAuthentication {
private static final long serialVersionUID = -6783376375615949315L;
/** 'admin' for consistency with JCR */
public InternalAuthentication(String key, String systemUsername,
String systemRole) {
- super(
- key,
- systemUsername,
- key,
- new GrantedAuthority[] { new GrantedAuthorityImpl(systemRole) },
- systemUsername);
+ super(systemUsername, key, Collections
+ .singleton(new SimpleGrantedAuthority(systemRole)));
}
public InternalAuthentication(String key) {
--- /dev/null
+package org.argeo.security.core;
+
+import org.springframework.security.authentication.AuthenticationProvider;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.AuthenticationException;
+
+public class InternalAuthenticationProvider implements AuthenticationProvider {
+ private String key;
+
+ @Override
+ public Authentication authenticate(Authentication arg0)
+ throws AuthenticationException {
+ InternalAuthentication authentication = (InternalAuthentication) arg0;
+ if (authentication.getCredentials().toString().equals(key))
+ return authentication;
+ return null;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ @Override
+ public boolean supports(Class<?> authentication) {
+ return InternalAuthentication.class.isAssignableFrom(authentication);
+ }
+
+}
import java.util.Properties;
import org.springframework.core.io.Resource;
-import org.springframework.security.AuthenticationException;
-import org.springframework.security.BadCredentialsException;
-import org.springframework.security.GrantedAuthority;
-import org.springframework.security.GrantedAuthorityImpl;
-import org.springframework.security.providers.UsernamePasswordAuthenticationToken;
-import org.springframework.security.providers.dao.AbstractUserDetailsAuthenticationProvider;
-import org.springframework.security.userdetails.User;
-import org.springframework.security.userdetails.UserDetails;
+import org.springframework.security.authentication.BadCredentialsException;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider;
+import org.springframework.security.core.AuthenticationException;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.authority.GrantedAuthorityImpl;
+import org.springframework.security.core.userdetails.User;
+import org.springframework.security.core.userdetails.UserDetails;
/** @deprecated */
@Deprecated
List<GrantedAuthority> grantedAuthorities = new ArrayList<GrantedAuthority>();
for (String role : defaultRoles)
grantedAuthorities.add(new GrantedAuthorityImpl(role));
- return new User(
- username,
- value,
- true,
- true,
- true,
- true,
- grantedAuthorities
- .toArray(new GrantedAuthority[grantedAuthorities.size()]));
+ return new User(username, value, true, true, true, true,
+ grantedAuthorities);
}
public void setMapping(Resource mapping) {
package org.argeo.security.core;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
import org.argeo.security.OsAuthenticationToken;
-import org.springframework.security.Authentication;
-import org.springframework.security.AuthenticationException;
-import org.springframework.security.GrantedAuthority;
-import org.springframework.security.GrantedAuthorityImpl;
-import org.springframework.security.providers.AuthenticationProvider;
+import org.springframework.security.authentication.AuthenticationProvider;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.AuthenticationException;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
/**
* Validates an OS authentication. The id is that it will always be
return new OsAuthenticationToken(getBaseAuthorities());
}
- public static GrantedAuthority[] getBaseAuthorities() {
+ public static Collection<? extends GrantedAuthority> getBaseAuthorities() {
List<GrantedAuthority> auths = new ArrayList<GrantedAuthority>();
- auths.add(new GrantedAuthorityImpl(osUserRole));
- auths.add(new GrantedAuthorityImpl(userRole));
+ auths.add(new SimpleGrantedAuthority(osUserRole));
+ auths.add(new SimpleGrantedAuthority(userRole));
if (isAdmin)
- auths.add(new GrantedAuthorityImpl(adminRole));
- return auths.toArray(new GrantedAuthority[auths.size()]);
+ auths.add(new SimpleGrantedAuthority(adminRole));
+ return auths;
}
@SuppressWarnings("rawtypes")
package org.argeo.security.jcr;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
import javax.jcr.Node;
import org.argeo.jcr.ArgeoNames;
import org.argeo.jcr.UserJcrUtils;
-import org.springframework.security.BadCredentialsException;
-import org.springframework.security.DisabledException;
-import org.springframework.security.GrantedAuthority;
-import org.springframework.security.GrantedAuthorityImpl;
-import org.springframework.security.LockedException;
-import org.springframework.security.userdetails.User;
+import org.springframework.security.authentication.BadCredentialsException;
+import org.springframework.security.authentication.DisabledException;
+import org.springframework.security.authentication.LockedException;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
+import org.springframework.security.core.userdetails.User;
/** User details based on a user profile node. */
public class JcrUserDetails extends User implements ArgeoNames {
protected JcrUserDetails(String securityWorkspace, String homePath,
String username, String password, boolean enabled,
boolean accountNonExpired, boolean credentialsNonExpired,
- boolean accountNonLocked, GrantedAuthority[] authorities)
+ boolean accountNonLocked,
+ Collection<? extends GrantedAuthority> authorities)
throws IllegalArgumentException {
super(username, password, enabled, accountNonExpired,
credentialsNonExpired, accountNonLocked, authorities);
}
public JcrUserDetails(Node userProfile, String password,
- GrantedAuthority[] authorities) throws RepositoryException {
+ Collection<? extends GrantedAuthority> authorities)
+ throws RepositoryException {
super(
userProfile.getProperty(ARGEO_USER_ID).getString(),
password,
* the granted authorities
*/
public JcrUserDetails(Session session, String username, String password,
- GrantedAuthority[] authorities) throws RepositoryException {
+ Collection<? extends GrantedAuthority> authorities)
+ throws RepositoryException {
this(UserJcrUtils.getUserProfile(session, username),
password != null ? password : "", authorities);
}
public JcrUserDetails cloneWithNewRoles(List<String> roles) {
List<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>();
for (String role : roles) {
- authorities.add(new GrantedAuthorityImpl(role));
+ authorities.add(new SimpleGrantedAuthority(role));
}
return new JcrUserDetails(securityWorkspace, homePath, getUsername(),
getPassword(), isEnabled(), isAccountNonExpired(),
- isAccountNonExpired(), isAccountNonLocked(),
- authorities.toArray(new GrantedAuthority[authorities.size()]));
+ isAccountNonExpired(), isAccountNonLocked(), authorities);
}
/** Clone immutable with new password */
*/
package org.argeo.security.jcr;
+import java.util.Collection;
+
import javax.jcr.Node;
import javax.jcr.Repository;
import javax.jcr.RepositoryException;
import org.argeo.security.OsAuthenticationToken;
import org.argeo.security.SecurityUtils;
import org.argeo.security.core.OsAuthenticationProvider;
-import org.springframework.security.Authentication;
-import org.springframework.security.AuthenticationException;
-import org.springframework.security.BadCredentialsException;
-import org.springframework.security.GrantedAuthority;
-import org.springframework.security.providers.UsernamePasswordAuthenticationToken;
-import org.springframework.security.userdetails.UserDetails;
+import org.springframework.security.authentication.BadCredentialsException;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.AuthenticationException;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.userdetails.UserDetails;
/** Relies on OS to authenticate and additionally setup JCR */
public class OsJcrAuthenticationProvider extends OsAuthenticationProvider {
try {
// WARNING: at this stage we assume that the java properties
// will have the same value
- GrantedAuthority[] authorities = getBaseAuthorities();
+ Collection<? extends GrantedAuthority> authorities = getBaseAuthorities();
String username = JVM_OSUSER;
Node userProfile = jcrSecurityModel.sync(nodeSession, username,
SecurityUtils.authoritiesToStringList(authorities));
import org.argeo.jcr.UserJcrUtils;
import org.argeo.security.UserAdminService;
import org.springframework.dao.DataAccessException;
-import org.springframework.security.userdetails.User;
-import org.springframework.security.userdetails.UserDetails;
-import org.springframework.security.userdetails.UsernameNotFoundException;
+import org.springframework.security.core.userdetails.User;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.core.userdetails.UsernameNotFoundException;
/**
* Dummy user service to be used when running as a single OS user (typically
import org.argeo.jcr.UserJcrUtils;
import org.argeo.security.NodeAuthenticationToken;
import org.osgi.framework.BundleContext;
-import org.springframework.security.Authentication;
-import org.springframework.security.AuthenticationException;
-import org.springframework.security.BadCredentialsException;
-import org.springframework.security.GrantedAuthority;
-import org.springframework.security.GrantedAuthorityImpl;
-import org.springframework.security.providers.AuthenticationProvider;
+import org.springframework.security.authentication.AuthenticationProvider;
+import org.springframework.security.authentication.BadCredentialsException;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.AuthenticationException;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
/** Connects to a JCR repository and delegates authentication to it. */
public class RemoteJcrAuthenticationProvider implements AuthenticationProvider,
Value[] roles = userProfile.getProperty(
ArgeoNames.ARGEO_REMOTE_ROLES).getValues();
for (int i = 0; i < roles.length; i++)
- authoritiesList.add(new GrantedAuthorityImpl(roles[i]
+ authoritiesList.add(new SimpleGrantedAuthority(roles[i]
.getString()));
}
- authoritiesList.add(new GrantedAuthorityImpl(ROLE_REMOTE));
+ authoritiesList.add(new SimpleGrantedAuthority(ROLE_REMOTE));
// create authenticated objects
- GrantedAuthority[] authorities = authoritiesList
- .toArray(new GrantedAuthority[authoritiesList.size()]);
+ // GrantedAuthority[] authorities = authoritiesList
+ // .toArray(new GrantedAuthority[authoritiesList.size()]);
JcrUserDetails userDetails = new JcrUserDetails(userProfile,
- siteAuth.getCredentials().toString(), authorities);
+ siteAuth.getCredentials().toString(), authoritiesList);
NodeAuthenticationToken authenticated = new NodeAuthenticationToken(
- siteAuth, authorities);
+ siteAuth, authoritiesList);
authenticated.setDetails(userDetails);
return authenticated;
} catch (RepositoryException e) {
import org.argeo.jcr.JcrRepositoryWrapper;
import org.argeo.security.NodeAuthenticationToken;
import org.argeo.security.SystemAuthentication;
-import org.springframework.security.Authentication;
-import org.springframework.security.context.SecurityContextHolder;
-import org.springframework.security.providers.UsernamePasswordAuthenticationToken;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
/**
* Wrapper around a remote Jackrabbit repository which allows to simplify
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.argeo.jcr.spring.ThreadBoundSession;
-import org.springframework.security.Authentication;
-import org.springframework.security.context.SecurityContextHolder;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
/**
* Thread bounded JCR session factory which checks authentication and is
import java.util.Date;
-import org.springframework.security.ui.rememberme.PersistentRememberMeToken;
-import org.springframework.security.ui.rememberme.PersistentTokenRepository;
+import org.springframework.security.web.authentication.rememberme.PersistentRememberMeToken;
+import org.springframework.security.web.authentication.rememberme.PersistentTokenRepository;
public class JcrPersistentTokenRepository implements PersistentTokenRepository {
\r
<!-- SERVICES -->\r
<service ref="authenticationManager"\r
- interface="org.springframework.security.AuthenticationManager" />\r
+ interface="org.springframework.security.authentication.AuthenticationManager" />\r
\r
<!-- User management -->\r
<service ref="userDetailsManager"\r
- interface="org.springframework.security.userdetails.UserDetailsService"\r
+ interface="org.springframework.security.core.userdetails.UserDetailsService"\r
context-class-loader="service-provider" />\r
<service ref="userDetailsManager"\r
- interface="org.springframework.security.userdetails.UserDetailsManager"\r
+ interface="org.springframework.security.provisioning.UserDetailsManager"\r
context-class-loader="service-provider" />\r
<service ref="userDetailsManager" interface="org.argeo.security.UserAdminService"\r
context-class-loader="service-provider" />\r
<property name="bundleContext" ref="bundleContext" />
</bean>
- <bean id="authenticationManager" class="org.springframework.security.providers.ProviderManager">
+ <bean id="authenticationManager"
+ class="org.springframework.security.authentication.ProviderManager">
<property name="providers">
<list>
<ref bean="authByAdapterProvider" />
<bean name="jcrSecurityModel" class="org.argeo.security.jackrabbit.JackrabbitSecurityModel" />
- <bean id="authByAdapterProvider"
- class="org.springframework.security.adapters.AuthByAdapterProvider">
+ <bean id="authByAdapterProvider" class="org.argeo.security.core.InternalAuthenticationProvider">
<description><![CDATA[System authentication]]></description>
<property name="key" value="${argeo.security.systemKey}" />
</bean>
himself, in order to prevent the following dependency cycle: Repository.login()
<= AuthenticationManager <= osJcrAuthenticationProvider <= Repository.login()
in init() -->
- <bean id="internalAuthenticationManager" class="org.springframework.security.providers.ProviderManager">
+ <bean id="internalAuthenticationManager"
+ class="org.springframework.security.authentication.ProviderManager">
<property name="providers">
<list>
<ref bean="authByAdapterProvider" />
<!-- <property name="bundleContext" ref="bundleContext" /> -->
<!-- </bean> -->
- <!-- <bean id="authenticationManager" class="org.springframework.security.providers.ProviderManager"> -->
+ <!-- <bean id="authenticationManager" class="org.springframework.security.authentication.ProviderManager"> -->
<!-- <property name="providers"> -->
<!-- <list> -->
<!-- <ref bean="authByAdapterProvider" /> -->
\r
<!-- SERVICES -->\r
<service ref="authenticationManager"\r
- interface="org.springframework.security.AuthenticationManager" />\r
+ interface="org.springframework.security.authentication.AuthenticationManager" />\r
\r
<!-- User management -->\r
<service ref="userDetailsManager"\r
- interface="org.springframework.security.userdetails.UserDetailsService" />\r
+ interface="org.springframework.security.core.userdetails.UserDetailsService" />\r
<service ref="userDetailsManager"\r
- interface="org.springframework.security.userdetails.UserDetailsManager" />\r
+ interface="org.springframework.security.provisioning.UserDetailsManager" />\r
<service ref="userDetailsManager" interface="org.argeo.security.UserAdminService" />\r
\r
</beans:beans>
\ No newline at end of file
</property>
</bean>
- <bean id="authenticationManager" class="org.springframework.security.providers.ProviderManager">
+ <bean id="authenticationManager"
+ class="org.springframework.security.authentication.ProviderManager">
<property name="providers">
<list>
<ref bean="authByAdapterProvider" />
</bean>
<!-- Authentication providers -->
- <bean id="authByAdapterProvider"
- class="org.springframework.security.adapters.AuthByAdapterProvider">
+ <bean id="authByAdapterProvider" class="org.argeo.security.core.InternalAuthenticationProvider">
<property name="key" value="${argeo.security.systemKey}" />
</bean>
<bean id="anonymousAuthenticationProvider"
- class="org.springframework.security.providers.anonymous.AnonymousAuthenticationProvider">
+ class="org.springframework.security.authentication.AnonymousAuthenticationProvider">
<description><![CDATA[Anonymous authentication]]></description>
<property name="key" value="${argeo.security.systemKey}" />
</bean>
initialization himself, in order to prevent the following dependency cycle:
Repository.login() <= AuthenticationManager <= JackrabbitUserAdminService
<= Repository.login() in init() -->
- <bean id="internalAuthenticationManager" class="org.springframework.security.providers.ProviderManager">
+ <bean id="internalAuthenticationManager"
+ class="org.springframework.security.authentication.ProviderManager">
<property name="providers">
<list>
<ref bean="authByAdapterProvider" />
\r
<!-- SERVICES -->\r
<service ref="authenticationManager"\r
- interface="org.springframework.security.AuthenticationManager"\r
+ interface="org.springframework.security.authentication.AuthenticationManager"\r
context-class-loader="service-provider" />\r
\r
<!-- User management -->\r
<service ref="userDetailsManager"\r
- interface="org.springframework.security.userdetails.UserDetailsService"\r
+ interface="org.springframework.security.core.userdetails.UserDetailsService"\r
context-class-loader="service-provider" />\r
<service ref="userDetailsManager"\r
- interface="org.springframework.security.userdetails.UserDetailsManager"\r
+ interface="org.springframework.security.provisioning.UserDetailsManager"\r
context-class-loader="service-provider" />\r
<service ref="userDetailsManager" interface="org.argeo.security.UserAdminService"\r
context-class-loader="service-provider" />\r
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
- <bean id="authenticationManager" class="org.springframework.security.providers.ProviderManager">
+ <bean id="authenticationManager"
+ class="org.springframework.security.authentication.ProviderManager">
<property name="providers">
<list>
<ref bean="authByAdapterProvider" />
</bean>
<!-- Authentication provider -->
- <bean id="authByAdapterProvider"
- class="org.springframework.security.adapters.AuthByAdapterProvider">
+ <bean id="authByAdapterProvider" class="org.argeo.security.core.InternalAuthenticationProvider">
<description><![CDATA[System authentication]]></description>
<property name="key" value="${argeo.security.systemKey}" />
</bean>
</bean>
<bean id="anonymousAuthenticationProvider"
- class="org.springframework.security.providers.anonymous.AnonymousAuthenticationProvider">
+ class="org.springframework.security.authentication.AnonymousAuthenticationProvider">
<description><![CDATA[Anonymous authentication]]></description>
<property name="key" value="${argeo.security.systemKey}" />
</bean>
initialization himself, in order to prevent the following dependency cycle:
Repository.login() <= AuthenticationManager <= LdapAuthenticationProvider
<= Repository.login() in init() -->
- <bean id="internalAuthenticationManager" class="org.springframework.security.providers.ProviderManager">
+ <bean id="internalAuthenticationManager"
+ class="org.springframework.security.authentication.ProviderManager">
<property name="providers">
<list>
<ref bean="authByAdapterProvider" />
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.security.dao.os</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans:beans xmlns="http://www.springframework.org/schema/osgi"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"\r
- xmlns:util="http://www.springframework.org/schema/util"\r
- xsi:schemaLocation="http://www.springframework.org/schema/osgi \r
- http://www.springframework.org/schema/osgi/spring-osgi-1.1.xsd\r
- http://www.springframework.org/schema/beans \r
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd\r
- http://www.springframework.org/schema/util\r
- http://www.springframework.org/schema/util/spring-util-2.5.xsd">\r
-\r
- <!-- REFERENCE -->\r
- <reference id="nodeRepository" interface="javax.jcr.Repository"\r
- filter="(argeo.jcr.repository.alias=node)" />\r
-\r
- <!-- SERVICES -->\r
- <service ref="authenticationManager"\r
- interface="org.springframework.security.AuthenticationManager" />\r
-\r
- <!-- User management -->\r
- <service ref="userDetailsManager"\r
- interface="org.springframework.security.userdetails.UserDetailsService"\r
- context-class-loader="service-provider" />\r
- <service ref="userDetailsManager"\r
- interface="org.springframework.security.userdetails.UserDetailsManager"\r
- context-class-loader="service-provider" />\r
- <service ref="userDetailsManager" interface="org.argeo.security.UserAdminService"\r
- context-class-loader="service-provider" />\r
-\r
-</beans:beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
-
- <bean
- class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
- <property name="locations">
- <value>osgibundle:security.properties</value>
- </property>
- </bean>
-
- <bean id="argeoDataModel" class="org.argeo.jackrabbit.JackrabbitWrapper"
- init-method="init" destroy-method="destroy">
- <description><![CDATA[Make sure that Argeo base data model is registered]]></description>
- <property name="cndFiles">
- <list>
- <value>/org/argeo/jcr/argeo.cnd</value>
- </list>
- </property>
- <property name="repository" ref="nodeRepository" />
- <property name="bundleContext" ref="bundleContext" />
- </bean>
-
- <bean id="authenticationManager" class="org.springframework.security.providers.ProviderManager">
- <property name="providers">
- <list>
- <ref bean="authByAdapterProvider" />
- <ref bean="osJcrAuthenticationProvider" />
- </list>
- </property>
- </bean>
-
- <!-- Authentication providers -->
- <bean id="osJcrAuthenticationProvider" class="org.argeo.security.jcr.OsJcrAuthenticationProvider"
- init-method="init" destroy-method="destroy" depends-on="argeoDataModel">
- <property name="repository" ref="nodeRepository" />
- <property name="jcrSecurityModel" ref="jcrSecurityModel" />
- </bean>
-
- <bean name="jcrSecurityModel" class="org.argeo.security.jackrabbit.JackrabbitSecurityModel" />
-
- <bean id="authByAdapterProvider"
- class="org.springframework.security.adapters.AuthByAdapterProvider">
- <description><![CDATA[System authentication]]></description>
- <property name="key" value="${argeo.security.systemKey}" />
- </bean>
-
- <!-- Internal authentication, used by the general authentication process
- himself, in order to prevent the following dependency cycle: Repository.login()
- <= AuthenticationManager <= osJcrAuthenticationProvider <= Repository.login()
- in init() -->
- <bean id="internalAuthenticationManager" class="org.springframework.security.providers.ProviderManager">
- <property name="providers">
- <list>
- <ref bean="authByAdapterProvider" />
- </list>
- </property>
- </bean>
-
- <bean
- class="org.argeo.security.core.AuthenticatedApplicationContextInitialization">
- <description><![CDATA[Executes initialization with a system authentication]]></description>
- <property name="authenticationManager" ref="internalAuthenticationManager" />
- </bean>
-
- <!-- Dummy user manager -->
- <bean id="userDetailsManager" class="org.argeo.security.jcr.OsJcrUserAdminService"
- init-method="init" destroy-method="destroy">
- <property name="repository" ref="nodeRepository" />
- </bean>
-
-
-</beans>
\ No newline at end of file
+++ /dev/null
-Import-Package: org.argeo.jcr,*
\ No newline at end of file
+++ /dev/null
-bin.includes = META-INF/
+++ /dev/null
-<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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.commons</groupId>
- <version>2.1.12</version>
- <artifactId>argeo-commons</artifactId>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.security.dao.os</artifactId>
- <name>Commons Security DAO OS</name>
-</project>
\ No newline at end of file
+++ /dev/null
-argeo.security.systemKey=argeo
-argeo.node.repo.securityWorkspace=security
osgi:default-timeout="30000">\r
\r
<reference id="authenticationManager"\r
- interface="org.springframework.security.AuthenticationManager"\r
+ interface="org.springframework.security.authentication.AuthenticationManager"\r
context-class-loader="client" />\r
</beans:beans>
\ No newline at end of file
<dependencies>
<!-- Eclipse -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.eclipse.osgi</artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.eclipse.osgi</artifactId> -->
+<!-- </dependency> -->
<!-- Generic Eclipse Utilities -->
<dependency>
</dependency>
<!-- RAP only dependency, needed at compile time -->
- <dependency>
+ <!-- <dependency>
<groupId>org.argeo.commons</groupId>
<artifactId>org.argeo.eclipse.dep.rap</artifactId>
<type>pom</type>
- <version>2.1.12</version>
+ <version>2.1.12-SNAPSHOT</version>
<scope>provided</scope>
- </dependency>
+ </dependency> -->
<!-- Commons -->
<dependency>
</dependency>
<!-- Spring -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.security.core</artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.springframework.security.core</artifactId> -->
+<!-- </dependency> -->
</dependencies>
</project>
\ No newline at end of file
import javax.security.auth.login.LoginException;
import org.argeo.security.OsAuthenticationToken;
-import org.springframework.security.Authentication;
-import org.springframework.security.AuthenticationManager;
-import org.springframework.security.context.SecurityContextHolder;
-import org.springframework.security.providers.jaas.SecurityContextLoginModule;
+import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.authentication.jaas.SecurityContextLoginModule;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
/** Login module which caches one subject per thread. */
public class OsSpringLoginModule extends SecurityContextLoginModule {
*/
package org.argeo.security.equinox;
+import java.util.Collections;
+import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.UUID;
import org.argeo.security.NodeAuthenticationToken;
import org.argeo.util.LocaleCallback;
import org.argeo.util.LocaleUtils;
-import org.springframework.security.Authentication;
-import org.springframework.security.AuthenticationManager;
-import org.springframework.security.BadCredentialsException;
-import org.springframework.security.GrantedAuthority;
-import org.springframework.security.GrantedAuthorityImpl;
-import org.springframework.security.context.SecurityContextHolder;
-import org.springframework.security.providers.anonymous.AnonymousAuthenticationToken;
-import org.springframework.security.providers.jaas.SecurityContextLoginModule;
+import org.springframework.security.authentication.AnonymousAuthenticationToken;
+import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.authentication.BadCredentialsException;
+import org.springframework.security.authentication.jaas.SecurityContextLoginModule;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
+import org.springframework.security.core.context.SecurityContextHolder;
/** Login module which caches one subject per thread. */
public class SpringLoginModule extends SecurityContextLoginModule {
// TODO integrate with JCR?
Object principal = UUID.randomUUID().toString();
- GrantedAuthority[] authorities = { new GrantedAuthorityImpl(
- anonymousRole) };
+ List<SimpleGrantedAuthority> authorities = Collections
+ .singletonList(new SimpleGrantedAuthority(anonymousRole));
AnonymousAuthenticationToken anonymousToken = new AnonymousAuthenticationToken(
key, principal, authorities);
Authentication auth = authenticationManager
-Fragment-Host: org.apache.jackrabbit
+Fragment-Host: org.apache.jackrabbit.core
Import-Package: org.springframework.core,\
org.argeo.jcr,\
*
<artifactId>org.argeo.security.core</artifactId>
<version>2.1.12</version>
</dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>javax.jcr</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.jackrabbit</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.security.core</artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>javax.jcr</artifactId> -->
+<!-- </dependency> -->
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.apache.jackrabbit</artifactId> -->
+<!-- </dependency> -->
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.springframework.security.core</artifactId> -->
+<!-- </dependency> -->
</dependencies>
</project>
\ No newline at end of file
import org.apache.jackrabbit.core.security.authentication.Authentication;
import org.apache.jackrabbit.core.security.principal.AdminPrincipal;
import org.argeo.security.SystemAuthentication;
-import org.springframework.security.GrantedAuthority;
-import org.springframework.security.context.SecurityContextHolder;
-import org.springframework.security.providers.anonymous.AnonymousAuthenticationToken;
+import org.springframework.security.authentication.AnonymousAuthenticationToken;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.context.SecurityContextHolder;
/** Jackrabbit login mechanism based on Spring Security */
public class ArgeoLoginModule extends AbstractLoginModule {
public boolean login() throws LoginException {
boolean loginOk = super.login();
if (!loginOk) {
- org.springframework.security.Authentication authen = (org.springframework.security.Authentication) SecurityContextHolder
+ org.springframework.security.core.Authentication authen = (org.springframework.security.core.Authentication) SecurityContextHolder
.getContext().getAuthentication();
}
return loginOk;
public boolean commit() throws LoginException {
boolean commitOk = super.commit();
if (!commitOk) {
- org.springframework.security.Authentication authen = (org.springframework.security.Authentication) SecurityContextHolder
+ org.springframework.security.core.Authentication authen = (org.springframework.security.core.Authentication) SecurityContextHolder
.getContext().getAuthentication();
}
return commitOk;
*/
@Override
protected Principal getPrincipal(Credentials credentials) {
- org.springframework.security.Authentication authen = SecurityContextHolder
+ org.springframework.security.core.Authentication authen = SecurityContextHolder
.getContext().getAuthentication();
return authen;
}
protected Set<Principal> syncPrincipals() {
// use linked HashSet instead of HashSet in order to maintain the order
// of principals (as in the Subject).
- org.springframework.security.Authentication authen = (org.springframework.security.Authentication) principal;
+ org.springframework.security.core.Authentication authen = (org.springframework.security.core.Authentication) principal;
Set<Principal> principals = new LinkedHashSet<Principal>();
principals.add(authen);
}
return new Authentication() {
public boolean canHandle(Credentials credentials) {
- return principal instanceof org.springframework.security.Authentication;
+ return principal instanceof org.springframework.security.core.Authentication;
}
public boolean authenticate(Credentials credentials)
throws RepositoryException {
- return ((org.springframework.security.Authentication) principal)
+ return ((org.springframework.security.core.Authentication) principal)
.isAuthenticated();
}
};
import java.security.Principal;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import org.apache.jackrabbit.core.security.AnonymousPrincipal;
import org.apache.jackrabbit.core.security.SecurityConstants;
import org.apache.jackrabbit.core.security.authorization.WorkspaceAccessManager;
-import org.springframework.security.Authentication;
-import org.springframework.security.GrantedAuthority;
-import org.springframework.security.context.SecurityContextHolder;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.context.SecurityContextHolder;
/** Integrates Spring Security and Jackrabbit Security users and roles. */
public class ArgeoSecurityManager extends DefaultSecurityManager {
log.warn("User ID is '" + userId + "' but authen is "
+ authen.getName());
StringBuffer roles = new StringBuffer("");
- GrantedAuthority[] authorities = authen.getAuthorities();
+ Collection<? extends GrantedAuthority> authorities = authen
+ .getAuthorities();
for (GrantedAuthority ga : authorities) {
roles.append(ga.toString());
}
import java.security.Principal;
-import org.springframework.security.GrantedAuthority;
+import org.springframework.security.core.GrantedAuthority;
/** Wraps a {@link GrantedAuthority} as a principal. */
class GrantedAuthorityPrincipal implements Principal {
import org.argeo.security.jcr.JcrSecurityModel;
import org.argeo.security.jcr.JcrUserDetails;
import org.springframework.dao.DataAccessException;
-import org.springframework.security.Authentication;
-import org.springframework.security.AuthenticationException;
-import org.springframework.security.BadCredentialsException;
-import org.springframework.security.GrantedAuthority;
-import org.springframework.security.GrantedAuthorityImpl;
-import org.springframework.security.context.SecurityContextHolder;
-import org.springframework.security.providers.AuthenticationProvider;
-import org.springframework.security.providers.UsernamePasswordAuthenticationToken;
-import org.springframework.security.userdetails.UserDetails;
-import org.springframework.security.userdetails.UsernameNotFoundException;
+import org.springframework.security.authentication.AuthenticationProvider;
+import org.springframework.security.authentication.BadCredentialsException;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.AuthenticationException;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.core.userdetails.UsernameNotFoundException;
/**
* An implementation of {@link UserAdminService} which closely wraps Jackrabbits
User user = (User) getUserManager().getAuthorizable(username);
ArrayList<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>();
// FIXME make it more generic
- authorities.add(new GrantedAuthorityImpl("ROLE_USER"));
+ authorities.add(new SimpleGrantedAuthority("ROLE_USER"));
Iterator<Group> groups = user.declaredMemberOf();
while (groups.hasNext()) {
Group group = groups.next();
// String role = "ROLE_"
// + group.getPrincipal().getName().toUpperCase();
String role = group.getPrincipal().getName();
- authorities.add(new GrantedAuthorityImpl(role));
+ authorities.add(new SimpleGrantedAuthority(role));
}
Node userProfile = UserJcrUtils.getUserProfile(session, username);
JcrUserDetails userDetails = new JcrUserDetails(userProfile,
- credentials.toString(),
- authorities.toArray(new GrantedAuthority[authorities.size()]));
+ credentials.toString(), authorities);
return userDetails;
}
</dependency>
<!-- JCR -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>javax.jcr</artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>javax.jcr</artifactId> -->
+<!-- </dependency> -->
<!-- Spring -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.ldap</artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.springframework.ldap</artifactId> -->
+<!-- </dependency> -->
<!-- Logging -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>slf4j.org.apache.commons.logging</artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>slf4j.org.apache.commons.logging</artifactId> -->
+<!-- </dependency> -->
</dependencies>
</project>
\ No newline at end of file
*/
package org.argeo.security.ldap;
-import org.springframework.security.providers.ldap.authenticator.LdapShaPasswordEncoder;
+import org.springframework.security.authentication.encoding.LdapShaPasswordEncoder;
/**
* {@link LdapShaPasswordEncoder} allowing to configure the usage of salt (APache
import org.argeo.ArgeoException;
import org.argeo.security.UserAdminService;
import org.springframework.ldap.core.ContextSource;
-import org.springframework.security.Authentication;
-import org.springframework.security.GrantedAuthority;
-import org.springframework.security.context.SecurityContextHolder;
-import org.springframework.security.providers.encoding.PasswordEncoder;
-import org.springframework.security.userdetails.UserDetails;
-import org.springframework.security.userdetails.ldap.LdapUserDetailsManager;
+import org.springframework.security.authentication.encoding.PasswordEncoder;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.ldap.userdetails.LdapUserDetailsManager;
/** Extends {@link LdapUserDetailsManager} by adding password encoding support. */
public class ArgeoLdapUserDetailsManager extends LdapUserDetailsManager
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.SortedSet;
-import java.util.UUID;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
import org.springframework.ldap.core.DirContextOperations;
import org.springframework.ldap.core.DistinguishedName;
import org.springframework.ldap.core.LdapTemplate;
-import org.springframework.security.GrantedAuthority;
+import org.springframework.security.authentication.encoding.PasswordEncoder;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.ldap.LdapUsernameToDnMapper;
-import org.springframework.security.providers.encoding.PasswordEncoder;
-import org.springframework.security.userdetails.UserDetails;
-import org.springframework.security.userdetails.ldap.UserDetailsContextMapper;
+import org.springframework.security.ldap.userdetails.UserDetailsContextMapper;
/** Makes sure that LDAP and JCR are in line. */
public class JcrLdapSynchronizer implements UserDetailsContextMapper,
.getProperty(ARGEO_USER_ID).getString();
// GrantedAuthority[] authorities = {new
// GrantedAuthorityImpl(defaultUserRole)};
- GrantedAuthority[] authorities = {};
+ List<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>();
JcrUserDetails userDetails = new JcrUserDetails(
userProfile, username, authorities);
String dn = createLdapUser(userDetails);
/** Called during authentication in order to retrieve user details */
public UserDetails mapUserFromContext(final DirContextOperations ctx,
- final String username, GrantedAuthority[] authorities) {
+ final String username,
+ Collection<? extends GrantedAuthority> authorities) {
if (ctx == null)
throw new ArgeoException("No LDAP information for user " + username);
.getAttributeSortedStringSet(passwordAttribute);
String password;
if (passwordAttributes == null || passwordAttributes.size() == 0) {
- //throw new ArgeoException("No password found for user " + username);
+ // throw new ArgeoException("No password found for user " +
+ // username);
password = "NULL";
} else {
byte[] arr = (byte[]) passwordAttributes.first();
*/
package org.argeo.security.ldap.jcr;
+import java.util.Collection;
import java.util.UUID;
import javax.jcr.Node;
import org.argeo.security.jcr.JcrUserDetails;
import org.springframework.ldap.core.DirContextAdapter;
import org.springframework.ldap.core.DirContextOperations;
-import org.springframework.security.GrantedAuthority;
-import org.springframework.security.userdetails.UserDetails;
-import org.springframework.security.userdetails.ldap.UserDetailsContextMapper;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.ldap.userdetails.UserDetailsContextMapper;
/** @deprecated Read only mapping from LDAP to user details */
@Deprecated
/** Called during authentication in order to retrieve user details */
public UserDetails mapUserFromContext(final DirContextOperations ctx,
- final String username, GrantedAuthority[] authorities) {
+ final String username,
+ Collection<? extends GrantedAuthority> authorities) {
if (ctx == null)
throw new ArgeoException("No LDAP information for user " + username);
Node userHome = UserJcrUtils.getUserHome(securitySession, username);
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src" />
- <classpathentry kind="con"
- path="org.eclipse.pde.core.requiredPlugins" />
- <classpathentry kind="con"
- path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6" />
- <classpathentry kind="output" path="bin" />
-</classpath>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.security.mvc</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-#Tue Sep 15 11:35:07 CEST 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.source=1.5
+++ /dev/null
-#Tue Sep 15 11:35:01 CEST 2009
-activeProfiles=
-eclipse.preferences.version=1
-fullBuildGoals=process-test-resources
-includeModules=false
-resolveWorkspaceProjects=true
-resourceFilterGoals=process-resources resources\:testResources
-skipCompilerPlugin=true
-version=1
+++ /dev/null
-Import-Package: javax.servlet,*
+++ /dev/null
-additional.bundles = org.springframework.beans
-source.. = src/
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.commons</groupId>
- <artifactId>argeo-commons</artifactId>
- <version>2.1.12</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.security.mvc</artifactId>
- <name>Commons Security MVC</name>
- <dependencies>
- <!-- Argeo Server -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.server.core</artifactId>
- <version>2.1.12</version>
- </dependency>
-
- <!-- Argeo Security -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.security.core</artifactId>
- <version>2.1.12</version>
- </dependency>
-
- <!-- Spring -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.web.servlet</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.aop</artifactId>
- </dependency>
-
- <!-- J2EE -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>javax.servlet</artifactId>
- </dependency>
-
- </dependencies>
-</project>
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (C) 2007-2012 Mathieu Baudier
- *
- * Licensed 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.
- */
-package org.argeo.security.mvc;
-
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.springframework.security.ui.rememberme.TokenBasedRememberMeServices;
-
-public class ArgeoRememberMeServices extends TokenBasedRememberMeServices {
- public final static String DEFAULT_COOKIE_NAME = "ARGEO_SECURITY";
-
- public ArgeoRememberMeServices() {
- setCookieName(DEFAULT_COOKIE_NAME);
- }
-
- /**
- * Sets a "cancel cookie" (with maxAge = 0) on the response to disable
- * persistent logins.
- *
- * @param request
- * @param response
- */
- protected void cancelCookie(HttpServletRequest request,
- HttpServletResponse response) {
- Cookie cookie = new Cookie(getCookieName(), null);
- cookie.setMaxAge(0);
- cookie.setPath("/");
-
- response.addCookie(cookie);
- }
-
- /**
- * Sets the cookie on the response
- *
- * @param tokens
- * the tokens which will be encoded to make the cookie value.
- * @param maxAge
- * the value passed to {@link Cookie#setMaxAge(int)}
- * @param request
- * the request
- * @param response
- * the response to add the cookie to.
- */
- protected void setCookie(String[] tokens, int maxAge,
- HttpServletRequest request, HttpServletResponse response) {
- String cookieValue = encodeCookie(tokens);
- Cookie cookie = new Cookie(getCookieName(), cookieValue);
- cookie.setMaxAge(maxAge);
- cookie.setPath("/");
- response.addCookie(cookie);
- }
-
-}
+++ /dev/null
-/*
- * Copyright (C) 2007-2012 Mathieu Baudier
- *
- * Licensed 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.
- */
-package org.argeo.security.mvc;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.argeo.security.UserAdminService;
-import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
-
-/** Add the current argeo user as an attribute to the request. */
-public class ArgeoUserInterceptor extends HandlerInterceptorAdapter {
- private UserAdminService securityService;
-
- @Override
- public boolean preHandle(HttpServletRequest request,
- HttpServletResponse response, Object handler) throws Exception {
- //request.setAttribute("argeoUser", securityService.getCurrentUser());
- return super.preHandle(request, response, handler);
- }
-
- public void setSecurityService(UserAdminService securityService) {
- this.securityService = securityService;
- }
-
-}
+++ /dev/null
-/*
- * Copyright (C) 2007-2012 Mathieu Baudier
- *
- * Licensed 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.
- */
-package org.argeo.security.mvc;
-
-import org.argeo.server.mvc.MvcConstants;
-import org.springframework.stereotype.Controller;
-
-@Controller
-public class UsersRolesController implements MvcConstants {
-// private ArgeoSecurityService securityService;
-// private Deserializer userDeserializer = null;
-
- /* USER */
-
-// @RequestMapping("/getCredentials.*")
-// @ModelAttribute("user")
-// public ArgeoUser getCredentials() {
-// ArgeoUser argeoUser = securityService.getCurrentUser();
-// if (argeoUser == null)
-// return new SimpleArgeoUser();
-// else
-// return argeoUser;
-// }
-//
-// @RequestMapping("/getUsersList.*")
-// @ModelAttribute("users")
-// public Set<ArgeoUser> getUsersList() {
-// return securityService.listUsers();
-// }
-//
-// @RequestMapping("/userExists.*")
-// public BooleanAnswer userExists(@RequestParam("username") String username) {
-// return new BooleanAnswer(securityService.userExists(username));
-// }
-//
-// @RequestMapping("/createUser.*")
-// @ModelAttribute("user")
-// public ArgeoUser createUser(Reader reader) {
-// ArgeoUser user = userDeserializer.deserialize(reader,
-// SimpleArgeoUser.class);
-// securityService.newUser(user);
-// return securityService.getUser(user.getUsername());
-// }
-//
-// @RequestMapping("/updateUser.*")
-// @ModelAttribute("user")
-// public ArgeoUser updateUser(Reader reader) {
-// ArgeoUser user = userDeserializer.deserialize(reader,
-// SimpleArgeoUser.class);
-// securityService.updateUser(user);
-// return securityService.getUser(user.getUsername());
-// }
-//
-// @RequestMapping("/updateUserSelf.*")
-// @ModelAttribute("user")
-// /** Will only update the user natures.*/
-// public ArgeoUser updateUserSelf(Reader reader) {
-// ArgeoUser user = securityService.getCurrentUser();
-// ArgeoUser userForNatures = userDeserializer.deserialize(reader,
-// SimpleArgeoUser.class);
-// user.updateUserNatures(userForNatures.getUserNatures());
-// securityService.updateUser(user);
-// return securityService.getUser(user.getUsername());
-// }
-//
-// @RequestMapping("/deleteUser.*")
-// public ServerAnswer deleteUser(@RequestParam("username") String username) {
-// securityService.deleteUser(username);
-// return ServerAnswer.ok("User " + username + " deleted");
-// }
-//
-// @RequestMapping("/getUserDetails.*")
-// @ModelAttribute("user")
-// public ArgeoUser getUserDetails(@RequestParam("username") String username) {
-// return securityService.getUser(username);
-// }
-
- /* ROLE */
-// @RequestMapping("/getRolesList.*")
-// @ModelAttribute("roles")
-// public Set<String> getEditableRolesList() {
-// return securityService.listEditableRoles();
-// }
-//
-// @RequestMapping("/createRole.*")
-// public ServerAnswer createRole(@RequestParam("role") String role) {
-// securityService.newRole(role);
-// return ServerAnswer.ok("Role " + role + " created");
-// }
-//
-// @RequestMapping("/deleteRole.*")
-// public ServerAnswer deleteRole(@RequestParam("role") String role) {
-// securityService.deleteRole(role);
-// return ServerAnswer.ok("Role " + role + " deleted");
-// }
-//
-// @RequestMapping("/updateUserPassword.*")
-// public ServerAnswer updateUserPassword(
-// @RequestParam("username") String username,
-// @RequestParam("password") String password) {
-// securityService.updateUserPassword(username, password);
-// return ServerAnswer.ok("Password updated for user " + username);
-// }
-//
-// @RequestMapping("/updatePassword.*")
-// public ServerAnswer updatePassword(
-// @RequestParam("oldPassword") String oldPassword,
-// @RequestParam("password") String password) {
-// securityService.updateCurrentUserPassword(oldPassword, password);
-// return ServerAnswer.ok("Password updated");
-// }
-//
-// public void setUserDeserializer(Deserializer userDeserializer) {
-// this.userDeserializer = userDeserializer;
-// }
-//
-// public void setSecurityService(ArgeoSecurityService securityService) {
-// this.securityService = securityService;
-// }
-
-}
<version>2.1.12</version>
<scope>provided</scope>
</dependency>
- <dependency>
+ <!-- <dependency>
<groupId>org.argeo.commons</groupId>
<artifactId>org.argeo.eclipse.dep.rap</artifactId>
<type>pom</type>
- <version>2.1.12</version>
+ <version>2.1.12-SNAPSHOT</version>
<scope>provided</scope>
- </dependency>
+ </dependency> -->
<dependency>
<groupId>org.argeo.commons</groupId>
<artifactId>org.argeo.eclipse.ui</artifactId>
</dependency>
<!-- Spring -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.security.core</artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.springframework.security.core</artifactId> -->
+<!-- </dependency> -->
<!-- Others -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>slf4j.org.apache.commons.logging
- </artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>slf4j.org.apache.commons.logging -->
+<!-- </artifactId> -->
+<!-- </dependency> -->
</dependencies>
</project>
\ No newline at end of file
*/
package org.argeo.security.ui.admin.editors;
+import java.util.ArrayList;
+
import javax.jcr.Node;
import javax.jcr.Repository;
import javax.jcr.RepositoryException;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.forms.editor.FormEditor;
-import org.springframework.security.GrantedAuthority;
+import org.springframework.security.core.GrantedAuthority;
/** Editor for an Argeo user. */
public class ArgeoUserEditor extends FormEditor {
+ private static final long serialVersionUID = 1933296330339252869L;
+
public final static String ID = SecurityAdminPlugin.PLUGIN_ID
+ ".adminArgeoUserEditor";
+ username, e);
}
} else {
- GrantedAuthority[] authorities = {};
try {
userDetails = new JcrUserDetails(session, username, null,
- authorities);
+ new ArrayList<GrantedAuthority>());
} catch (RepositoryException e) {
throw new ArgeoException("Cannot retrieve disabled JCR profile");
}
import org.eclipse.ui.forms.editor.FormEditor;
import org.eclipse.ui.forms.editor.FormPage;
import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.springframework.security.GrantedAuthority;
-import org.springframework.security.userdetails.UserDetails;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.userdetails.UserDetails;
/**
* Display/edit the roles of a user.
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;
-import org.springframework.security.userdetails.UserDetails;
-import org.springframework.security.userdetails.UsernameNotFoundException;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.core.userdetails.UsernameNotFoundException;
public class MainUserInfoWizardPage extends WizardPage implements
ModifyListener, ArgeoNames {
*/
package org.argeo.security.ui.admin.wizards;
+import java.util.ArrayList;
+
import javax.jcr.Node;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import org.argeo.security.jcr.JcrSecurityModel;
import org.argeo.security.jcr.JcrUserDetails;
import org.eclipse.jface.wizard.Wizard;
-import org.springframework.security.GrantedAuthority;
+import org.springframework.security.core.GrantedAuthority;
/** Wizard to create a new user */
public class NewUserWizard extends Wizard {
String password = mainUserInfo.getPassword();
// TODO add roles
JcrUserDetails jcrUserDetails = new JcrUserDetails(userProfile,
- password, new GrantedAuthority[0]);
+ password, new ArrayList<GrantedAuthority>());
session.save();
session.getWorkspace().getVersionManager()
.checkin(userProfile.getPath());
osgi:default-timeout="30000">\r
\r
<reference id="userDetailsManager"\r
- interface="org.springframework.security.userdetails.UserDetailsManager"\r
+ interface="org.springframework.security.provisioning.UserDetailsManager"\r
cardinality="0..1" />\r
</beans:beans>
\ No newline at end of file
</dependency>
<!-- Logging -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>slf4j.org.apache.commons.logging</artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>slf4j.org.apache.commons.logging</artifactId> -->
+<!-- </dependency> -->
<!-- Argeo Security -->
<dependency>
</dependency>
<!-- RAP specific -->
- <dependency>
+ <!-- <dependency>
<groupId>org.argeo.commons</groupId>
<artifactId>org.argeo.eclipse.dep.rap</artifactId>
<type>pom</type>
- <version>2.1.12</version>
- </dependency>
+ <version>2.1.12-SNAPSHOT</version>
+ </dependency> -->
<dependency>
<groupId>org.argeo.commons</groupId>
<artifactId>org.argeo.eclipse.ui.rap</artifactId>
import org.eclipse.rap.rwt.RWT;
import org.eclipse.rap.rwt.application.IEntryPoint;
import org.eclipse.ui.PlatformUI;
-import org.springframework.security.context.SecurityContextHolder;
+import org.springframework.security.core.context.SecurityContextHolder;
/**
* RAP entry point which logs out the currently authenticated user
import org.eclipse.ui.application.IActionBarConfigurer;
import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-import org.eclipse.ui.internal.UIPlugin;
/** Eclipse RAP specific window advisor */
public class RapWindowAdvisor extends WorkbenchWindowAdvisor {
configurer.setShellStyle(SWT.NO_TRIM);
Rectangle bounds = Display.getCurrent().getBounds();
configurer.setInitialSize(new Point(bounds.width, bounds.height));
-
- // Handle window resize in Rap 2.1+ see https://bugs.eclipse.org/bugs/show_bug.cgi?id=417254
+
+ // Handle window resize in Rap 2.1+ see
+ // https://bugs.eclipse.org/bugs/show_bug.cgi?id=417254
Display.getCurrent().addListener(SWT.Resize, new Listener() {
@Override
public void handleEvent(Event event) {
Rectangle bounds = event.display.getBounds();
- IWorkbenchWindow iww = UIPlugin.getDefault().getWorkbench()
- .getActiveWorkbenchWindow();
+ IWorkbenchWindow iww = getWindowConfigurer().getWindow()
+ .getWorkbench().getActiveWorkbenchWindow();
iww.getShell().setBounds(bounds);
}
});
import org.eclipse.rap.rwt.application.IEntryPoint;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.PlatformUI;
-import org.springframework.security.BadCredentialsException;
-import org.springframework.security.context.SecurityContext;
-import org.springframework.security.context.SecurityContextHolder;
+import org.springframework.security.authentication.BadCredentialsException;
+import org.springframework.security.core.context.SecurityContext;
+import org.springframework.security.core.context.SecurityContextHolder;
/**
* RAP entry point with login capabilities. Once the user has been
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src" />
- <classpathentry kind="con"
- path="org.eclipse.pde.core.requiredPlugins" />
- <classpathentry kind="con"
- path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6" />
- <classpathentry kind="output" path="bin" />
-</classpath>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.security.ui.rcp</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-#Sat Jan 15 17:51:30 CET 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
+++ /dev/null
-OS_SPRING {
- org.eclipse.equinox.security.auth.module.ExtensionLoginModule required
- extensionId="org.argeo.security.equinox.osSpringLoginModule";
-};
-
-NIX {
- org.eclipse.equinox.security.auth.module.ExtensionLoginModule requisite
- extensionId="org.argeo.security.equinox.unixLoginModule";
- org.eclipse.equinox.security.auth.module.ExtensionLoginModule required
- extensionId="org.argeo.security.equinox.osSpringLoginModule";
-};
-
-WINDOWS {
- org.eclipse.equinox.security.auth.module.ExtensionLoginModule requisite
- extensionId="org.argeo.security.equinox.ntLoginModule";
- org.eclipse.equinox.security.auth.module.ExtensionLoginModule required
- extensionId="org.argeo.security.equinox.osSpringLoginModule";
-};
-
-REMOTE {
- org.eclipse.equinox.security.auth.module.ExtensionLoginModule sufficient
- extensionId="org.argeo.security.equinox.springLoginModuleRemote";
-};
-
-KEYRING {
- org.argeo.security.crypto.KeyringLoginModule required;
-};
+++ /dev/null
-Bundle-Activator: org.argeo.security.ui.rcp.SecureApplicationActivator
-Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.ui,org.eclipse.core.runtime
-Import-Package: org.argeo.eclipse.ui.specific,\
-org.argeo.eclipse.spring,\
-*
+++ /dev/null
-source.. = src/main/java/
-output.. = target/classes/
-bin.includes = plugin.xml,\
- META-INF/,\
- .,\
- log4j.properties
+++ /dev/null
-/* XPM */\r
-static char * icon48_xpm[] = {\r
-"48 48 256 2",\r
-" c #4B4B3B3B9090",\r
-". c #0D0D0E0E5454",\r
-"X c #11110E0E5B5B",\r
-"o c #17170F0F6363",\r
-"O c #1D1D13136969",\r
-"+ c #212114146C6C",\r
-"@ c #252514147171",\r
-"# c #282811116C6C",\r
-"$ c #26260D0D6363",\r
-"% c #22220B0B5E5E",\r
-"& c #1C1C0B0B5A5A",\r
-"* c #1C1C0B0B5252",\r
-"= c #1B1B05055353",\r
-"- c #161606064D4D",\r
-"; c #161605054949",\r
-": c #111104044848",\r
-"> c #131304044545",\r
-", c #131305054242",\r
-"< c #141410105E5E",\r
-"1 c #2C2C15157373",\r
-"2 c #2B2B1B1B7575",\r
-"3 c #343416167272",\r
-"4 c #313113136E6E",\r
-"5 c #222209095757",\r
-"6 c #1B1B06064D4D",\r
-"7 c #15150B0B4242",\r
-"8 c #13130C0C5555",\r
-"9 c #2E2E1B1B7878",\r
-"0 c #33331F1F7C7C",\r
-"q c #343418187878",\r
-"w c #3B3B1C1C7575",\r
-"e c #2E2E10106767",\r
-"r c #1B1B07074747",\r
-"t c #18180B0B4646",\r
-"y c #151513136262",\r
-"u c #1A1A15156464",\r
-"i c #34341F1F7777",\r
-"p c #40401E1E8080",\r
-"a c #42421B1B7A7A",\r
-"s c #3B3B15157474",\r
-"d c #2B2B0B0B5B5B",\r
-"f c #222207075252",\r
-"g c #373727277A7A",\r
-"h c #474724248484",\r
-"j c #393915156E6E",\r
-"k c #373711116A6A",\r
-"l c #343413136363",\r
-"z c #232319196E6E",\r
-"x c #292919197070",\r
-"c c #3C3C2C2C8282",\r
-"v c #444431318585",\r
-"b c #494934348A8A",\r
-"n c #505026268A8A",\r
-"m c #3D3D1B1B6E6E",\r
-"M c #31310E0E5C5C",\r
-"N c #2B2B0D0D5353",\r
-"B c #222207074A4A",\r
-"V c #52523C3C9292",\r
-"C c #58583C3C9494",\r
-"Z c #5D5D44449797",\r
-"A c #5C5C2E2E9292",\r
-"S c #676733339595",\r
-"D c #424228287575",\r
-"F c #29290A0A4F4F",\r
-"G c #6C6C4A4A9E9E",\r
-"H c #72725454A7A7",\r
-"J c #8C8C6D6DB2B2",\r
-"K c #343424246E6E",\r
-"L c #3A3A23236A6A",\r
-"P c #3A3A1C1C6767",\r
-"I c #24240A0A4B4B",\r
-"U c #151518186161",\r
-"Y c #76766F6FA5A5",\r
-"T c #ADAD9191CCCC",\r
-"R c #98988989D3D3",\r
-"E c #45453B3B8686",\r
-"W c #3C3C35357979",\r
-"Q c #363631317575",\r
-"! c #32322D2D6B6B",\r
-"~ c #323229296363",\r
-"^ c #30301F1F6262",\r
-"/ c #323218185E5E",\r
-"( c #272707074B4B",\r
-") c #202028286C6C",\r
-"_ c #1E1E1D1D6868",\r
-"` c #9A9A8282BBBB",\r
-"' c #C8C8B3B3D3D3",\r
-"] c #B3B3AFAFE7E7",\r
-"[ c #84847272C6C6",\r
-"{ c #58585757A3A3",\r
-"} c #3F3F3C3C8A8A",\r
-"| c #3B3B3A3A8484",\r
-" . c #414139397D7D",\r
-".. c #3D3D39397A7A",\r
-"X. c #37372E2E6E6E",\r
-"o. c #2C2C21215A5A",\r
-"O. c #2E2E1B1B5B5B",\r
-"+. c #F5F5EFEFF5F5",\r
-"@. c #656566669A9A",\r
-"#. c #47474B4B8E8E",\r
-"$. c #3C3C44447B7B",\r
-"%. c #444442428080",\r
-"&. c #45453E3E8181",\r
-"*. c #40403C3C8181",\r
-"=. c #3D3D33337474",\r
-"-. c #3B3B30306E6E",\r
-";. c #38382D2D6969",\r
-":. c #303026265D5D",\r
-">. c #2C2C15155A5A",\r
-",. c #1F1F1C1C7070",\r
-"<. c #25251E1E7171",\r
-"1. c #59595C5C9191",\r
-"2. c #4D4D53538989",\r
-"3. c #4C4C49498484",\r
-"4. c #484845458585",\r
-"5. c #494941418585",\r
-"6. c #494940408181",\r
-"7. c #2F2F1C1C5353",\r
-"8. c #2B2B28287676",\r
-"9. c #323231317F7F",\r
-"0. c #545452528B8B",\r
-"q. c #51514E4E8989",\r
-"w. c #4E4E4B4B8C8C",\r
-"e. c #4C4C47478686",\r
-"r. c #46463D3D7E7E",\r
-"t. c #434336367A7A",\r
-"y. c #2B2B13135555",\r
-"u. c #47473D3D8D8D",\r
-"i. c #575757578E8E",\r
-"p. c #48483E3E7F7F",\r
-"a. c #46463A3A7D7D",\r
-"s. c #424235357575",\r
-"d. c #404034347171",\r
-"f. c #BFBFCBCBFAFA",\r
-"g. c #B8B8A8A8DDDD",\r
-"h. c #5E5E60609292",\r
-"j. c #565655558C8C",\r
-"k. c #4B4B44448282",\r
-"l. c #454539397B7B",\r
-"z. c #434338387878",\r
-"x. c #3F3F32326D6D",\r
-"c. c #3D3D30306969",\r
-"v. c #3A3A2E2E6363",\r
-"b. c #36362A2A5C5C",\r
-"n. c #343424245555",\r
-"m. c #30301E1E4D4D",\r
-"M. c #49493C3C8282",\r
-"N. c #5E5E4F4F8C8C",\r
-"B. c #56563B3B8B8B",\r
-"V. c #545407078585",\r
-"C. c #424234347272",\r
-"Z. c #9797A4A4F7F7",\r
-"A. c #444436367676",\r
-"S. c #7D7D7979D5D5",\r
-"D. c #464640408A8A",\r
-"F. c #44444B4B8282",\r
-"G. c #414107077777",\r
-"H. c #71716161C1C1",\r
-"J. c #303039397979",\r
-"K. c #8E8E8E8EE6E6",\r
-"L. c #404033338B8B",\r
-"P. c #4A4A45458C8C",\r
-"I. c #46463A3A8080",\r
-"U. c #363629295454",\r
-"Y. c #303022224848",\r
-"T. c #424237377575",\r
-"R. c #2E2E1D1D6363",\r
-"E. c #79798383EAEA",\r
-"W. c #74747B7BE4E4",\r
-"Q. c #6D6D7676D6D6",\r
-"!. c #6A6A7171CECE",\r
-"~. c #66666969C6C6",\r
-"^. c #62626565BCBC",\r
-"/. c #5F5F6060B5B5",\r
-"(. c #5B5B5B5BACAC",\r
-"). c #535353539898",\r
-"_. c #4F4F4F4FA4A4",\r
-"`. c #54544D4DA4A4",\r
-"'. c #323204046B6B",\r
-"]. c #303035357979",\r
-"[. c #313122224343",\r
-"{. c #5A5A5B5BB7B7",\r
-"}. c #484846468080",\r
-"|. c #454541417575",\r
-" X c #4B4B31318282",\r
-".X c #47473C3C8484",\r
-"XX c #3E3E35356E6E",\r
-"oX c #2F2F26264040",\r
-"OX c #2B2B23233A3A",\r
-"+X c #262619195C5C",\r
-"@X c #252515155A5A",\r
-"#X c #55555151B3B3",\r
-"$X c #3C3C2D2D5D5D",\r
-"%X c #39392F2F5656",\r
-"&X c #37372D2D5050",\r
-"*X c #25251F1F3030",\r
-"=X c #24241D1D4343",\r
-"-X c #202013135656",\r
-";X c #41413B3B6C6C",\r
-":X c #444442429696",\r
-">X c #212100005E5E",\r
-",X c #444436367272",\r
-"<X c #444436366F6F",\r
-"1X c #424236366868",\r
-"2X c #3F3F34346161",\r
-"3X c #3C3C32325A5A",\r
-"4X c #34342A2A4A4A",\r
-"5X c #21211B1B2121",\r
-"6X c #22221C1C6363",\r
-"7X c #2D2D01015E5E",\r
-"8X c #20201B1B2525",\r
-"9X c #49492F2F7B7B",\r
-"0X c #434334346C6C",\r
-"qX c #323229294545",\r
-"wX c #1C1C10104F4F",\r
-"eX c #222217176363",\r
-"rX c #37371E1E6B6B",\r
-"tX c #424232326E6E",\r
-"yX c #444433336969",\r
-"uX c #424233336565",\r
-"iX c #1E1E1A1A1E1E",\r
-"pX c #161601014C4C",\r
-"aX c #1C1C11115454",\r
-"sX c #252503035B5B",\r
-"dX c #414131316A6A",\r
-"fX c #22221F1F7878",\r
-"gX c #272724246767",\r
-"hX c #1D1D16165E5E",\r
-"jX c #131305055151",\r
-"kX c #40402F2F6464",\r
-"lX c #111107074E4E",\r
-"zX c #0C0C05054B4B",\r
-"xX c #22221E1E5757",\r
-"cX c #1A1A0D0D4D4D",\r
-"vX c #16160B0B4D4D",\r
-"bX c #060604044747",\r
-"nX c #040403034343",\r
-"mX c #3B3B27276565",\r
-"MX c #0E0E03034141",\r
-"NX c #111106064A4A",\r
-"BX c #0E0E04044646",\r
-"VX c #111105053B3B",\r
-"CX c #0D0D01013A3A",\r
-"ZX c #030305053F3F",\r
-"AX c #0F0F0F0F4C4C",\r
-"SX c #020207073B3B",\r
-"DX c #0D0D03034646",\r
-"FX c #0B0B02023F3F",\r
-"GX c #0D0D02023434",\r
-"HX c #0A0A0E0E4444",\r
-"JX c #161614145252",\r
-"KX c #0B0B04044646",\r
-"LX c #0A0A03034444",\r
-"PX c #1D1D21215757",\r
-"IX c #090910104040",\r
-"UX c #18181E1E5353",\r
-" ",\r
-" . . . . X X o o o o O + + @ @ @ @ @ @ @ # # # # # # $ $ % % & & & & * = - - - ; : > > , , , ",\r
-" . . X X < < o o O O + @ 1 2 2 1 1 1 1 1 1 1 1 3 4 # # $ $ $ % % % 5 = = 6 6 - ; ; > > , , 7 ",\r
-" . 8 < < < o O O + @ @ 2 9 9 0 0 q q q q q q q w 3 4 4 e e $ $ $ $ % 5 = = 6 6 6 ; ; > > r t ",\r
-" . X < y u O O + @ 1 2 i 0 0 p p p p p p p a a p a s 3 4 4 e e e e d 5 5 f f 6 6 6 ; ; r r t ",\r
-" X < y u O + + @ 2 9 0 g p p h h h h h h h p h h a a s s j k k j l d d 5 5 f f 6 6 r r r r r ",\r
-" X < y O z x x 9 0 g c v b n n n n n n n n n n n h a a s s j j m l M d d N f f B B B B r r r ",\r
-" < y u + z 2 0 c c b V C Z C C A A A A A S S S n h D w w m m m m k l M d d N f F F F B r r r ",\r
-" < y O z z 9 c b V Z G H H H G S G G J J H V v c g g K K K K L P l l l M M N N N N I B B r r ",\r
-" U u + z x i v C H Y J J J J H J T R H V E W W Q Q Q Q ! ! ! ~ ^ ^ / / M M M M M N ( B B r r ",\r
-" ) _ z x 9 g b Z Y ` ' ' ' T T ] [ { } | .........W W Q Q X.! ~ ~ o.O./ / / / N F ( B B B r ",\r
-" ) ) z x i c V G J ' +.+.+.+.] [ @.#.$.%.%.%.&.*. . .....W =.-.X.;.~ :.o.O.^ >.N F ( B B B B ",\r
-" ) ,.<.2 g v C H J ' +.+.+.+.T Y 1.2.3.4.4.4.5.6.&.&. . ...W =.=.-.;.~ :.o.7.>.N F F ( B I I ",\r
-" ) ,.<.8.9.b C H J T +.+.+.' J @.1.0.q.q.w.e.4.5.6.&.r. . .t.W =.=.-.;.~ :.o.7.y.N F ( ( I I ",\r
-" 8.8.8.9.| u.C G J T +.+.' ` Y @.1.i.0.q.q.e.e.5.6.p.r.a. .t.t.s.d.d.-.;.~ :.7.7.y.F F ( I I ",\r
-" 9.c c c v b A S H ' f.g.` Y @.h.1.i.j.0.q.q.e.k.6.p.r.a.l.t.z.s.s.d.x.c.v.b.n.m.7.N F F F I ",\r
-" <.g M.N.B.B.n V.J f.R J @.h.h.1.i.i.j.j.0.q.3.k.6.p.r.a.l.l.z.s.C.d.x.x.c.v.b.n.m.y.N F F F ",\r
-" + x i v B.Z Z G g.Z.[ @.2.i.i.j.j.j.j.j.0.q.3.k.6.p.p.a.l.l.A.s.C.C.d.x.c.v.b.n.m.7.y.N N y. ",\r
-" O # 3 w p n Z ` f.S.H D.F.q.0.0.0.0.j.0.q.q.3.k.6.p.r.a.a.l.A.s.s.C.d.x.x.c.v.b.n.m.y.y.y.y. ",\r
-" O # 4 s a G.V.T Z.H.V J.%.e.w.q.0.0.0.0.q.q.e.k.6.p.r.a.a.l.z.A.s.C.d.d.x.c.v.b.n.m.7.>.y.y. ",\r
-" O # 4 s w G.A f.K.H L...4.P.w.w.w.q.q.q.q.e.e.5.6.M.I.I.a.a.l.z.A.s.d.d.x.c.v.v.U.Y.7.O.>.y. ",\r
-" $ # 4 3 s G.G f.S.Z 9.*.D.P.P.w.w.w.w.w.e.e.5.5.M.M.I.I.a.a.l.z.T.s.d.d.x.x.c.v.U.Y.m.R.>.>. ",\r
-" E.E.W.W.W.W.E.Z.E.W.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.!.!.!.!.!.~.~.~.~.~.~.^.^.^.^.^./././.(.{ { )._.`._. ",\r
-" + # 3 w s '.` f.H.V ].*.D.P.P.P.P.P.P.P.5.5.5.M.M.M.I.I.a.l.z.z.T.T.s.d.d.x.c.v.U.Y.[.^ O.>. ",\r
-" ~.~.~.~.~.~.K.Z.S.~.{.^.^.^.^.^.^.^.^././././././.(.(.(.(.(.(.{ { { { { ).).).w.w.}.|.P.u.} ",\r
-" .I.6. X X XT f.H.b ].*.E D.D.D.D.5.5..X.XM.M.I.I.a.a.l.l.z.z.T.T.T.d.XXx.c.v.b.U.oXOXR.+X@X ",\r
-" E.E.E.W.W.W.K.Z.E.W.Q.Q.Q.Q.Q.Q.Q.Q.!.!.!.!.!.!.~.~.~.~.~.~.^.^.^.^.^./././.(.{ { ).).#X_._. ",\r
-" & % $ e '.= H f.H.b 8.W *.E E E .X.X.XI.I.I.I.a.a.l.l.z.z.T.T.T.C.XXXXc.v.$X%X&XY.*X=X2 @X-X ",\r
-" {.{.{.{.{.#X~.Z.W.~.{.{./././././././././.(.(.(.(.(.(.(.{ { { { { { ).).).w.w.3.}.;X%.:X} } ",\r
-" & & % $ e >XV.f.S.C K X.W t. . .l.l.t.t.t.t.A.A.A.,X,X,X,X,X<X;X1X1X2X3X%X&X4XoX*X5Xo.6X-X-X ",\r
-" & & % $ $ >X7X` Z.Z D ! =.=.s.t.t.t.A.A.s.A.,X,X,X,X<X<X<X<X;X1X2X2X3X%X&X4XoXOX8X5X<.@X-X-X ",\r
-" 8 & & $ e K 9XJ f.^. XK X.=.=.s.s.s.s.s.C.C.C.C.<X0X0X0X1X1X1X2X2X3X%X&X4XqXOX*X8X=X<.-X-XwX ",\r
-" 8 & eXK k.@.M. Xg.E.B.rX~ -.d.d.C.C.C.C.C.tX0X0X0XyXyX1X1XuX2X2X3X%X&X4XqXoXOX8XiX6XeX-X-XwX ",\r
-" 6XQ h.Y N.K e pXB.f./.9Xo.;.-.x.d.tXtXtXtXtX0X0XyXyXyXuXuX2X2X3X%X&X4XqXoXOX*XiX=X_ aX-XaXwX ",\r
-" Y Y .R.@X% sX= 7XT Z.V P :.;.c.x.x.x.tXdXdXdXyXyXuXuX2X2X3X3X%X&X4XqXoXOX*X8X*XfXaXaXaXwXwX ",\r
-" gXhX& * & 5 5 sXjXa ] S.9X/ ~ v.c.dXdXdXdXdXuXuXuXkX2X2X3X%X%X&X4XqXoXOX*X8XiX<.hXwXwXaXwXwX ",\r
-" 8 lXlXjX= * 5 5 = zX9X] H.D 7.b.v.v.kXc.kXkXkXkXkX2X$X3X%X&X&X4XqXoXOX*X8XiXxXhXwXcXcXwXwXwX ",\r
-" zXzXlXlXjX= = f f sXD Y ] ~.D 7.n.b.v.v.kXkXkXkX$X$X%X%X&X4XqXoXoXOX*X8X5XgXu cXvXvXcXcXwXwX ",\r
-" bXbXzXlXlX- = * @XX.h.e D T S.D n.m.b.$X$X$X$X$X%X%X&X&X4XqXoXOX*X8X8X*X<.hXvX; ; vXvXvXcXwX ",\r
-" nXbXzXzXlXlX- -XX.Y R.pXpXP J K.Z mXm.n.U.U.U.U.U.4X4XY.oXOX*X8X8X8X=X,.aXvX; > > > t t t cX ",\r
-" nXbXbXzXzXlXaXXXY +Xf = f = 7XtXR R mXn.Y.[.[.[.[.OX*X*X8X5X*X=X,.u vXvX; > > MXMX, 7 t t ",\r
-" nXnXnXbXzXvX-.Y +XcX6 6 = = = d L B.G H `.X.:.7.m.=X=X=X=X=X6X,.u cXvXNX: BX> MXVXCXVX7 7 7 ",\r
-" ZXZXnXbXAXgX@.+XvX; - - - - * @XR.>.sX>.R.i 0 x eXeXeXeXO hXaXcXvXNX: BXMXMXMXVXCXCXCXVX7 7 ",\r
-" SXZXZXAXgXN.aXNX: : NXNXNX- * +X+X* 6 6 6 * * * * * * * vXvX- NX: DXBXMXMXFXCXCXCXCXGXVXVX7 ",\r
-" SXSXHXgX0.JXKXLXKXKXDX: : NX* @X-X- - - - - - - - - - - NX: DXDXDXMXMXFXFXCXCXCXCXGXGXGXVXVX ",\r
-" SXHXPX3.JXnXnXnXnXbXLXKXKXNXaX-XvX: : NX: : : : : : : BXDXDXLXMXMXFXFXCXCXCXCXGXGXGXGXGXGXGX ",\r
-" IXUX$.AXZXZXZXZXnXnXnXLXLXNXJXvXBXDXBXBXBXBXDXDXDXDXLXDXLXLXFXFXFXFXCXCXCXCXGXGXGXGXGXGXGXGX ",\r
-" "};\r
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
- <!-- We use the product to define some of the product preferences
- see http://dev.eclipse.org/viewcvs/viewvc.cgi/platform-ui-home/rcp/faq.html?revision=1.6#customPrefs -->
- <extension
- id="org.argeo.security.ui.product"
- point="org.eclipse.core.runtime.products">
- <product
- name="ArgeoProduct" application="org.argeo.security.ui.rcp.secureUi">
- <property
- name="appName"
- value="Secure UI">
- </property>
- <property
- name="preferenceCustomization"
- value="plugin_customization.ini"/>
- </product>
- </extension>
-
- <extension
- id="secureUi"
- name="Argeo Secure UI"
- point="org.eclipse.core.runtime.applications">
- <application cardinality="singleton-global"
- thread="main"
- visible="true">
- <run
- class="org.argeo.security.ui.rcp.SecureRcp">
- </run>
- </application>
- </extension>
-
- <extension
- point="org.eclipse.equinox.security.callbackHandlerMapping">
- <callbackHandlerMapping
- callbackHandlerId="org.argeo.security.ui.defaultLoginDialog"
- configName="REMOTE">
- </callbackHandlerMapping>
- </extension>
-
- <!-- COMMANDS -->
- <extension point="org.eclipse.ui.commands">
- <!-- Register a default command that enable an "open file" action in a single sourced application -->
- <command
- defaultHandler="org.argeo.eclipse.ui.specific.OpenFile"
- id="org.argeo.security.ui.specific.openFile"
- name="OpenFile">
- <commandParameter
- id="param.fileName"
- name="The name of the file to open (optional)">
- </commandParameter>
- <commandParameter
- id="param.fileURI"
- name="The URI of this file on the server">
- </commandParameter>
- <commandParameter
- id="param.filePath"
- name="The absolute path of this file on the server file system">
- </commandParameter>
- </command>
- </extension>
-</plugin>
+++ /dev/null
-org.eclipse.ui/DOCK_PERSPECTIVE_BAR=topRight
-org.eclipse.ui/SHOW_TEXT_ON_PERSPECTIVE_BAR=true
-org.eclipse.ui/PERSPECTIVE_BAR_SIZE=100
-org.eclipse.ui/SHOW_TRADITIONAL_STYLE_TABS=true
-org.eclipse.ui/SHOW_PROGRESS_ON_STARTUP = false
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.commons</groupId>
- <version>2.1.12</version>
- <artifactId>argeo-commons</artifactId>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.security.ui.rcp</artifactId>
- <name>Commons Security UI RCP</name>
- <packaging>jar</packaging>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <configuration>
- <instructions>
- <Bundle-SymbolicName>${project.artifactId};singleton:=true</Bundle-SymbolicName>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
- <dependencies>
- <!-- Commons -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.util</artifactId>
- <version>2.1.12</version>
- </dependency>
-
- <!-- Logging -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>slf4j.org.apache.commons.logging</artifactId>
- </dependency>
-
- <!-- Argeo Security -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.security.ui</artifactId>
- <version>2.1.12</version>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.security.equinox</artifactId>
- <version>2.1.12</version>
- </dependency>
-
- <!-- RCP specific -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.eclipse.ui.rcp</artifactId>
- <version>2.1.12</version>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.eclipse.dep.rcp</artifactId>
- <type>pom</type>
- <version>2.1.12</version>
- </dependency>
- </dependencies>
-</project>
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed 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.
- */
-package org.argeo.security.ui.rcp;
-
-import java.security.PrivilegedAction;
-
-import javax.security.auth.Subject;
-import javax.security.auth.login.LoginException;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.argeo.OperatingSystem;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.equinox.security.auth.ILoginContext;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-/**
- * RCP workbench initialization
- */
-public abstract class AbstractSecureApplication implements IApplication {
- final static String NODE_REPO_URI = "argeo.node.repo.uri";
-
- private static final Log log = LogFactory
- .getLog(AbstractSecureApplication.class);
-
- protected WorkbenchAdvisor createWorkbenchAdvisor(String username) {
- return new SecureWorkbenchAdvisor(username);
- }
-
- public Object start(IApplicationContext context) throws Exception {
- // wait for the system to be initialized
- // try {
- // Thread.sleep(3000);
- // } catch (Exception e2) {
- // // silent
- // }
-
- boolean remote = System.getProperty(NODE_REPO_URI) != null;
-
- // choose login context
- final ILoginContext loginContext;
- if (remote) {
- loginContext = SecureApplicationActivator
- .createLoginContext(SecureApplicationActivator.CONTEXT_REMOTE);
- } else {
- if (OperatingSystem.os == OperatingSystem.WINDOWS)
- loginContext = SecureApplicationActivator
- .createLoginContext(SecureApplicationActivator.CONTEXT_WINDOWS);
- else
- loginContext = SecureApplicationActivator
- .createLoginContext(SecureApplicationActivator.CONTEXT_NIX);
- }
-
- final Display display = PlatformUI.createDisplay();
-
- // login
- Subject subject = null;
- try {
- loginContext.login();
- subject = loginContext.getSubject();
- } catch (LoginException e) {
- log.error("Error when logging in.", e);
- display.dispose();
- try {
- Thread.sleep(2000);
- } catch (InterruptedException e1) {
- // silent
- }
- return null;
- }
-
- // identify after successful login
- if (log.isDebugEnabled())
- log.debug("subject=" + subject);
- final String username = subject.getPrincipals().iterator().next()
- .getName();
- if (log.isDebugEnabled())
- log.debug(username + " logged in");
-// display.disposeExec(new Runnable() {
-// public void run() {
-// log.debug("Display disposed");
-// logout(loginContext, username);
-// }
-// });
-
- try {
- PrivilegedAction<?> privilegedAction = new PrivilegedAction<Object>() {
- public Object run() {
- int result = PlatformUI.createAndRunWorkbench(display,
- createWorkbenchAdvisor(username));
- return new Integer(result);
- }
- };
-
- Integer returnCode = (Integer) Subject.doAs(subject,
- privilegedAction);
- logout(loginContext, username);
- return processReturnCode(returnCode);
- } catch (Exception e) {
- if (subject != null)
- logout(loginContext, username);
- log.error("Unexpected error", e);
- } finally {
- display.dispose();
- }
- return null;
- }
-
- protected Integer processReturnCode(Integer returnCode) {
- if (returnCode == PlatformUI.RETURN_RESTART)
- return IApplication.EXIT_RESTART;
- else
- return IApplication.EXIT_OK;
- }
-
- static void logout(ILoginContext secureContext, String username) {
- try {
- secureContext.logout();
- log.info("Logged out " + (username != null ? username : "")
- + " (THREAD=" + Thread.currentThread().getId() + ")");
- } catch (LoginException e) {
- log.error("Erorr when logging out", e);
- }
- }
-
- public void stop() {
- final IWorkbench workbench;
- try {
- workbench = PlatformUI.getWorkbench();
- } catch (Exception e) {
- return;
- }
- if (workbench == null)
- return;
- final Display display = workbench.getDisplay();
- if (display != null && !display.isDisposed())
- display.syncExec(new Runnable() {
-
- public void run() {
- if (!display.isDisposed())
- workbench.close();
- }
- });
-
- if (log.isDebugEnabled())
- log.debug("workbench stopped");
- }
-
-}
+++ /dev/null
-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed 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.
- */
-package org.argeo.security.ui.rcp;
-
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.ICoolBarManager;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-public class SecureActionBarAdvisor extends ActionBarAdvisor {
- private IWorkbenchAction exitAction;
- private IWorkbenchAction openPerspectiveDialogAction;
- private IWorkbenchAction showViewMenuAction;
- private IWorkbenchAction preferences;
- private IWorkbenchAction saveAction;
- private IWorkbenchAction saveAsAction;
- private IWorkbenchAction saveAllAction;
- private IWorkbenchAction closeAllAction;
-
- // private final Boolean isRcp;
-
- public SecureActionBarAdvisor(IActionBarConfigurer configurer, Boolean isRcp) {
- super(configurer);
- // this.isRcp = isRcp;
- }
-
- protected void makeActions(IWorkbenchWindow window) {
- preferences = ActionFactory.PREFERENCES.create(window);
- register(preferences);
- openPerspectiveDialogAction = ActionFactory.OPEN_PERSPECTIVE_DIALOG
- .create(window);
- register(openPerspectiveDialogAction);
- showViewMenuAction = ActionFactory.SHOW_VIEW_MENU.create(window);
- register(showViewMenuAction);
-
- exitAction = ActionFactory.QUIT.create(window);
- register(exitAction);
-
- // Save semantiocs
- saveAction = ActionFactory.SAVE.create(window);
- register(saveAction);
- saveAsAction = ActionFactory.SAVE_AS.create(window);
- register(saveAsAction);
- saveAllAction = ActionFactory.SAVE_ALL.create(window);
- register(saveAllAction);
- closeAllAction = ActionFactory.CLOSE_ALL.create(window);
- register(closeAllAction);
-
- }
-
- protected void fillMenuBar(IMenuManager menuBar) {
- MenuManager fileMenu = new MenuManager("&File",
- IWorkbenchActionConstants.M_FILE);
- MenuManager editMenu = new MenuManager("&Edit",
- IWorkbenchActionConstants.M_EDIT);
- MenuManager windowMenu = new MenuManager("&Window",
- IWorkbenchActionConstants.M_WINDOW);
-
- menuBar.add(fileMenu);
- menuBar.add(editMenu);
- menuBar.add(windowMenu);
- // Add a group marker indicating where action set menus will appear.
- menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-
- // File
- fileMenu.add(saveAction);
- fileMenu.add(saveAsAction);
- fileMenu.add(saveAllAction);
- fileMenu.add(closeAllAction);
- fileMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
- fileMenu.add(new Separator());
- fileMenu.add(exitAction);
-
- // Edit
- editMenu.add(preferences);
-
- // Window
- windowMenu.add(openPerspectiveDialogAction);
- windowMenu.add(showViewMenuAction);
- }
-
- @Override
- protected void fillCoolBar(ICoolBarManager coolBar) {
- IToolBarManager saveToolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
- saveToolbar.add(saveAction);
- saveToolbar.add(saveAllAction);
- coolBar.add(saveToolbar);
- }
-
-}
+++ /dev/null
-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed 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.
- */
-package org.argeo.security.ui.rcp;
-
-import java.net.URL;
-
-import org.eclipse.equinox.security.auth.ILoginContext;
-import org.eclipse.equinox.security.auth.LoginContextFactory;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/** Activator able to create {@link ILoginContext} */
-public class SecureApplicationActivator implements BundleActivator {
-
- public final static String CONTEXT_REMOTE = "REMOTE";
- public final static String CONTEXT_NIX = "NIX";
- public final static String CONTEXT_WINDOWS = "WINDOWS";
- private static final String JAAS_CONFIG_FILE = "/META-INF/jaas_default.txt";
-
- private static BundleContext bundleContext;
-
- public void start(BundleContext bundleContext) throws Exception {
- SecureApplicationActivator.bundleContext = bundleContext;
- }
-
- public void stop(BundleContext context) throws Exception {
- }
-
- static ILoginContext createLoginContext(String context) {
- URL configUrl = bundleContext.getBundle().getEntry(JAAS_CONFIG_FILE);
- return LoginContextFactory.createContext(context, configUrl);
- }
-}
+++ /dev/null
-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed 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.
- */
-package org.argeo.security.ui.rcp;
-
-
-public class SecureRcp extends AbstractSecureApplication {
-}
+++ /dev/null
-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed 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.
- */
-package org.argeo.security.ui.rcp;
-
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-/**
- * Workbench configuration which is aware of the logged in user and can remember
- * workbench state.
- */
-public class SecureWorkbenchAdvisor extends WorkbenchAdvisor {
- public final static String INITIAL_PERSPECTIVE_PROPERTY = "org.argeo.security.ui.initialPerspective";
- public final static String SAVE_AND_RESTORE_PROPERTY = "org.argeo.security.ui.saveAndRestore";
-
- private String initialPerspective = System.getProperty(
- INITIAL_PERSPECTIVE_PROPERTY, null);
-
- private final String username;
-
- public SecureWorkbenchAdvisor(String username) {
- this.username = username;
- }
-
- @Override
- public void initialize(final IWorkbenchConfigurer configurer) {
- super.initialize(configurer);
- Boolean saveAndRestore = Boolean.parseBoolean(System.getProperty(
- SAVE_AND_RESTORE_PROPERTY, "true"));
- configurer.setSaveAndRestore(saveAndRestore);
- }
-
- public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(
- IWorkbenchWindowConfigurer configurer) {
- return new SecureWorkbenchWindowAdvisor(configurer, username);
- }
-
- public String getInitialWindowPerspectiveId() {
- if (initialPerspective != null) {
- // check whether this user can see the declared perspective
- // (typically the perspective won't be listed if this user doesn't
- // have the right to see it)
- IPerspectiveDescriptor pd = getWorkbenchConfigurer().getWorkbench()
- .getPerspectiveRegistry()
- .findPerspectiveWithId(initialPerspective);
- if (pd == null)
- return null;
- }
- return initialPerspective;
- }
-
- protected String getUsername() {
- return username;
- }
-}
+++ /dev/null
-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed 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.
- */
-package org.argeo.security.ui.rcp;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class SecureWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
- private final String username;
-
- public SecureWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer,
- String username) {
- super(configurer);
- this.username = username;
- }
-
- public ActionBarAdvisor createActionBarAdvisor(
- IActionBarConfigurer configurer) {
- return new SecureActionBarAdvisor(configurer, true);
- }
-
- public void preWindowOpen() {
- IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
- configurer.setInitialSize(new Point(1200, 900));
- configurer.setShowCoolBar(true);
- configurer.setShowMenuBar(true);
- configurer.setShowStatusLine(true);
- configurer.setShowProgressIndicator(true);
-
- configurer.setShowPerspectiveBar(true);
- String remoteUri = System
- .getProperty(AbstractSecureApplication.NODE_REPO_URI);
- if (remoteUri != null)
- configurer
- .setTitle("Argeo UI - " + username + " (" + remoteUri + ")"); //$NON-NLS-1$
- else
- configurer.setTitle("Argeo UI - " + username); //$NON-NLS-1$
-
- }
-}
</dependency>
<!-- We build against RAP -->
- <dependency>
+ <!-- <dependency>
<groupId>org.argeo.commons</groupId>
<artifactId>org.argeo.eclipse.dep.rap</artifactId>
<type>pom</type>
- <version>2.1.12</version>
+ <version>2.1.12-SNAPSHOT</version>
<scope>provided</scope>
- </dependency>
+ </dependency> -->
<!-- Others: Commons utils, Spring, Logging -->
<dependency>
<artifactId>org.argeo.util</artifactId>
<version>2.1.12</version>
</dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.security.core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>slf4j.org.apache.commons.logging</artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.springframework.security.core</artifactId> -->
+<!-- </dependency> -->
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>slf4j.org.apache.commons.logging</artifactId> -->
+<!-- </dependency> -->
</dependencies>
</project>
\ No newline at end of file
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.jobs.Job;
-import org.springframework.security.Authentication;
-import org.springframework.security.context.SecurityContextHolder;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
/**
* Propagate authentication to an eclipse job. Typically to execute a privileged
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.ui.handlers.HandlerUtil;
-import org.springframework.security.userdetails.UserDetailsManager;
+import org.springframework.security.provisioning.UserDetailsManager;
/** Opens the change password dialog. */
public class OpenChangePasswordDialog extends AbstractHandler {
import javax.security.auth.Subject;
import org.argeo.ArgeoException;
-import org.springframework.security.Authentication;
-import org.springframework.security.GrantedAuthority;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.GrantedAuthority;
/**
* Retrieves information about the current user. Not an API, can change without
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Table;
import org.eclipse.ui.part.ViewPart;
-import org.springframework.security.Authentication;
+import org.springframework.security.core.Authentication;
/** Information about the currently logged in user */
public class UserProfile extends ViewPart {
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.server.ads.server</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-#Sun Jan 16 09:58:38 CET 2011
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
+++ /dev/null
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
-
- <bean
- class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
- <property name="locations">
- <value>osgibundle:ads.properties</value>
- </property>
- </bean>
-
- <bean class="org.argeo.server.ads.AdsContainer">
- <property name="workingDirectory" value="${osgi.instance.area}/apacheds" />
-<!-- <property name="deleteWorkingDirOnExit" value="true" /> -->
- <property name="configuration" ref="configuration" />
- <property name="environment" ref="environment" />
- <property name="ldifs">
- <list>
- <value>${argeo.ads.init.ldif}</value>
- </list>
- </property>
- </bean>
-
- <bean id="environment"
- class="org.springframework.beans.factory.config.PropertiesFactoryBean">
- <property name="properties">
- <props>
- <prop key="java.naming.security.authentication">simple</prop>
- <prop key="java.naming.security.principal">${argeo.ldap.manager.userdn}</prop>
- <prop key="java.naming.security.credentials">${argeo.ldap.manager.password}</prop>
- <!--<prop key="kdc.entryBaseDn">ou=users,dc=example,dc=com</prop> -->
- <!--<prop key="kdc.java.naming.security.credentials">secret</prop> -->
- <!-- <prop key="changepw.entryBaseDn">ou=users,dc=example,dc=com</prop> -->
- <!-- <prop key="changepw.java.naming.security.credentials">secret</prop> -->
- <!-- Set this key to a space delimited set of attributeType descriptions
- and their OID's if you want an attributeType to be handled as binary content.
- The server will use the schema to derive the set of attributeTypes to treat
- as binary. The union if the values you provide here will be taken as the
- set of binaries. Note to be consistent you must add both the OID and all
- the names an attributeType can have. -->
- <!-- <prop key="java.naming.ldap.attributes.binary"></prop> -->
- </props>
- </property>
- </bean>
-
-
-</beans>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
- "http://www.springframework.org/dtd/spring-beans.dtd">
-
-<beans>
- <bean id="configuration"
- class="org.apache.directory.server.configuration.MutableServerStartupConfiguration">
- <property name="workingDirectory" value="example.com" />
-
- <!--
- Uncomment below to have the server load entries on startup!
- -->
- <!--
- ldifDirectory property can point to a relative file, directory or
- -->
- <!--
- can point to an absolute path to either using the URL path
- -->
- <!--
- notation: i.e. file:///Users/jack/apacheds/ldifs
- -->
-
- <!--
- Entries will optionally be filtered using LdifLoadFilters in the
- -->
- <!--
- order specified. The included Krb5KdcEntryFilter will filter
- -->
- <!--
- kerberos principals creating keys for them using their
- -->
- <!--
- userPassword attribute if present.
- -->
-
- <!--
- <property name="ldifDirectory">
- <value>${argeo.ads.init.ldif}</value>
- </property> -->
-
- <!--
- <property name="ldifFilters"> <list> <bean
- class="org.apache.directory.server.protocol.shared.store.Krb5KdcEntryFilter"
- /> </list> </property>
- -->
-
-
- <!--
- the number of milliseconds before issuing a synch (flush to disk)
- -->
- <!--
- which writes out dirty pages back to disk. To turn off synchs all
- -->
- <!--
- together simply set this value to <= 0. Make sure you turn on
- -->
- <!--
- synchOnWrite for all partitions if you do choose to do this or else
- -->
- <!--
- writes may never persist to disk.
- -->
- <property name="synchPeriodMillis" value="15000" />
-
- <!--
- limits searches by non-admin users to a max time of 15000
- -->
- <!--
- milliseconds and has a default value of 10000
- -->
- <property name="maxTimeLimit" value="15000" />
- <!--
- limits searches to max size of 1000 entries: default value is 100
- -->
- <property name="maxSizeLimit" value="1000" />
- <!--
- maximum number of threads used by mina is set to 8: default is 4
- -->
- <property name="maxThreads" value="8" />
-
- <property name="allowAnonymousAccess" value="true" />
- <property name="accessControlEnabled" value="false" />
- <property name="enableNtp" value="false" />
- <property name="enableKerberos" value="false" />
- <property name="enableChangePassword" value="false" />
-
- <!--
- It's more efficient to keep this feature turned off but you may not
- like having the creatorsName and modifiersName contain OIDs instead
- of short attributeType names instead. So if you want the creatorsName
- to change from the normalized form which is the internal
- representation of '0.9.2342.19200300.100.1.1=admin,2.5.4.11=system'
-
- to a more human readabile form like: 'uid=admin,ou=system' then set
- this property to true.
- -->
- <property name="denormalizeOpAttrsEnabled" value="false" />
-
- <property name="ldapPort" value="${argeo.ldap.port}" />
-
- <property name="systemPartitionConfiguration" ref="systemPartitionConfiguration" />
-
- <property name="contextPartitionConfigurations">
- <set>
- <ref bean="examplePartitionConfiguration" />
- </set>
- </property>
- <property name="bootstrapSchemas">
- <set>
- <bean
- class="org.apache.directory.server.core.schema.bootstrap.AutofsSchema" />
- <bean
- class="org.apache.directory.server.core.schema.bootstrap.CorbaSchema" />
- <bean class="org.apache.directory.server.core.schema.bootstrap.CoreSchema" />
- <bean
- class="org.apache.directory.server.core.schema.bootstrap.CosineSchema" />
- <bean
- class="org.apache.directory.server.core.schema.bootstrap.ApacheSchema" />
- <bean
- class="org.apache.directory.server.core.schema.bootstrap.CollectiveSchema" />
- <bean
- class="org.apache.directory.server.core.schema.bootstrap.InetorgpersonSchema" />
- <bean class="org.apache.directory.server.core.schema.bootstrap.JavaSchema" />
- <bean
- class="org.apache.directory.server.core.schema.bootstrap.Krb5kdcSchema" />
- <bean class="org.apache.directory.server.core.schema.bootstrap.NisSchema" />
- <bean
- class="org.apache.directory.server.core.schema.bootstrap.SystemSchema" />
- <bean
- class="org.apache.directory.server.core.schema.bootstrap.ApachednsSchema" />
- </set>
- </property>
-
- <property name="extendedOperationHandlers">
- <list>
- <bean
- class="org.apache.directory.server.ldap.support.extended.GracefulShutdownHandler" />
- <bean
- class="org.apache.directory.server.ldap.support.extended.LaunchDiagnosticUiHandler" />
- </list>
- </property>
-
- <property name="interceptorConfigurations">
- <list>
- <bean
- class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
- <property name="name" value="normalizationService" />
- <property name="interceptor">
- <bean
- class="org.apache.directory.server.core.normalization.NormalizationService" />
- </property>
- </bean>
- <bean
- class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
- <property name="name" value="authenticationService" />
- <property name="interceptor">
- <bean
- class="org.apache.directory.server.core.authn.AuthenticationService" />
- </property>
- </bean>
- <bean
- class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
- <property name="name" value="referralService" />
- <property name="interceptor">
- <bean class="org.apache.directory.server.core.referral.ReferralService" />
- </property>
- </bean>
- <bean
- class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
- <property name="name" value="authorizationService" />
- <property name="interceptor">
- <bean
- class="org.apache.directory.server.core.authz.AuthorizationService" />
- </property>
- </bean>
- <bean
- class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
- <property name="name" value="defaultAuthorizationService" />
- <property name="interceptor">
- <bean
- class="org.apache.directory.server.core.authz.DefaultAuthorizationService" />
- </property>
- </bean>
- <bean
- class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
- <property name="name" value="exceptionService" />
- <property name="interceptor">
- <bean
- class="org.apache.directory.server.core.exception.ExceptionService" />
- </property>
- </bean>
- <bean
- class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
- <property name="name" value="schemaService" />
- <property name="interceptor">
- <bean class="org.apache.directory.server.core.schema.SchemaService" />
- </property>
- </bean>
- <bean
- class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
- <property name="name" value="subentryService" />
- <property name="interceptor">
- <bean class="org.apache.directory.server.core.subtree.SubentryService" />
- </property>
- </bean>
- <bean
- class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
- <property name="name" value="operationalAttributeService" />
- <property name="interceptor">
- <bean
- class="org.apache.directory.server.core.operational.OperationalAttributeService" />
- </property>
- </bean>
- <bean
- class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
- <property name="name" value="collectiveAttributeService" />
- <property name="interceptor">
- <bean
- class="org.apache.directory.server.core.collective.CollectiveAttributeService" />
- </property>
- </bean>
- <bean
- class="org.apache.directory.server.core.configuration.MutableInterceptorConfiguration">
- <property name="name" value="eventService" />
- <property name="interceptor">
- <bean class="org.apache.directory.server.core.event.EventService" />
- </property>
- </bean>
- </list>
- </property>
- </bean>
-
- <!--
- use the following partitionConfiguration to override defaults for
- -->
- <!--
- the system partition
- -->
- <bean id="systemPartitionConfiguration"
- class="org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration">
- <property name="name" value="system" />
- <property name="cacheSize" value="100" />
- <property name="suffix" value="ou=system" />
-
- <!--
- the optimizer is enabled by default but may not always be what
- -->
- <!--
- you want if your queries are really simple
- -->
- <property name="optimizerEnabled" value="true" />
-
- <!--
- Synchronization on writes does not wait for synch operations to flush
- dirty pages. Writes persist immediately to disk at a cost to
- performance with increased data integrity. Otherwise the periodic
- synch operation will flush dirty pages using the synchPeriodMillis
- parameter in the main configuration.
- -->
- <property name="synchOnWrite" value="true" />
- <property name="indexedAttributes">
- <set>
- <bean
- class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
- <property name="attributeId" value="ou" />
- <property name="cacheSize" value="100" />
- </bean>
- <bean
- class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
- <property name="attributeId" value="uid" />
- <property name="cacheSize" value="100" />
- </bean>
- <bean
- class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
- <property name="attributeId" value="objectClass" />
- <property name="cacheSize" value="100" />
- </bean>
- </set>
- </property>
- <property name="contextEntry">
- <value><![CDATA[
- objectClass: top
- objectClass: organizationalUnit
- objectClass:extensibleObject
- ou: system
- ]]></value>
- </property>
- </bean>
-
-
- <bean id="examplePartitionConfiguration"
- class="org.apache.directory.server.core.partition.impl.btree.MutableBTreePartitionConfiguration">
- <property name="name" value="example" />
- <property name="cacheSize" value="100" />
- <property name="suffix" value="${argeo.ldap.rootdn}" />
-
- <!--
- the optimizer is enabled by default but may not always be what
- -->
- <!--
- you want if your queries are really simple
- -->
- <property name="optimizerEnabled" value="true" />
-
- <!--
- Synchronization on writes does not wait for synch operations to flush
- dirty pages. Writes persist immediately to disk at a cost to
- performance with increased data integrity. Otherwise the periodic
- synch operation will flush dirty pages using the synchPeriodMillis
- parameter in the main configuration.
- -->
- <property name="synchOnWrite" value="true" />
- <property name="indexedAttributes">
- <set>
- <bean
- class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
- <property name="attributeId" value="dc" />
- <property name="cacheSize" value="100" />
- </bean>
- <bean
- class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
- <property name="attributeId" value="ou" />
- <property name="cacheSize" value="100" />
- </bean>
- <bean
- class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
- <property name="attributeId" value="krb5PrincipalName" />
- <property name="cacheSize" value="100" />
- </bean>
- <bean
- class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
- <property name="attributeId" value="uid" />
- <property name="cacheSize" value="100" />
- </bean>
- <bean
- class="org.apache.directory.server.core.partition.impl.btree.MutableIndexConfiguration">
- <property name="attributeId" value="objectClass" />
- <property name="cacheSize" value="100" />
- </bean>
- </set>
- </property>
- <property name="contextEntry">
- <value><![CDATA[
- objectClass: top
- objectClass: domain
- objectClass: extensibleObject
- dc: example
- ]]></value>
- </property>
- </bean>
-
- <bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
- <property name="customEditors">
- <map>
- <entry key="javax.naming.directory.Attributes">
- <bean
- class="org.apache.directory.server.core.configuration.AttributesPropertyEditor" />
- </entry>
- </map>
- </property>
- </bean>
-</beans>
\ No newline at end of file
+++ /dev/null
-argeo.ldap.rootdn=dc=demo,dc=example,dc=org
-argeo.ldap.port=10389
-argeo.ldap.manager.userdn=uid=admin,ou=system
-argeo.ldap.manager.password=secret
-argeo.ads.init.ldif=osgibundle:init.ldif
\ No newline at end of file
+++ /dev/null
-Spring-Context: META-INF/spring/*.xml;create-asynchronously:=false
-Import-Package: javax.naming.directory,\
-jdbm,\
-org.apache.directory.server.configuration,\
-org.apache.directory.server.core.authn,\
-org.apache.directory.server.core.authz,\
-org.apache.directory.server.core.collective,\
-org.apache.directory.server.core.configuration,\
-org.apache.directory.server.core.event,\
-org.apache.directory.server.core.exception,\
-org.apache.directory.server.core.normalization,\
-org.apache.directory.server.core.operational,\
-org.apache.directory.server.core.partition.impl.btree,\
-org.apache.directory.server.core.referral,\
-org.apache.directory.server.core.schema,\
-org.apache.directory.server.core.schema.bootstrap,\
-org.apache.directory.server.core.subtree,\
-org.apache.directory.server.jndi,\
-org.apache.directory.server.ldap.support.extended,\
-org.apache.directory.shared.asn1.codec,\
-org.argeo.server.ads,\
-org.springframework.beans.factory.config,\
-*
\ No newline at end of file
+++ /dev/null
-bin.includes = META-INF/
+++ /dev/null
-dn: dc=demo,dc=example,dc=org
-objectClass: domain
-objectClass: extensibleObject
-objectClass: top
-dc: demo
-
-dn: ou=Roles,dc=demo,dc=example,dc=org
-objectClass: organizationalUnit
-objectClass: top
-ou: Roles
-
-dn: ou=People,dc=demo,dc=example,dc=org
-objectClass: organizationalUnit
-objectClass: top
-ou: People
-
-dn: uid=demo,ou=People,dc=demo,dc=example,dc=org
-objectClass: organizationalPerson
-objectClass: person
-objectClass: inetOrgPerson
-objectClass: top
-cn: demo User
-description: Demo user
-givenname: Demo
-mail: demo@localhost
-sn: User
-uid: demo
-userpassword:: e1NIQX1pZVNWNTVRYytlUU9hWURSU2hhL0Fqek5USkU9
-
-dn: uid=root,ou=People,dc=demo,dc=example,dc=org
-objectClass: person
-objectClass: inetOrgPerson
-objectClass: organizationalPerson
-objectClass: top
-cn: demo User
-description: Superuser
-givenname: Root
-mail: root@localhost
-sn: Root
-uid: root
-userpassword:: e1NIQX1pZVNWNTVRYytlUU9hWURSU2hhL0Fqek5USkU9
-
-dn: cn=admin,ou=Roles,dc=demo,dc=example,dc=org
-objectClass: groupOfNames
-objectClass: top
-cn: admin
-member: uid=root,ou=People,dc=demo,dc=example,dc=org
+++ /dev/null
-<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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.commons</groupId>
- <version>2.1.12</version>
- <artifactId>argeo-commons</artifactId>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.server.ads.server</artifactId>
- <name>Commons Server Default ADS LDAP Server</name>
-</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src" />
- <classpathentry kind="con"
- path="org.eclipse.pde.core.requiredPlugins" />
- <classpathentry kind="con"
- path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6" />
- <classpathentry kind="output" path="bin" />
-</classpath>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.server.ads</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-additional.bundles = org.apache.directory.server.core
-source.. = src/
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.commons</groupId>
- <artifactId>argeo-commons</artifactId>
- <version>2.1.12</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.server.ads</artifactId>
- <name>Commons Server Apache Directory Server</name>
- <dependencies>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.util</artifactId>
- <version>2.1.12</version>
- </dependency>
-
- <!-- Apache DS -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.directory.server.jndi</artifactId>
- <exclusions>
- <!--
- Workaround for a weird issue where the underlying version from
- slf4j get taken instead of the one we want
- -->
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>com.springsource.slf4j.api</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <!-- Apache Commons -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.io</artifactId>
- </dependency>
-
- <!-- Spring -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.beans</artifactId>
- </dependency>
-
- <!-- Logging -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>slf4j.org.apache.commons.logging</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>slf4j.api</artifactId>
- </dependency>
- </dependencies>
-</project>
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed 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.
- */
-package org.argeo.server.ads;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.naming.directory.InitialDirContext;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.directory.server.configuration.MutableServerStartupConfiguration;
-import org.apache.directory.server.core.configuration.ShutdownConfiguration;
-import org.apache.directory.server.jndi.ServerContextFactory;
-import org.argeo.ArgeoException;
-import org.springframework.beans.factory.DisposableBean;
-import org.springframework.beans.factory.InitializingBean;
-import org.springframework.core.io.Resource;
-import org.springframework.util.Assert;
-
-/** Wraps an Apache Directory Server instance. */
-@SuppressWarnings("restriction")
-public class AdsContainer implements InitializingBean, DisposableBean {
- private final static Log log = LogFactory.getLog(AdsContainer.class);
-
- private MutableServerStartupConfiguration configuration;
- private Properties environment = null;
- private File workingDirectory = new File(
- System.getProperty("java.io.tmpdir") + File.separator
- + "argeo-apacheDirectoryServer");
- private Boolean deleteWorkingDirOnExit = false;
-
- // LDIF
- private List<Resource> ldifs = new ArrayList<Resource>();
- private List<String> ignoredLdifAttributes = new ArrayList<String>();
- /** default is 'demo' */
- private String ldifPassword = "e1NIQX1pZVNWNTVRYytlUU9hWURSU2hhL0Fqek5USkU9";
- private String ldifPasswordAttribute = "userPassword";
- private File ldifDirectory;
-
- @SuppressWarnings("unchecked")
- public void afterPropertiesSet() throws Exception {
-
- log.info("Starting directory server with id '"
- + configuration.getInstanceId() + "' in directory "
- + workingDirectory.getAbsolutePath());
-
- if (deleteWorkingDirOnExit && workingDirectory.exists()) {
- log.warn("Found existing directory " + workingDirectory
- + " deleting it...");
- FileUtils.deleteDirectory(workingDirectory);
- }
- configuration.setWorkingDirectory(workingDirectory);
- workingDirectory.mkdirs();
-
- if (ldifDirectory != null)
- configuration.setLdifDirectory(ldifDirectory);
- else
- configuration.setLdifDirectory(new File(workingDirectory
- .getAbsolutePath() + File.separator + "ldif"));
-
- if (ignoredLdifAttributes.size() == 0) {
- ignoredLdifAttributes.add("entryUUID");
- ignoredLdifAttributes.add("structuralObjectClass");
- ignoredLdifAttributes.add("creatorsName");
- ignoredLdifAttributes.add("createTimestamp");
- ignoredLdifAttributes.add("entryCSN");
- ignoredLdifAttributes.add("modifiersName");
- ignoredLdifAttributes.add("modifyTimestamp");
- }
-
- // Process provided LDIF files
- if (ldifs.size() > 0)
- configuration.getLdifDirectory().mkdirs();
- for (Resource ldif : ldifs) {
- File targetFile = new File(configuration.getLdifDirectory()
- .getAbsolutePath()
- + File.separator
- + ldif.getFilename().replace(':', '_'));
- processLdif(ldif, targetFile);
- }
-
- Properties env = new Properties();
- env.setProperty(Context.INITIAL_CONTEXT_FACTORY,
- ServerContextFactory.class.getName());
- Assert.notNull(environment);
- env.putAll(environment);
- env.putAll(configuration.toJndiEnvironment());
-
- try {
- new InitialDirContext(env);
- } catch (NamingException e) {
- throw new ArgeoException("Failed to start Apache Directory server",
- e);
- }
- }
-
- /**
- * Processes an LDIF resource, filtering out attributes that cannot be
- * imported in ADS and forcing a password.
- */
- protected void processLdif(Resource ldif, File targetFile) {
- BufferedReader reader = null;
- Writer writer = null;
- try {
- reader = new BufferedReader(new InputStreamReader(
- ldif.getInputStream()));
- writer = new FileWriter(targetFile);
- String line = null;
- lines: while ((line = reader.readLine()) != null) {
- // comment and empty lines
- if (line.trim().equals("") || line.startsWith("#")) {
- writer.write(line);
- writer.write('\n');
- continue lines;
- }
-
- String[] tokens = line.split(":");
- String attribute = null;
- if (tokens != null && tokens.length > 1) {
- attribute = tokens[0].trim();
- if (ignoredLdifAttributes.contains(attribute))
- continue lines;// ignore
-
- if (attribute.equals("bdb_db_open")) {
- log.warn("Ignored OpenLDAP output\n" + line);
- continue lines;
- }
-
- if (ldifPassword != null
- && attribute.equals(ldifPasswordAttribute)) {
- line = ldifPasswordAttribute + ":: " + ldifPassword;
- }
-
- writer.write(line);
- writer.write('\n');
- } else {
- log.warn("Ignored LDIF line\n" + line);
- }
- }
- if (log.isDebugEnabled())
- log.debug("Processed " + ldif + " to LDIF directory "
- + configuration.getLdifDirectory());
- } catch (IOException e) {
- throw new ArgeoException("Cannot process LDIF " + ldif, e);
- } finally {
- IOUtils.closeQuietly(reader);
- IOUtils.closeQuietly(writer);
- }
- }
-
- @SuppressWarnings("unchecked")
- public void destroy() throws Exception {
- ShutdownConfiguration shutdown = new ShutdownConfiguration(
- configuration.getInstanceId());
-
- Properties env = new Properties();
- env.setProperty(Context.INITIAL_CONTEXT_FACTORY,
- ServerContextFactory.class.getName());
- Assert.notNull(environment);
- env.putAll(environment);
- env.putAll(shutdown.toJndiEnvironment());
-
- log.info("Shutting down directory server with id '"
- + configuration.getInstanceId() + "'");
-
- try {
- new InitialContext(env);
- } catch (NamingException e) {
- throw new ArgeoException("Failed to stop Apache Directory server",
- e);
- }
-
- if (workingDirectory.exists() && deleteWorkingDirOnExit) {
- if (log.isDebugEnabled())
- log.debug("Delete Apache DS working dir " + workingDirectory);
- FileUtils.deleteDirectory(workingDirectory);
- }
-
- }
-
- public void setConfiguration(MutableServerStartupConfiguration configuration) {
- this.configuration = configuration;
- }
-
- public void setWorkingDirectory(File workingDirectory) {
- this.workingDirectory = workingDirectory;
- }
-
- public void setEnvironment(Properties environment) {
- this.environment = environment;
- }
-
- public void setLdifs(List<Resource> ldifs) {
- this.ldifs = ldifs;
- }
-
- public void setLdifDirectory(File ldifDirectory) {
- this.ldifDirectory = ldifDirectory;
- }
-
- public void setDeleteWorkingDirOnExit(Boolean deleteWorkingDirOnExit) {
- this.deleteWorkingDirOnExit = deleteWorkingDirOnExit;
- }
-
- public void setIgnoredLdifAttributes(List<String> ignoredLdifAttributes) {
- this.ignoredLdifAttributes = ignoredLdifAttributes;
- }
-
- public void setLdifPassword(String ldifPassword) {
- this.ldifPassword = ldifPassword;
- }
-
- public void setLdifPasswordAttribute(String ldifPasswordAttribute) {
- this.ldifPasswordAttribute = ldifPasswordAttribute;
- }
-
-}
source.. = src/
-additional.bundles = slf4j.api,\
- slf4j.org.apache.commons.logging,\
- slf4j.log4j,\
- org.apache.log4j,\
+additional.bundles = org.apache.log4j,\
com.jcraft.jsch
\ No newline at end of file
</dependency>
<!-- Apache Commons -->
- <dependency>
+<!-- <dependency>
<groupId>org.argeo.tp</groupId>
<artifactId>org.apache.commons.io</artifactId>
</dependency>
<dependency>
<groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.vfs</artifactId>
+ <artifactId>org.apache.commons.vfs2</artifactId>
</dependency>
<dependency>
<groupId>org.argeo.tp</groupId>
<groupId>org.argeo.tp</groupId>
<artifactId>org.joda.time</artifactId>
</dependency>
-
+ -->
<!-- Spring -->
- <dependency>
+<!-- <dependency>
<groupId>org.argeo.tp</groupId>
<artifactId>org.springframework.web</artifactId>
</dependency>
<groupId>org.argeo.tp</groupId>
<artifactId>org.springframework.web.servlet</artifactId>
</dependency>
-
+ -->
<!-- J2EE -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>javax.servlet</artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>javax.servlet</artifactId> -->
+<!-- </dependency> -->
- <!-- Logging -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>slf4j.org.apache.commons.logging</artifactId>
- </dependency>
+ <!-- Logging -->
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>slf4j.org.apache.commons.logging</artifactId> -->
+<!-- </dependency> -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.fileupload</artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.apache.commons.fileupload</artifactId> -->
+<!-- </dependency> -->
</dependencies>
</project>
\ No newline at end of file
*/
package org.argeo.server.backup;
-import org.apache.commons.vfs.FileObject;
-import org.apache.commons.vfs.FileSystemManager;
-import org.apache.commons.vfs.FileSystemOptions;
-import org.apache.commons.vfs.provider.sftp.SftpFileSystemConfigBuilder;
+import org.apache.commons.vfs2.FileObject;
+import org.apache.commons.vfs2.FileSystemManager;
+import org.apache.commons.vfs2.FileSystemOptions;
+import org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder;
import org.argeo.ArgeoException;
/**
*/
package org.argeo.server.backup;
-import org.apache.commons.vfs.FileSystemManager;
-import org.apache.commons.vfs.FileSystemOptions;
+import org.apache.commons.vfs2.FileSystemManager;
+import org.apache.commons.vfs2.FileSystemOptions;
/** Performs the backup of a single component, typically a database dump */
public interface AtomicBackup {
*/
package org.argeo.server.backup;
-import org.apache.commons.vfs.FileSystemException;
-import org.apache.commons.vfs.impl.DefaultFileSystemManager;
-import org.apache.commons.vfs.provider.bzip2.Bzip2FileProvider;
-import org.apache.commons.vfs.provider.ftp.FtpFileProvider;
-import org.apache.commons.vfs.provider.gzip.GzipFileProvider;
-import org.apache.commons.vfs.provider.local.DefaultLocalFileProvider;
-import org.apache.commons.vfs.provider.ram.RamFileProvider;
-import org.apache.commons.vfs.provider.sftp.SftpFileProvider;
-import org.apache.commons.vfs.provider.url.UrlFileProvider;
+import org.apache.commons.vfs2.FileSystemException;
+import org.apache.commons.vfs2.impl.DefaultFileSystemManager;
+import org.apache.commons.vfs2.provider.bzip2.Bzip2FileProvider;
+import org.apache.commons.vfs2.provider.ftp.FtpFileProvider;
+import org.apache.commons.vfs2.provider.gzip.GzipFileProvider;
+import org.apache.commons.vfs2.provider.local.DefaultLocalFileProvider;
+import org.apache.commons.vfs2.provider.ram.RamFileProvider;
+import org.apache.commons.vfs2.provider.sftp.SftpFileProvider;
+import org.apache.commons.vfs2.provider.url.UrlFileProvider;
import org.argeo.ArgeoException;
/**
import java.text.DateFormat;
-import org.apache.commons.vfs.FileSystemManager;
-import org.apache.commons.vfs.FileSystemOptions;
+import org.apache.commons.vfs2.FileSystemManager;
+import org.apache.commons.vfs2.FileSystemOptions;
/** Purges previous backups */
public interface BackupPurge {
*/
package org.argeo.server.backup;
-import org.apache.commons.vfs.FileObject;
+import org.apache.commons.vfs2.FileObject;
/** Backup utilities */
public class BackupUtils {
*/
package org.argeo.server.backup;
-import org.apache.commons.vfs.FileObject;
+import org.apache.commons.vfs2.FileObject;
/** Backups a MySQL database using mysqldump. */
public class MySqlBackup extends OsCallBackup {
*/
package org.argeo.server.backup;
-import org.apache.commons.vfs.FileObject;
+import org.apache.commons.vfs2.FileObject;
import org.argeo.ArgeoException;
/** Backups an OpenLDAP server using slapcat */
import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.commons.vfs.FileContent;
-import org.apache.commons.vfs.FileObject;
+import org.apache.commons.vfs2.FileContent;
+import org.apache.commons.vfs2.FileObject;
import org.argeo.ArgeoException;
/**
*/
package org.argeo.server.backup;
-import org.apache.commons.vfs.FileObject;
+import org.apache.commons.vfs2.FileObject;
/** Backups a PostgreSQL database using pg_dump. */
public class PostgreSqlBackup extends OsCallBackup {
import java.text.SimpleDateFormat;
import java.util.Date;
-import org.apache.commons.vfs.FileSystemManager;
+import org.apache.commons.vfs2.FileSystemManager;
/** Simple implementation of a backup context */
public class SimpleBackupContext implements BackupContext {
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.commons.vfs.FileObject;
-import org.apache.commons.vfs.FileSystemManager;
-import org.apache.commons.vfs.FileSystemOptions;
-import org.apache.commons.vfs.Selectors;
+import org.apache.commons.vfs2.FileObject;
+import org.apache.commons.vfs2.FileSystemManager;
+import org.apache.commons.vfs2.FileSystemOptions;
+import org.apache.commons.vfs2.Selectors;
import org.argeo.ArgeoException;
import org.joda.time.DateTime;
import org.joda.time.Period;
import java.io.File;
-import org.apache.commons.vfs.FileObject;
+import org.apache.commons.vfs2.FileObject;
/** Backups a Subversion repository using svnadmin. */
public class SvnBackup extends OsCallBackup {
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.commons.vfs.FileObject;
-import org.apache.commons.vfs.FileSystemException;
-import org.apache.commons.vfs.FileSystemManager;
-import org.apache.commons.vfs.FileSystemOptions;
-import org.apache.commons.vfs.Selectors;
-import org.apache.commons.vfs.UserAuthenticator;
-import org.apache.commons.vfs.auth.StaticUserAuthenticator;
-import org.apache.commons.vfs.impl.DefaultFileSystemConfigBuilder;
-import org.apache.commons.vfs.impl.StandardFileSystemManager;
+import org.apache.commons.vfs2.FileObject;
+import org.apache.commons.vfs2.FileSystemException;
+import org.apache.commons.vfs2.FileSystemManager;
+import org.apache.commons.vfs2.FileSystemOptions;
+import org.apache.commons.vfs2.Selectors;
+import org.apache.commons.vfs2.UserAuthenticator;
+import org.apache.commons.vfs2.auth.StaticUserAuthenticator;
+import org.apache.commons.vfs2.impl.DefaultFileSystemConfigBuilder;
+import org.apache.commons.vfs2.impl.StandardFileSystemManager;
import org.argeo.ArgeoException;
/**
--- /dev/null
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-additional.bundles = slf4j.api,\
- slf4j.log4j,\
- org.apache.log4j,\
- org.apache.commons.collections,\
- edu.oswego.cs.dl.util.concurrent,\
- org.h2,\
- org.apache.lucene,\
- org.springframework.context
source.. = src/
+additional.bundles = org.apache.jackrabbit.data
</dependency>
<!-- Jackrabbit -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.dep.jackrabbit</artifactId>
- <type>pom</type>
- <version>2.1.12</version>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.commons</groupId> -->
+<!-- <artifactId>org.argeo.dep.jackrabbit</artifactId> -->
+<!-- <type>pom</type> -->
+<!-- <version>2.1.12-SNAPSHOT</version> -->
+<!-- </dependency> -->
<!-- OSGi -->
- <dependency>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>org.eclipse.osgi</artifactId>
- <scope>provided</scope>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp.rap.platform</groupId> -->
+<!-- <artifactId>org.eclipse.osgi</artifactId> -->
+<!-- <scope>provided</scope> -->
+<!-- </dependency> -->
<!-- Spring -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.beans</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.web.servlet</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.security.core</artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.springframework.beans</artifactId> -->
+<!-- </dependency> -->
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.springframework.web.servlet</artifactId> -->
+<!-- </dependency> -->
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.springframework.security.core</artifactId> -->
+<!-- </dependency> -->
<!-- TEST -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.dep.log4j</artifactId>
- <version>2.1.12</version>
- <type>pom</type>
- <scope>test</scope>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.commons</groupId> -->
+<!-- <artifactId>org.argeo.dep.log4j</artifactId> -->
+<!-- <version>2.1.12-SNAPSHOT</version> -->
+<!-- <type>pom</type> -->
+<!-- <scope>test</scope> -->
+<!-- </dependency> -->
</dependencies>
</project>
\ No newline at end of file
import org.argeo.ArgeoException;
import org.argeo.jcr.ArgeoJcrConstants;
import org.argeo.jcr.JcrUtils;
-import org.springframework.security.Authentication;
-import org.springframework.security.context.SecurityContextHolder;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
/**
* Session provider assuming a single workspace and a short life cycle,
</dependency>
<!-- Spring -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.context</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.beans</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.web</artifactId>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.web.servlet</artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.springframework.context</artifactId> -->
+<!-- </dependency> -->
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.springframework.core</artifactId> -->
+<!-- </dependency> -->
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.springframework.beans</artifactId> -->
+<!-- </dependency> -->
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.springframework.web</artifactId> -->
+<!-- </dependency> -->
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.springframework.web.servlet</artifactId> -->
+<!-- </dependency> -->
<!-- Logging -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>slf4j.org.apache.commons.logging</artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>slf4j.org.apache.commons.logging</artifactId> -->
+<!-- </dependency> -->
</dependencies>
</project>
\ No newline at end of file
-# BND instructions
-#-----------------------------------------------------------------------
-#Tue Nov 25 13:14:59 CET 2014
-pom.id=org.argeo.commons\:org.argeo.server.jcr\:jar\:2.1.12-SNAPSHOT
-env.DESKTOP_SESSION=gnome
-env.OLDPWD=/home/mbaudier/dev/src/commons
-file.encoding.pkg=sun.io
-java.home=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/jre
-env.GDM_LANG=en_GB.utf8
-env.DISPLAY=\:0.0
-env.LS_COLORS=rs\=0\:di\=01;34\:ln\=01;36\:mh\=00\:pi\=40;33\:so\=01;35\:do\=01;35\:bd\=40;33;01\:cd\=40;33;01\:or\=40;31;01\:mi\=01;05;37;41\:su\=37;41\:sg\=30;43\:ca\=30;41\:tw\=30;42\:ow\=34;42\:st\=37;44\:ex\=01;32\:*.tar\=01;31\:*.tgz\=01;31\:*.arj\=01;31\:*.taz\=01;31\:*.lzh\=01;31\:*.lzma\=01;31\:*.tlz\=01;31\:*.txz\=01;31\:*.zip\=01;31\:*.z\=01;31\:*.Z\=01;31\:*.dz\=01;31\:*.gz\=01;31\:*.lz\=01;31\:*.xz\=01;31\:*.bz2\=01;31\:*.tbz\=01;31\:*.tbz2\=01;31\:*.bz\=01;31\:*.tz\=01;31\:*.deb\=01;31\:*.rpm\=01;31\:*.jar\=01;31\:*.rar\=01;31\:*.ace\=01;31\:*.zoo\=01;31\:*.cpio\=01;31\:*.7z\=01;31\:*.rz\=01;31\:*.jpg\=01;35\:*.jpeg\=01;35\:*.gif\=01;35\:*.bmp\=01;35\:*.pbm\=01;35\:*.pgm\=01;35\:*.ppm\=01;35\:*.tga\=01;35\:*.xbm\=01;35\:*.xpm\=01;35\:*.tif\=01;35\:*.tiff\=01;35\:*.png\=01;35\:*.svg\=01;35\:*.svgz\=01;35\:*.mng\=01;35\:*.pcx\=01;35\:*.mov\=01;35\:*.mpg\=01;35\:*.mpeg\=01;35\:*.m2v\=01;35\:*.mkv\=01;35\:*.ogm\=01;35\:*.mp4\=01;35\:*.m4v\=01;35\:*.mp4v\=01;35\:*.vob\=01;35\:*.qt\=01;35\:*.nuv\=01;35\:*.wmv\=01;35\:*.asf\=01;35\:*.rm\=01;35\:*.rmvb\=01;35\:*.flc\=01;35\:*.avi\=01;35\:*.fli\=01;35\:*.flv\=01;35\:*.gl\=01;35\:*.dl\=01;35\:*.xcf\=01;35\:*.xwd\=01;35\:*.yuv\=01;35\:*.cgm\=01;35\:*.emf\=01;35\:*.axv\=01;35\:*.anx\=01;35\:*.ogv\=01;35\:*.ogx\=01;35\:*.aac\=01;36\:*.au\=01;36\:*.flac\=01;36\:*.mid\=01;36\:*.midi\=01;36\:*.mka\=01;36\:*.mp3\=01;36\:*.mpc\=01;36\:*.ogg\=01;36\:*.ra\=01;36\:*.wav\=01;36\:*.axa\=01;36\:*.oga\=01;36\:*.spx\=01;36\:*.xspf\=01;36\:
-pom.contributors=
-project.build.developers=
-classworlds.conf=/opt/apache-maven/bin/m2.conf
-env.XDG_SESSION_COOKIE=9bf883dac7be1df0f982e1dd0000003a-1416578122.683229-877522490
-pom.pomFile=/home/mbaudier/dev/src/commons/org.argeo.server.jcr/pom.xml
-java.endorsed.dirs=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/jre/lib/endorsed
-project.build.groupId=org.argeo.commons
-env.LOGNAME=mbaudier
-env.USERNAME=mbaudier
-project.build.scm=org.apache.maven.model.Scm@14f65802
-env.SESSION_MANAGER=local/unix\:@/tmp/.ICE-unix/17546,unix/unix\:/tmp/.ICE-unix/17546
-env.KDEDIRS=/usr
-sun.os.patch.level=unknown
-java.vendor.url=http\://java.oracle.com/
-pom.profiles=
-env.G_BROKEN_FILENAMES=1
-maven-symbolicname=org.argeo.commons.org.argeo.server.jcr
-java.version=1.7.0_71
-env.ORBIT_SOCKETDIR=/tmp/orbit-mbaudier
-project.build.contributors=
-version.argeo-commons=2.1.12-SNAPSHOT
-java.vendor.url.bug=http\://bugreport.sun.com/bugreport/
-user.name=mbaudier
-env.LANG=en_GB.utf8
-env.CVS_RSH=ssh
-project.build.pomFile=/home/mbaudier/dev/src/commons/org.argeo.server.jcr/pom.xml
-sun.io.unicode.encoding=UnicodeLittle
-sun.jnu.encoding=UTF-8
-env.DBUS_SESSION_BUS_ADDRESS=unix\:abstract\=/tmp/dbus-OazDk3vN1t,guid\=230af52c9acfa834ca05b3b0000059f6
-java.runtime.name=OpenJDK Runtime Environment
-project.build.outputdirectory=/home/mbaudier/dev/src/commons/org.argeo.server.jcr/target/classes
-env.SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
-rpm.release=6
-project.version=2.1.12-SNAPSHOT
-java.specification.name=Java Platform API Specification
-user.timezone=
-env.LESSOPEN=||/usr/bin/lesspipe.sh %s
-pom.mailingLists=
-path.separator=\:
-project.contributors=
-project.inceptionYear=2007
-pom.artifactId=org.argeo.server.jcr
-env.MAVEN_CMD_LINE_ARGS=-o clean install
-project.name=Commons Server JCR
-env.XMODIFIERS=@im\=none
-file.encoding=UTF-8
-env.HOME=/home/mbaudier
-sun.java.command=org.codehaus.plexus.classworlds.launcher.Launcher -o clean install
-env.GTK_RC_FILES=/etc/gtk/gtkrc\:/home/mbaudier/.gtkrc-1.2-gnome2
-project.id=org.argeo.commons\:org.argeo.server.jcr\:jar\:2.1.12-SNAPSHOT
-env.HOSTNAME=mostar
-Export-Package=org.argeo.jcr.*
-Bundle-License=http\://www.apache.org/licenses/LICENSE-2.0.txt
-java.io.tmpdir=/tmp
-project.build.mailingLists=
-env.GNOME_KEYRING_PID=17536
-user.language=en
-Include-Resource=org/argeo/jcr/argeo.cnd\=src/main/resources/org/argeo/jcr/argeo.cnd
-env.HISTCONTROL=ignoredups
-line.separator=\n
-project.build.directory=/home/mbaudier/dev/src/commons/org.argeo.server.jcr/target
-env.HISTSIZE=1000
-java.vm.info=mixed mode
-developmentCycle.argeo-commons.startDate=2012-12-19
-sun.desktop=gnome
-java.vm.specification.name=Java Virtual Machine Specification
-project.modelEncoding=UTF-8
-env.COLORTERM=gnome-terminal
-project.build.id=org.argeo.commons\:org.argeo.server.jcr\:jar\:2.1.12-SNAPSHOT
-project.build.licenses=org.apache.maven.model.License@390bf60e
-version.rap.addons=0.5.0.argeo.20141029
-pom.modelVersion=4.0.0
-project.licenses=org.apache.maven.model.License@390bf60e
-env.GDMSESSION=gnome
-project.developers=
-java.awt.printerjob=sun.print.PSPrinterJob
--removeheaders=Bnd-LastModified,Build-Jdk,Built-By,Tool,Created-By
-pom.version=2.1.12-SNAPSHOT
-env.WINDOWID=73400323
-pom.scm=org.apache.maven.model.Scm@14f65802
--plugin=org.apache.felix.bundleplugin.BlueprintPlugin,aQute.lib.spring.SpringXMLType
-project.mailingLists=
-pom.packaging=jar
-project.build.parent=org.argeo.commons\:argeo-commons\:pom\:2.1.12-SNAPSHOT
-project.projectDirectory=/home/mbaudier/dev/src/commons/org.argeo.server.jcr
-os.name=Linux
-project.build.modelVersion=4.0.0
-java.specification.vendor=Oracle Corporation
-env.TERM=xterm
-java.vm.name=OpenJDK 64-Bit Server VM
-env.QT_IM_MODULE=xim
-java.library.path=/usr/java/packages/lib/amd64\:/usr/lib64\:/lib64\:/lib\:/usr/lib
-project.build.build=org.apache.maven.model.Build@40472e64
-env.PATH=/usr/lib64/qt-3.3/bin\:/usr/local/bin\:/usr/bin\:/bin\:/usr/local/sbin\:/usr/sbin\:/sbin\:/home/mbaudier/bin
-pom.build=org.apache.maven.model.Build@40472e64
-java.class.version=51.0
-env.SHLVL=2
-project.build.version=2.1.12-SNAPSHOT
-env.GNOME_KEYRING_SOCKET=/tmp/keyring-YLbPHE/socket
-pom.parent=org.argeo.commons\:argeo-commons\:pom\:2.1.12-SNAPSHOT
-pom.projectDirectory=/home/mbaudier/dev/src/commons/org.argeo.server.jcr
-project.modelVersion=4.0.0
-rpm.stagingRepository=/srv/rpmfactory/argeo-osgi-2-staging/6/x86_64
-Bundle-SymbolicName=org.argeo.server.jcr
-sun.boot.library.path=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/jre/lib/amd64
-project.build.sourceEncoding=UTF-8
-Private-Package=org.argeo.jcr;org.argeo.jcr.proxy;org.argeo.jcr.security;org.argeo.jcr.spring;org.argeo.jcr.tabular;org.argeo.jcr.unit;-split-package\:\=merge-first
-project.build.artifactId=org.argeo.server.jcr
-sun.management.compiler=HotSpot 64-Bit Tiered Compilers
-java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
-pom.name=Commons Server JCR
-env.USER=mbaudier
-pom.developers=
-project.build=org.apache.maven.model.Build@40472e64
-project.scm=org.apache.maven.model.Scm@14f65802
-project.baseDir=/home/mbaudier/dev/src/commons/org.argeo.server.jcr
-project.build.name=Commons Server JCR
-java.vm.specification.version=1.7
-env.KDE_IS_PRELINKED=1
-project.build.inceptionYear=2007
-env.GDM_KEYBOARD_LAYOUT=de
-project.groupId=org.argeo.commons
-Bundle-Version=2.1.12-SNAPSHOT-r${tstamp}
-env.NLSPATH=/usr/dt/lib/nls/msg/%L/%N.cat
-awt.toolkit=sun.awt.X11.XToolkit
-project.build.profiles=
-sun.cpu.isalist=
-developmentCycle.argeo-commons=2.1
-project.profiles=
-java.ext.dirs=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/jre/lib/ext\:/usr/java/packages/lib/ext
-Import-Package=junit.framework;resolution\:\=optional,org.xml.sax;version\="0.0.0",org.springframework.core;resolution\:\=optional,org.springframework.core.io;resolution\:\=optional,org.springframework.*;resolution\:\=optional,*
-os.version=2.6.32-504.1.3.el6.x86_64
-user.home=/home/mbaudier
-java.vm.vendor=Oracle Corporation
-env.JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64
-SLC-Category=org.argeo.commons
-env.XAUTHORITY=/var/run/gdm/auth-for-mbaudier-7t5RHJ/database
-user.dir=/home/mbaudier/dev/src/commons
-env.XFILESEARCHPATH=/usr/dt/app-defaults/%L/Dt
-env.WINDOWPATH=1
-env.MAIL=/var/spool/mail/mbaudier
-project.build.modelEncoding=UTF-8
-env.PWD=/home/mbaudier/dev/src/commons
-project.parent=org.argeo.commons\:argeo-commons\:pom\:2.1.12-SNAPSHOT
-sun.cpu.endian=little
-env.QTLIB=/usr/lib64/qt-3.3/lib
-pom.licenses=org.apache.maven.model.License@390bf60e
-project.dir=/home/mbaudier/dev/src/commons/org.argeo.server.jcr
-classifier=
-version.argeo-distribution=1.4.0
-java.vm.version=24.65-b04
-java.class.path=/opt/apache-maven/boot/plexus-classworlds-2.5.1.jar
-env.QTDIR=/usr/lib64/qt-3.3
-os.arch=amd64
-maven.build.version=Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-11T22\:58\:10+02\:00)
-project.build.projectDirectory=/home/mbaudier/dev/src/commons/org.argeo.server.jcr
-version.rap=2.2.0-R-20131204-0942
-sun.java.launcher=SUN_STANDARD
-pom.inceptionYear=2007
-env.IMSETTINGS_INTEGRATE_DESKTOP=yes
-project.packaging=jar
-java.vm.specification.vendor=Oracle Corporation
-file.separator=/
-java.runtime.version=1.7.0_71-mockbuild_2014_10_17_22_23-b00
-project.pomFile=/home/mbaudier/dev/src/commons/org.argeo.server.jcr/pom.xml
-env.SSH_AUTH_SOCK=/tmp/keyring-YLbPHE/socket.ssh
-sun.boot.class.path=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/jre/lib/resources.jar\:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/jre/lib/rt.jar\:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/jre/lib/sunrsasign.jar\:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/jre/lib/jsse.jar\:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/jre/lib/jce.jar\:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/jre/lib/charsets.jar\:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/jre/lib/rhino.jar\:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/jre/lib/jfr.jar\:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/jre/classes
-project.build.packaging=jar
-maven.version=3.2.3
-project.artifactId=org.argeo.server.jcr
-env.QTINC=/usr/lib64/qt-3.3/include
-user.country=GB
-pom.modelEncoding=UTF-8
-maven.home=/opt/apache-maven
-env.SHELL=/bin/bash
-Bundle-RequiredExecutionEnvironment=JavaSE-1.6
--sourcepath=/home/mbaudier/dev/src/commons/org.argeo.server.jcr/src/main/java,/home/mbaudier/dev/src/commons/org.argeo.server.jcr/target/classes
-pom.groupId=org.argeo.commons
-java.vendor=Oracle Corporation
-env.GPG_AGENT_INFO=/tmp/seahorse-CQZHIM/S.gpg-agent\:17621\:1;
-env.IMSETTINGS_MODULE=none
-Bundle-Name=Commons Server JCR
-java.specification.version=1.7
-env.GNOME_DESKTOP_SESSION_ID=this-is-deprecated
-sun.arch.data.model=64
-#-----------------------------------------------------------------------
+Import-Package: junit.framework;resolution:=optional,\
+org.xml.sax;version="0.0.0",\
+org.springframework.core;resolution:=optional,\
+org.springframework.core.io;resolution:=optional,\
+org.springframework.*;resolution:=optional,\
+*
-source.. = src/main/java/,\
- src/test/java/,\
- src/test/resources/,\
- src/main/resources/
-output.. = target/classes/,\
- target/test-classes/
+source.. = src/,\
+ ext/test/
+output.. = bin/,\
+ bin/test-classes/
bin.includes = META-INF/,\
.
-additional.bundles = slf4j.api,\
- slf4j.log4j,\
- org.apache.log4j,\
- org.apache.commons.collections,\
- edu.oswego.cs.dl.util.concurrent,\
- org.apache.lucene,\
- junit,\
- org.apache.xml.serializer,\
- org.apache.commons.dbcp,\
- org.apache.commons.pool,\
- org.apache.jackrabbit,\
- org.h2,\
- org.apache.tika
+additional.bundles = org.junit,\
+ org.apache.jackrabbit.core,\
+ javax.jcr,\
+ org.apache.jackrabbit.api,\
+ org.apache.jackrabbit.data,\
+ org.apache.jackrabbit.jcr.commons,\
+ org.apache.jackrabbit.spi,\
+ org.apache.jackrabbit.spi.commons
<name>Commons Server JCR</name>
<build>
<plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Export-Package>org.argeo.jcr.*</Export-Package>
- <Import-Package>
- junit.framework;resolution:=optional,
- org.xml.sax;version="0.0.0",
- org.springframework.core;resolution:=optional,
- org.springframework.core.io;resolution:=optional,
- org.springframework.*;resolution:=optional,
- *</Import-Package>
- </instructions>
- </configuration>
- </plugin>
<plugin>
<groupId>org.argeo.maven.plugins</groupId>
<artifactId>maven-argeo-osgi-plugin</artifactId>
<version>2.1.12</version>
</dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>argeo-tp</artifactId> -->
+<!-- <version>${version.argeo-distribution}</version> -->
+<!-- <type>pom</type> -->
+<!-- <scope>provided</scope> -->
+<!-- </dependency> -->
+
<!-- JCR -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>javax.jcr</artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>javax.jcr</artifactId> -->
+<!-- </dependency> -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.apache.commons.io</artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.apache.commons.io</artifactId> -->
+<!-- </dependency> -->
<!-- Spring -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.core</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.springframework.beans</artifactId>
- <scope>provided</scope>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.springframework.core</artifactId> -->
+<!-- <scope>provided</scope> -->
+<!-- </dependency> -->
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.springframework.beans</artifactId> -->
+<!-- <scope>provided</scope> -->
+<!-- </dependency> -->
<!-- OSGi -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>org.eclipse.osgi</artifactId>
- <scope>provided</scope>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>org.eclipse.osgi</artifactId> -->
+<!-- <scope>provided</scope> -->
+<!-- </dependency> -->
<!-- Logging -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>slf4j.org.apache.commons.logging</artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>slf4j.org.apache.commons.logging</artifactId> -->
+<!-- </dependency> -->
<!-- TEST -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>junit</artifactId>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.dep.jackrabbit</artifactId>
- <version>2.1.12</version>
- <type>pom</type>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.dep.log4j</artifactId>
- <version>2.1.12</version>
- <type>pom</type>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.osgi.boot</artifactId>
- <version>2.1.12</version>
- <scope>test</scope>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>junit</artifactId> -->
+<!-- <optional>true</optional> -->
+<!-- </dependency> -->
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.commons</groupId> -->
+<!-- <artifactId>org.argeo.dep.jackrabbit</artifactId> -->
+<!-- <version>2.1.12-SNAPSHOT</version> -->
+<!-- <type>pom</type> -->
+<!-- <scope>test</scope> -->
+<!-- </dependency> -->
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.commons</groupId> -->
+<!-- <artifactId>org.argeo.dep.log4j</artifactId> -->
+<!-- <version>2.1.12-SNAPSHOT</version> -->
+<!-- <type>pom</type> -->
+<!-- <scope>test</scope> -->
+<!-- </dependency> -->
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.commons</groupId> -->
+<!-- <artifactId>org.argeo.osgi.boot</artifactId> -->
+<!-- <version>2.1.12-SNAPSHOT</version> -->
+<!-- <scope>test</scope> -->
+<!-- </dependency> -->
</dependencies>
</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.server.rap.webapp</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-#Tue Mar 01 15:09:47 CET 2011
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
+++ /dev/null
-<!-- Spring OSGi Web 1.2.1 doesn't take context.xml files into account, so
- we set cookies to false at deployment -->
-<Context cookies="false">
-</Context>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
-
- <import resource="osgi.xml" />
- <import resource="security-filters.xml" />
- <!-- <import resource="security.xml" /> -->
-
- <bean
- class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
- <property name="locations">
- <value>osgibundle:rap-webapp.properties</value>
- </property>
- </bean>
-
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans:beans xmlns="http://www.springframework.org/schema/osgi"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"\r
- xmlns:security="http://www.springframework.org/schema/security"\r
- xsi:schemaLocation="http://www.springframework.org/schema/osgi \r
- http://www.springframework.org/schema/osgi/spring-osgi-1.1.xsd\r
- http://www.springframework.org/schema/beans \r
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd\r
- http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.xsd">\r
-\r
- <reference id="authenticationManager"\r
- interface="org.springframework.security.AuthenticationManager" />\r
- <reference id="userDetailsService"\r
- interface="org.springframework.security.userdetails.UserDetailsService"\r
- cardinality="0..1" />\r
-</beans:beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:sec="http://www.springframework.org/schema/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:aop="http://www.springframework.org/schema/aop"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.4.xsd">
-
- <bean id="springSecurityFilterChain" class="org.springframework.security.util.FilterChainProxy">
- <sec:filter-chain-map path-type="ant">
- <sec:filter-chain pattern="/private"
- filters="session,x509,basic,rememberMe,exception,interceptor" />
- <sec:filter-chain pattern="/basicauth"
- filters="session,x509,basic,exception,interceptor" />
- <sec:filter-chain pattern="/clientauth"
- filters="session,x509,exception,interceptor" />
- <!-- <sec:filter-chain pattern="/node" filters="session,x509,exception,interceptor" /> -->
- <sec:filter-chain pattern="/public"
- filters="session,anonymous,exception,interceptorPublic" />
- <sec:filter-chain pattern="/j_spring_security_logout"
- filters="session,logout,exception" />
- </sec:filter-chain-map>
- </bean>
-
- <!-- The actual authorization checks (called last, but first here for ease
- of configuration) -->
- <bean id="interceptor" parent="filterInvocationInterceptorTemplate">
- <property name="objectDefinitionSource">
- <value>
- PATTERN_TYPE_APACHE_ANT
- /**=ROLE_USER,ROLE_ADMIN
- </value>
- </property>
- </bean>
- <bean id="interceptorPublic" parent="filterInvocationInterceptorTemplate">
- <property name="objectDefinitionSource">
- <value>
- PATTERN_TYPE_APACHE_ANT
- /**=IS_AUTHENTICATED_ANONYMOUSLY
- </value>
- </property>
- </bean>
-
- <bean id="x509"
- class="org.springframework.security.ui.preauth.x509.X509PreAuthenticatedProcessingFilter">
- <property name="authenticationManager" ref="authenticationManager" />
- <property name="principalExtractor">
- <bean
- class="org.springframework.security.ui.preauth.x509.SubjectDnX509PrincipalExtractor">
- <property name="subjectDnRegex" value="CN=(.*?)," />
- </bean>
- </property>
- </bean>
-
- <!-- Integrates the authentication information in the http sessions -->
- <bean id="session"
- class="org.springframework.security.context.HttpSessionContextIntegrationFilter">
- <property name="allowSessionCreation" value="true" />
- </bean>
-
- <!-- Processes logouts, removing both session informations and the remember-me
- cookie from the browser -->
- <bean id="logout" class="org.springframework.security.ui.logout.LogoutFilter">
- <constructor-arg value="/logout" />
- <constructor-arg>
- <list>
- <ref bean="rememberMeServices" />
- <bean
- class="org.springframework.security.ui.logout.SecurityContextLogoutHandler" />
- </list>
- </constructor-arg>
- </bean>
-
- <!-- Use the remember me cookie to authenticate -->
- <bean id="rememberMe"
- class="org.springframework.security.ui.rememberme.RememberMeProcessingFilter">
- <property name="authenticationManager" ref="authenticationManager" />
- <property name="rememberMeServices" ref="rememberMeServices" />
- </bean>
-
- <bean id="rememberMeServices"
- class="org.springframework.security.ui.rememberme.TokenBasedRememberMeServices">
- <property name="userDetailsService" ref="userDetailsService" />
- <property name="key" value="${argeo.security.systemKey}" />
- <property name="alwaysRemember" value="true" />
- </bean>
-
- <!-- Basic authentication -->
- <bean id="basic"
- class="org.springframework.security.ui.basicauth.BasicProcessingFilter">
- <property name="authenticationManager">
- <ref bean="authenticationManager" />
- </property>
- <property name="authenticationEntryPoint">
- <ref local="basicProcessingFilterEntryPoint" />
- </property>
- <property name="rememberMeServices" ref="rememberMeServices" />
- </bean>
-
- <!-- Activate basic auth when needed -->
- <bean id="basicProcessingFilterEntryPoint"
- class="org.springframework.security.ui.basicauth.BasicProcessingFilterEntryPoint">
- <property name="realmName">
- <value>${argeo.server.realmName}</value>
- </property>
- </bean>
-
- <!-- If everything else failed, anonymous authentication -->
- <bean id="anonymous"
- class="org.springframework.security.providers.anonymous.AnonymousProcessingFilter">
- <property name="key" value="${argeo.security.systemKey}" />
- <property name="userAttribute" value="anonymous,ROLE_ANONYMOUS" />
- </bean>
-
- <!-- Reacts to security related exceptions -->
- <bean id="exception"
- class="org.springframework.security.ui.ExceptionTranslationFilter">
- <property name="authenticationEntryPoint">
- <ref bean="basicProcessingFilterEntryPoint" />
- </property>
- <property name="accessDeniedHandler">
- <bean class="org.springframework.security.ui.AccessDeniedHandlerImpl">
- <property name="errorPage" value="/error" />
- </bean>
- </property>
- </bean>
-
- <!-- Template for authorization checks -->
- <bean id="filterInvocationInterceptorTemplate" abstract="true"
- class="org.springframework.security.intercept.web.FilterSecurityInterceptor">
- <property name="authenticationManager" ref="authenticationManager" />
- <property name="accessDecisionManager">
- <bean class="org.springframework.security.vote.AffirmativeBased">
- <property name="allowIfAllAbstainDecisions" value="false" />
- <property name="decisionVoters">
- <list>
- <bean class="org.springframework.security.vote.RoleVoter" />
- <bean class="org.springframework.security.vote.AuthenticatedVoter" />
- </list>
- </property>
- </bean>
- </property>
- </bean>
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
-
-
- <bean id="urlMapping"
- class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
- <property name="mappings">
- <props>
- <prop key="*">osgiServiceController</prop>
- </props>
- </property>
- </bean>
-
- <bean id="osgiServiceController"
- class="org.springframework.web.servlet.mvc.ServletWrappingController">
- <property name="servletClass">
- <value>org.eclipse.equinox.http.servlet.HttpServiceServlet</value>
- </property>
- <property name="servletName">
- <value>osgiService</value>
- </property>
- </bean>
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- version="2.5">
-
- <display-name>Argeo OSGi Webapp</display-name>
-
- <!-- General -->
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>/WEB-INF/applicationContext.xml</param-value>
- </context-param>
-
- <listener>
- <display-name>Spring Context</display-name>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
- <context-param>
- <param-name>contextClass</param-name>
- <param-value>org.springframework.osgi.web.context.support.OsgiBundleXmlWebApplicationContext</param-value>
- </context-param>
-
- <!-- OSGi Http Service -->
- <servlet>
- <servlet-name>service</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <init-param>
- <param-name>contextClass</param-name>
- <param-value>org.springframework.osgi.web.context.support.OsgiBundleXmlWebApplicationContext</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>service</servlet-name>
- <url-pattern>/*</url-pattern>
- </servlet-mapping>
-
- <!-- Security -->
- <filter>
- <filter-name>springSecurityFilterChain</filter-name>
- <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
- </filter>
-<!---->
- <filter-mapping>
- <filter-name>springSecurityFilterChain</filter-name>
- <url-pattern>/private</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>springSecurityFilterChain</filter-name>
- <url-pattern>/basicauth</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>springSecurityFilterChain</filter-name>
- <url-pattern>/clientauth</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>springSecurityFilterChain</filter-name>
- <url-pattern>/none</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>springSecurityFilterChain</filter-name>
- <url-pattern>/public</url-pattern>
- </filter-mapping>
-
-</web-app>
+++ /dev/null
-Web-ContextPath: ui
-Import-Package: org.springframework.beans.factory.config,\
-org.eclipse.equinox.http.servlet,\
-org.springframework.osgi.web.context.support,\
-org.springframework.security,\
-org.springframework.security.context,\
-org.springframework.security.intercept.web,\
-org.springframework.security.providers.anonymous,\
-org.springframework.security.ui,\
-org.springframework.security.ui.basicauth,\
-org.springframework.security.ui.logout,\
-org.springframework.security.ui.rememberme,\
-org.springframework.security.ui.webapp,\
-org.springframework.security.ui.preauth.x509,\
-org.springframework.security.userdetails,\
-org.springframework.security.util,\
-org.springframework.security.vote,\
-org.springframework.security.wrapper,\
-org.springframework.web.context,\
-org.springframework.web.filter,\
-org.springframework.web.servlet,\
-org.springframework.web.servlet.handler,\
-org.springframework.web.servlet.mvc,\
-*
\ No newline at end of file
+++ /dev/null
-bin.includes = META-INF/,\
- WEB-INF/
+++ /dev/null
-<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/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.argeo.commons</groupId>
- <version>2.1.12</version>
- <artifactId>argeo-commons</artifactId>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.server.rap.webapp</artifactId>
- <name>Commons Server RAP Webapp</name>
- <description>Integrates into OSGi HTTP registry</description>
-</project>
\ No newline at end of file
+++ /dev/null
-argeo.security.systemKey=argeo
-argeo.server.realmName=Argeo
\ No newline at end of file
-additional.bundles = junit
source.. = src/,\
ext/test/
output.. = bin/
+additional.bundles = org.junit
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><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/maven-v4_0_0.xsd">
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.argeo.commons</groupId>
</parent>
<artifactId>org.argeo.util</artifactId>
<name>Commons Util (no third party dependencies)</name>
- <dependencies>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
+ <!-- <dependencies> -->
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.tp</groupId> -->
+ <!-- <artifactId>junit</artifactId> -->
+ <!-- <scope>test</scope> -->
+ <!-- </dependency> -->
+ <!-- </dependencies> -->
+<!-- <dependencies> -->
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>argeo-tp</artifactId> -->
+<!-- <version>${version.argeo-distribution}</version> -->
+<!-- <type>pom</type> -->
+<!-- <scope>provided</scope> -->
+<!-- </dependency> -->
+<!-- </dependencies> -->
</project>
\ No newline at end of file
<version.argeo-commons>2.1.12</version.argeo-commons>
<developmentCycle.argeo-commons>2.1</developmentCycle.argeo-commons>
<developmentCycle.argeo-commons.startDate>2012-12-19</developmentCycle.argeo-commons.startDate>
- <version.argeo-distribution>1.4.0</version.argeo-distribution>
- <version.rap>2.2.0-R-20131204-0942</version.rap>
- <version.rap.addons>0.5.0.argeo.20141029</version.rap.addons>
+ <version.argeo-distribution>2.1.5</version.argeo-distribution>
<!-- RPM -->
<rpm.release>6</rpm.release>
<rpm.stagingRepository>/srv/rpmfactory/argeo-osgi-2-staging/6/x86_64</rpm.stagingRepository>
<module>org.argeo.util</module>
<module>org.argeo.osgi.boot</module>
<module>org.argeo.server.jcr</module>
- <!-- Eclipse -->
- <module>org.argeo.eclipse.ui</module>
- <module>org.argeo.eclipse.ui.rap</module>
- <module>org.argeo.eclipse.ui.rcp</module>
<!-- Security -->
<module>org.argeo.security.core</module>
<module>org.argeo.security.jackrabbit</module>
<module>org.argeo.security.ldap</module>
- <module>org.argeo.security.mvc</module>
<!-- Security Services -->
<module>org.argeo.security.auth.ldap</module>
<module>org.argeo.security.dao.ldap</module>
<module>org.argeo.security.dao.cli</module>
- <module>org.argeo.security.dao.os</module>
<module>org.argeo.security.dao.jackrabbit</module>
- <!-- Servers -->
+ <!-- Server -->
+ <module>org.argeo.server.core</module>
<module>org.argeo.server.jcr.mvc</module>
<module>org.argeo.server.jackrabbit</module>
- <module>org.argeo.jackrabbit.webapp</module>
- <module>org.argeo.server.ads</module>
- <module>org.argeo.server.ads.server</module>
- <module>org.argeo.server.rap.webapp</module>
- <!-- Node -->
+ <!-- Eclipse -->
+ <module>org.argeo.eclipse.ui</module>
+ <module>org.argeo.eclipse.ui.rap</module>
+ <!-- Argeo Node -->
<module>org.argeo.node.repo.jackrabbit</module>
<module>org.argeo.cms</module>
- <!-- Standard Workbench Perspectives -->
+ <!-- Workbench -->
<module>org.argeo.eclipse.ui.workbench</module>
<module>org.argeo.security.equinox</module>
<module>org.argeo.security.ui</module>
<module>org.argeo.security.ui.admin</module>
- <!-- Standard Workbench Products -->
<module>org.argeo.security.ui.rap</module>
- <module>org.argeo.security.ui.rcp</module>
- <!-- Legacy -->
- <module>org.argeo.server.core</module>
- <module>org.argeo.ext.jdbm</module>
<!-- Dependencies and Distributions -->
<module>dep</module>
<module>dist</module>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
- <source>1.6</source>
- <target>1.6</target>
+ <source>1.7</source>
+ <target>1.7</target>
<compilerId>eclipse</compilerId>
<!-- Hack to work around issues with generated annotations : -->
<generatedSourcesDirectory>target/classes</generatedSourcesDirectory>
<_include>bnd.bnd</_include>
<Bundle-Version>${project.version}-r${tstamp}</Bundle-Version>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
- <Bundle-RequiredExecutionEnvironment>JavaSE-1.6</Bundle-RequiredExecutionEnvironment>
+ <Bundle-RequiredExecutionEnvironment>JavaSE-1.7</Bundle-RequiredExecutionEnvironment>
<_removeheaders>Bnd-LastModified,Build-Jdk,Built-By,Tool,Created-By</_removeheaders>
<!-- SLC specific instructions -->
<SLC-Category>${project.groupId}</SLC-Category>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
- <version>2.1</version>
+ <version>2.1-alpha-1</version>
<extensions>true</extensions>
<configuration>
<version>${project.version}</version>
+ <release>1.el${rpm.release}</release>
+ <distribution>argeo${rpm.release}</distribution>
<group>Applications/System</group>
<prefix>/usr</prefix>
</configuration>
</plugin>
</plugins>
</build>
- <!-- <dependencies> -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp</groupId> -->
- <!-- <artifactId>binaries</artifactId> -->
- <!-- <type>pom</type> -->
- <!-- <version>${version.argeo-distribution}</version> -->
- <!-- <scope>compile</scope> -->
- <!-- </dependency> -->
- <!-- </dependencies> -->
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>binaries</artifactId>
- <version>${version.argeo-distribution}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <!-- Eclipse RAP -->
- <dependency>
- <groupId>org.argeo.tp.rap</groupId>
- <artifactId>binaries</artifactId>
- <version>${version.argeo-distribution}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rap.addons</groupId>
- <artifactId>binaries</artifactId>
- <version>${version.rap.addons}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.argeo.tp.rap.platform</groupId>
- <artifactId>binaries</artifactId>
- <version>${version.rap}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.argeo.tp</groupId>
+ <artifactId>argeo-tp</artifactId>
+ <version>${version.argeo-distribution}</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
<repositories>
<repository>
<id>argeo-tp</id>
- <url>http://repo.argeo.org/data/public/java/argeo-tp-1.4</url>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>daily</updatePolicy>
- <checksumPolicy>warn</checksumPolicy>
- </releases>
- </repository>
- <repository>
- <id>argeo-tp-rap</id>
- <url>http://repo.argeo.org/data/public/java/eclipse-rap-2.2</url>
+ <url>https://forge.argeo.org/data/public/java/argeo-tp-2.1/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
<url>dav:https://repo.argeo.org/data/files/java/argeo-commons-${developmentCycle.argeo-commons}</url>
<uniqueVersion>false</uniqueVersion>
</repository>
- <site>
- <id>site</id>
- <url>dav:https://repo.argeo.org/data/files/docs/argeo-commons-${developmentCycle.argeo-commons}</url>
- </site>
</distributionManagement>
+ <profiles>
+ <profile>
+ <id>localrepo</id>
+ <distributionManagement>
+ <repository>
+ <id>localrepo</id>
+ <name>Internal Release Repository</name>
+ <url>dav:http://localhost:7080/data/files/java/argeo-commons-${developmentCycle.argeo-commons}</url>
+ </repository>
+ </distributionManagement>
+ </profile>
+ </profiles>
</project>