You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by re...@apache.org on 2010/01/20 16:59:11 UTC

svn commit: r901250 - in /incubator/clerezza: issues/CLEREZZA-80/ trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.scripting/ trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.scripting/src/main/java/org/apache/clerezza/platfor...

Author: reto
Date: Wed Jan 20 15:59:10 2010
New Revision: 901250

URL: http://svn.apache.org/viewvc?rev=901250&view=rev
Log:
CLEREZZA-80: closing

Removed:
    incubator/clerezza/issues/CLEREZZA-80/
Modified:
    incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.scripting/   (props changed)
    incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.scripting/src/main/java/org/apache/clerezza/platform/scripting/ScriptGeneratedResourceTypeHandler.java
    incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security.auth.basic/   (props changed)
    incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security.auth.basic/src/main/java/org/apache/clerezza/platform/security/auth/basic/BasicAuthentication.java
    incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security/   (props changed)
    incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/   (props changed)
    incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieAuthentication.java
    incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/auth/AuthenticatingFilter.java

Propchange: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.scripting/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Wed Jan 20 15:59:10 2010
@@ -0,0 +1 @@
+/incubator/clerezza/issues/CLEREZZA-80/org.apache.clerezza.platform.scripting:900994-901238

Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.scripting/src/main/java/org/apache/clerezza/platform/scripting/ScriptGeneratedResourceTypeHandler.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.scripting/src/main/java/org/apache/clerezza/platform/scripting/ScriptGeneratedResourceTypeHandler.java?rev=901250&r1=901249&r2=901250&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.scripting/src/main/java/org/apache/clerezza/platform/scripting/ScriptGeneratedResourceTypeHandler.java (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.scripting/src/main/java/org/apache/clerezza/platform/scripting/ScriptGeneratedResourceTypeHandler.java Wed Jan 20 15:59:10 2010
@@ -39,6 +39,10 @@
 import org.apache.clerezza.rdf.core.Triple;
 import org.apache.clerezza.rdf.core.UriRef;
 import org.apache.clerezza.rdf.ontologies.SCRIPT;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.Service;
 
 /**
  * This class handles HTTP GET requests to resources of type ScriptGeneratedResource.
@@ -47,25 +51,20 @@
  * 
  * @see org.apache.clerezza.rdf.ontologies.SCRIPT#ScriptGeneratedResource
  *
- * @scr.component
- * @scr.service interface="java.lang.Object"
- * @scr.property name="org.apache.clerezza.platform.typehandler" type="Boolean" value="true"
- *
  */
+@Component
+@Service(Object.class)
+@Property(name="org.apache.clerezza.platform.typehandler", boolValue=true)
 @SupportedTypes(types = { "http://clerezza.org/2009/07/script#ScriptGeneratedResource" }, prioritize = true)
 public class ScriptGeneratedResourceTypeHandler {
 
 	private static final Logger logger =
 			LoggerFactory.getLogger(ScriptGeneratedResourceTypeHandler.class);
 
-	/**
-	 * @scr.reference
-	 */
+        @Reference
 	private ContentGraphProvider cgProvider;
 
-	/**
-	 * @scr.reference
-	 */
+        @Reference
 	private ScriptExecution scriptExecution;
 
 	/**

Propchange: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security.auth.basic/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Wed Jan 20 15:59:10 2010
@@ -0,0 +1 @@
+/incubator/clerezza/issues/CLEREZZA-80/org.apache.clerezza.platform.security.auth.basic:900994-901238

Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security.auth.basic/src/main/java/org/apache/clerezza/platform/security/auth/basic/BasicAuthentication.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security.auth.basic/src/main/java/org/apache/clerezza/platform/security/auth/basic/BasicAuthentication.java?rev=901250&r1=901249&r2=901250&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security.auth.basic/src/main/java/org/apache/clerezza/platform/security/auth/basic/BasicAuthentication.java (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.security.auth.basic/src/main/java/org/apache/clerezza/platform/security/auth/basic/BasicAuthentication.java Wed Jan 20 15:59:10 2010
@@ -25,6 +25,10 @@
 import java.security.AccessControlException;
 import org.osgi.service.component.ComponentContext;
 import org.apache.clerezza.platform.security.auth.*;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.Service;
 import org.wymiwyg.commons.util.Base64;
 import org.wymiwyg.wrhapi.HandlerException;
 import org.wymiwyg.wrhapi.HeaderName;
@@ -37,10 +41,10 @@
  *
  * @author mir
  *
- * @scr.component
- * @scr.service interface="org.apache.clerezza.platform.security.auth.WeightedAuthenticationMethod"
- * @scr.property name="weight" type="Integer" value="10"
  */
+@Component
+@Service(WeightedAuthenticationMethod.class)
+@Property(name="weight", intValue=10)
 public class BasicAuthentication implements WeightedAuthenticationMethod{
 	
 	/**
@@ -48,9 +52,7 @@
 	 */
 	private int weight = 10;
 
-	/**
-	 * @scr.reference
-	 */
+        @Reference
 	AuthenticationChecker authenticationChecker;
 
 	public void activate(ComponentContext componentContext) {

Propchange: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Wed Jan 20 15:59:10 2010
@@ -0,0 +1 @@
+/incubator/clerezza/issues/CLEREZZA-80/org.apache.clerezza.platform.security:900994-901238

Propchange: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Wed Jan 20 15:59:10 2010
@@ -0,0 +1 @@
+/incubator/clerezza/issues/CLEREZZA-80/org.apache.clerezza.platform.security.auth.cookie:900994-901238

Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieAuthentication.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieAuthentication.java?rev=901250&r1=901249&r2=901250&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieAuthentication.java (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security.auth.cookie/src/main/java/org/apache/clerezza/platform/security/auth/cookie/CookieAuthentication.java Wed Jan 20 15:59:10 2010
@@ -28,6 +28,10 @@
 import javax.ws.rs.core.Cookie;
 import org.osgi.service.component.ComponentContext;
 import org.apache.clerezza.platform.security.auth.*;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.Service;
 import org.wymiwyg.commons.util.Base64;
 import org.wymiwyg.wrhapi.HandlerException;
 import org.wymiwyg.wrhapi.HeaderName;
@@ -40,10 +44,10 @@
  *
  * @author mir
  *
- * @scr.component
- * @scr.service interface="org.apache.clerezza.platform.security.auth.WeightedAuthenticationMethod"
- * @scr.property name="weight" type="Integer" value="20"
  */
+@Component
+@Service(WeightedAuthenticationMethod.class)
+@Property(name="weight", intValue=20)
 public class CookieAuthentication implements WeightedAuthenticationMethod{
 
 	/**
@@ -57,9 +61,7 @@
 	 */
 	private int weight = 20;
 
-	/**
-	 * @scr.reference
-	 */
+        @Reference
 	AuthenticationChecker authenticationChecker;
 
 	public void activate(ComponentContext componentContext) {

Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/auth/AuthenticatingFilter.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/auth/AuthenticatingFilter.java?rev=901250&r1=901249&r2=901250&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/auth/AuthenticatingFilter.java (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.security/src/main/java/org/apache/clerezza/platform/security/auth/AuthenticatingFilter.java Wed Jan 20 15:59:10 2010
@@ -16,141 +16,145 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.clerezza.platform.security.auth;
-
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
-
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.SortedSet;
-import java.util.TreeSet;
-import javax.security.auth.Subject;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.wymiwyg.wrhapi.Handler;
-import org.wymiwyg.wrhapi.HandlerException;
-import org.wymiwyg.wrhapi.Request;
-import org.wymiwyg.wrhapi.Response;
-import org.wymiwyg.wrhapi.filter.Filter;
-
-/**
- * 
- * @author reto
- * 
- * @scr.component 
- *                name="org.apache.clerezza.platform.security.auth.AuthenticatingFilter"
- * @scr.service interface="org.wymiwyg.wrhapi.filter.Filter"
- * @scr.reference name="weightedAuthenticationMethod"
- *     cardinality="1..n" policy="dynamic"
- *     interface="org.apache.clerezza.platform.security.auth.WeightedAuthenticationMethod"
- */
-public class AuthenticatingFilter implements Filter {
-
-	private final Logger logger = LoggerFactory.getLogger(AuthenticatingFilter.class);
-	private SortedSet<WeightedAuthenticationMethod> methodList =
-			new TreeSet<WeightedAuthenticationMethod>(new WeightedAuthMethodComparator());
-	public static final Subject ANONYMOUS_SUBJECT = new Subject(true,
-			Collections.singleton(new PrincipalImpl("anonymous")), Collections.EMPTY_SET,
-			Collections.EMPTY_SET);
-
-	@Override
-	public void handle(final Request request, final Response response,
-			final Handler wrapped) throws HandlerException {
-
-		String userName = null;
-		AuthenticationMethod authenticationMethod = null;
-		try {
-			for (Iterator<WeightedAuthenticationMethod> it = methodList.iterator(); it.hasNext();) {
-				authenticationMethod = it.next();
-				userName = authenticationMethod.authenticate(request);
-				if (userName != null) {
-					break;
-				}
-			}
-		} catch (LoginException ex) {
-			if (!authenticationMethod.writeLoginResponse(request, response, ex)) {
-				writeLoginResponse(request, response, ex);
-			}
-			return;
-		}
-
-		Subject subject;
-		if (userName == null) {
-			subject = ANONYMOUS_SUBJECT;
-		} else {
-			subject = new Subject();
-			subject.getPrincipals().add(new PrincipalImpl(userName));
-		}
-		try {
-			Subject.doAsPrivileged(subject, new PrivilegedExceptionAction() {
-
-				@Override
-				public Object run() throws Exception {
-					wrapped.handle(request, response);
-					return null;
-				}
-			}, null);
-
-		} catch (PrivilegedActionException e) {
-			Throwable cause = e.getCause();
-			if (cause instanceof HandlerException) {
-				throw (HandlerException) cause;
-			}
-			if (cause instanceof RuntimeException) {
-				throw (RuntimeException) cause;
-			}
-			throw new RuntimeException(e);
-		} catch (SecurityException e) {
-			logger.debug("SecurityException: {}", e);
-			writeLoginResponse(request, response, e);
-		}
-	}
-
-	/**
-	 * Registers a <code>WeightedAuthenticationMethod</code>
-	 *
-	 * @param method the method to be registered
-	 */
-	protected void bindWeightedAuthenticationMethod(WeightedAuthenticationMethod method) {
-		methodList.add(method);
-	}
-
-	/**
-	 * Unregister a <code>WeightedAuthenticationMethod</code>
-	 *
-	 * @param method the method to be deregistered
-	 */
-	protected void unbindWeightedAuthenticationMethod(WeightedAuthenticationMethod method) {
-		methodList.remove(method);
-	}
-
-	/**
-	 * Compares the WeightedAuthenticationMethods, descending for weight and ascending by name
-	 */
-	static class WeightedAuthMethodComparator
-			implements Comparator<WeightedAuthenticationMethod> {
-
-		@Override
-		public int compare(WeightedAuthenticationMethod o1,
-				WeightedAuthenticationMethod o2) {
-			int o1Weight = o1.getWeight();
-			int o2Weight = o2.getWeight();
-			if (o1Weight != o2Weight) {
-				return o2Weight - o1Weight;
-			}
-			return o1.getClass().toString().compareTo(o2.getClass().toString());
-		}
-	}
-
-	private void writeLoginResponse(final Request request, final Response response, Throwable e) throws HandlerException {
-		for (AuthenticationMethod authMethod : methodList) {
-			if (authMethod.writeLoginResponse(request, response, e)) {
-				break;
-			}
-		}
-	}
-}
+package org.apache.clerezza.platform.security.auth;
+
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
+
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.SortedSet;
+import java.util.TreeSet;
+import javax.security.auth.Subject;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.ReferenceCardinality;
+import org.apache.felix.scr.annotations.ReferencePolicy;
+import org.apache.felix.scr.annotations.Service;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.wymiwyg.wrhapi.Handler;
+import org.wymiwyg.wrhapi.HandlerException;
+import org.wymiwyg.wrhapi.Request;
+import org.wymiwyg.wrhapi.Response;
+import org.wymiwyg.wrhapi.filter.Filter;
+
+/**
+ * 
+ * @author reto
+ */
+@Component
+@Service(Filter.class)
+@Reference(name="weightedAuthenticationMethod",
+    cardinality=ReferenceCardinality.MANDATORY_MULTIPLE,
+    policy=ReferencePolicy.DYNAMIC,
+    referenceInterface=WeightedAuthenticationMethod.class)
+public class AuthenticatingFilter implements Filter {
+
+	private final Logger logger = LoggerFactory.getLogger(AuthenticatingFilter.class);
+	private SortedSet<WeightedAuthenticationMethod> methodList =
+			new TreeSet<WeightedAuthenticationMethod>(new WeightedAuthMethodComparator());
+	public static final Subject ANONYMOUS_SUBJECT = new Subject(true,
+			Collections.singleton(new PrincipalImpl("anonymous")), Collections.EMPTY_SET,
+			Collections.EMPTY_SET);
+
+	@Override
+	public void handle(final Request request, final Response response,
+			final Handler wrapped) throws HandlerException {
+
+		String userName = null;
+		AuthenticationMethod authenticationMethod = null;
+		try {
+			for (Iterator<WeightedAuthenticationMethod> it = methodList.iterator(); it.hasNext();) {
+				authenticationMethod = it.next();
+				userName = authenticationMethod.authenticate(request);
+				if (userName != null) {
+					break;
+				}
+			}
+		} catch (LoginException ex) {
+			if (!authenticationMethod.writeLoginResponse(request, response, ex)) {
+				writeLoginResponse(request, response, ex);
+			}
+			return;
+		}
+
+		Subject subject;
+		if (userName == null) {
+			subject = ANONYMOUS_SUBJECT;
+		} else {
+			subject = new Subject();
+			subject.getPrincipals().add(new PrincipalImpl(userName));
+		}
+		try {
+			Subject.doAsPrivileged(subject, new PrivilegedExceptionAction() {
+
+				@Override
+				public Object run() throws Exception {
+					wrapped.handle(request, response);
+					return null;
+				}
+			}, null);
+
+		} catch (PrivilegedActionException e) {
+			Throwable cause = e.getCause();
+			if (cause instanceof HandlerException) {
+				throw (HandlerException) cause;
+			}
+			if (cause instanceof RuntimeException) {
+				throw (RuntimeException) cause;
+			}
+			throw new RuntimeException(e);
+		} catch (SecurityException e) {
+			logger.debug("SecurityException: {}", e);
+			writeLoginResponse(request, response, e);
+		}
+	}
+
+	/**
+	 * Registers a <code>WeightedAuthenticationMethod</code>
+	 *
+	 * @param method the method to be registered
+	 */
+	protected void bindWeightedAuthenticationMethod(WeightedAuthenticationMethod method) {
+		methodList.add(method);
+	}
+
+	/**
+	 * Unregister a <code>WeightedAuthenticationMethod</code>
+	 *
+	 * @param method the method to be deregistered
+	 */
+	protected void unbindWeightedAuthenticationMethod(WeightedAuthenticationMethod method) {
+		methodList.remove(method);
+	}
+
+	/**
+	 * Compares the WeightedAuthenticationMethods, descending for weight and ascending by name
+	 */
+	static class WeightedAuthMethodComparator
+			implements Comparator<WeightedAuthenticationMethod> {
+
+		@Override
+		public int compare(WeightedAuthenticationMethod o1,
+				WeightedAuthenticationMethod o2) {
+			int o1Weight = o1.getWeight();
+			int o2Weight = o2.getWeight();
+			if (o1Weight != o2Weight) {
+				return o2Weight - o1Weight;
+			}
+			return o1.getClass().toString().compareTo(o2.getClass().toString());
+		}
+	}
+
+	private void writeLoginResponse(final Request request, final Response response, Throwable e) throws HandlerException {
+		for (AuthenticationMethod authMethod : methodList) {
+			if (authMethod.writeLoginResponse(request, response, e)) {
+				break;
+			}
+		}
+	}
+}