<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>org.argeo.commons</name>
+ <name>org.argeo.commons-mbaudier</name>
<comment></comment>
<projects>
</projects>
-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>
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) {
<?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">
+<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.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-SNAPSHOT</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-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>
+ <!-- <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:
* 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) {
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 {
-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-SNAPSHOT</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;
}
Import-Package: org.springframework.core,\
+org.springframework,\
org.springframework.dao,\
javax.jcr.nodetype,\
*
\ No newline at end of file
</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);
</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>
+<!-- <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>
+<!-- <dependency> -->
+<!-- <groupId>org.argeo.tp</groupId> -->
+<!-- <artifactId>javax.servlet</artifactId> -->
+<!-- </dependency> -->
</dependencies>
</project>
\ No newline at end of file
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.springframework.security.ui.rememberme.TokenBasedRememberMeServices;
+import org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices;
public class ArgeoRememberMeServices extends TokenBasedRememberMeServices {
public final static String DEFAULT_COOKIE_NAME = "ARGEO_SECURITY";
--- /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-SNAPSHOT</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-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> -->
</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,\
+*
target/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-SNAPSHOT</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-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>
+<!-- <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
-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-SNAPSHOT</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.argeo-distribution>2.1.2</version.argeo-distribution>
+ <version.eclipseIde>3.8.2</version.eclipseIde>
<version.rap>2.2.0-R-20131204-0942</version.rap>
<version.rap.addons>0.5.0.argeo.20141029</version.rap.addons>
<!-- RPM -->
<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>
+ <!-- <module>org.argeo.security.mvc</module> -->
<!-- Security Services -->
<module>org.argeo.security.auth.ldap</module>
<module>org.argeo.security.dao.ldap</module>
<!-- Servers -->
<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>
+ <!-- <module>org.argeo.jackrabbit.webapp</module> -->
+ <!-- <module>org.argeo.server.rap.webapp</module> -->
+ <!-- <module>org.argeo.server.ads</module> -->
+ <!-- <module>org.argeo.server.ads.server</module> -->
+ <!-- Eclipse -->
+ <!-- <module>org.argeo.eclipse.ui</module> -->
+ <!-- <module>org.argeo.eclipse.ui.rap</module> -->
+ <!-- <module>org.argeo.eclipse.ui.rcp</module> -->
<!-- Node -->
- <module>org.argeo.node.repo.jackrabbit</module>
- <module>org.argeo.cms</module>
+ <!-- <module>org.argeo.node.repo.jackrabbit</module> -->
+ <!-- <module>org.argeo.cms</module> -->
<!-- Standard Workbench Perspectives -->
- <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>
+ <!-- <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>
+ <!-- <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>
+ <!-- <module>org.argeo.server.core</module> -->
+ <!-- <module>org.argeo.ext.jdbm</module> -->
<!-- Dependencies and Distributions -->
- <module>dep</module>
- <module>dist</module>
+ <!-- <module>dep</module> -->
+ <!-- <module>dist</module> -->
</modules>
<scm>
<connection>scm:svn:https://svn.argeo.org/commons/trunk</connection>
<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>
<!-- <scope>compile</scope> -->
<!-- </dependency> -->
<!-- </dependencies> -->
+ <dependencies>
+ <dependency>
+ <groupId>org.argeo.tp</groupId>
+ <artifactId>argeo-tp</artifactId>
+ <version>${version.argeo-distribution}</version>
+ <scope>provided</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>
+ <!-- <dependency> -->
+ <!-- <groupId>org.argeo.tp</groupId> -->
+ <!-- <artifactId>argeo-tp</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>
+ <!-- <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.rcp.platform</groupId> -->
+ <!-- <artifactId>binaries</artifactId> -->
+ <!-- <version>${version.eclipseIde}</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>
<repositories>
<repository>
<id>argeo-tp</id>
- <url>http://repo.argeo.org/data/public/java/argeo-tp-1.4</url>
+ <url>http://localhost:7080/data/public/java/argeo-tp-2.1</url>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>daily</updatePolicy>
+ <checksumPolicy>warn</checksumPolicy>
+ </releases>
+ </repository>
+ <repository>
+ <id>argeo-tp-eclipseIde</id>
+ <url>http://localhost:7080/data/public/java/eclipse-ide-3.8</url>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</repository>
<repository>
<id>argeo-tp-rap</id>
- <url>http://repo.argeo.org/data/public/java/eclipse-rap-2.2</url>
+ <url>http://localhost:7080/data/public/java/eclipse-rap-2.2</url>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
<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>
+ <site>
+ <id>site</id>
+ <name>Argeo Commons Site</name>
+ <url>dav:http://localhost:7080/data/files/docs/argeo-commons-${developmentCycle.argeo-commons}</url>
+ </site>
+ </distributionManagement>
+ </profile>
+ </profiles>
</project>