[jbossws-commits] JBossWS SVN: r9679 - spi/trunk/src/main/java/org/jboss/wsf/spi/annotation.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Wed Mar 25 06:02:47 EDT 2009


Author: richard.opalka at jboss.com
Date: 2009-03-25 06:02:47 -0400 (Wed, 25 Mar 2009)
New Revision: 9679

Added:
   spi/trunk/src/main/java/org/jboss/wsf/spi/annotation/AuthMethod.java
   spi/trunk/src/main/java/org/jboss/wsf/spi/annotation/TransportGuarantee.java
Modified:
   spi/trunk/src/main/java/org/jboss/wsf/spi/annotation/WebContext.java
Log:
[JBWS-2565] providing helper classes

Added: spi/trunk/src/main/java/org/jboss/wsf/spi/annotation/AuthMethod.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/annotation/AuthMethod.java	                        (rev 0)
+++ spi/trunk/src/main/java/org/jboss/wsf/spi/annotation/AuthMethod.java	2009-03-25 10:02:47 UTC (rev 9679)
@@ -0,0 +1,78 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.annotation;
+
+/**
+ * The authMethod is used to configure the authentication mechanism for the web service. 
+ * As a prerequisite to gaining access to any web service which are protected by an 
+ * authorization constraint, a user must have authenticated using the configured mechanism.
+ * 
+ * @author ropalka at redhat.com
+ */
+public final class AuthMethod
+{
+   
+   /**
+    * Basic authentication.
+    */
+   public static final String BASIC = "BASIC";
+   /**
+    * Client certificate based authentication.
+    */
+   public static final String CLIENT_CERT = "CLIENT-CERT";
+   
+   /**
+    * Forbidden constructor.
+    */
+   private AuthMethod()
+   {
+      super();
+   }
+
+   /**
+    * Returns string representing correct auth method value.
+    * @param s string to convert, both lowercased and uppercased values are accepted
+    * @return correct auth method value
+    * @throws IllegalArgumentException if <b>s</b> is <b>null</b> or it contains unknown value.
+    */
+   public static String valueOf(final String s)
+   {
+      if (s != null)
+      {
+         if (s.equals(""))
+         {
+            return s;
+         }
+         if (s.equals(AuthMethod.BASIC))
+         {
+            return AuthMethod.BASIC;
+         }
+         if (s.equals(AuthMethod.CLIENT_CERT))
+         {
+            return AuthMethod.CLIENT_CERT;
+         }
+      }
+      
+      throw new IllegalArgumentException("Illegal auth method value: " + s);
+   }
+   
+}

Added: spi/trunk/src/main/java/org/jboss/wsf/spi/annotation/TransportGuarantee.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/annotation/TransportGuarantee.java	                        (rev 0)
+++ spi/trunk/src/main/java/org/jboss/wsf/spi/annotation/TransportGuarantee.java	2009-03-25 10:02:47 UTC (rev 9679)
@@ -0,0 +1,95 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.annotation;
+
+/**
+ * The transportGuarantee specifies that the communication
+ * between client and server should be NONE, INTEGRAL, or
+ * CONFIDENTIAL. NONE means that the application does not require any
+ * transport guarantees. A value of INTEGRAL means that the application
+ * requires that the data sent between the client and server be sent in
+ * such a way that it can't be changed in transit. CONFIDENTIAL means
+ * that the application requires that the data be transmitted in a
+ * fashion that prevents other entities from observing the contents of
+ * the transmission. In most cases, the presence of the INTEGRAL or
+ * CONFIDENTIAL flag will indicate that the use of SSL is required.
+ * 
+ * @author ropalka at redhat.com
+ */
+public final class TransportGuarantee
+{
+   
+   /**
+    * Application does not require any transport guarantees.
+    */
+   public static final String NONE = "NONE";
+   /**
+    * Application requires that the data sent between the client and
+    * server be sent in such a way that it can't be changed in transit.
+    */
+   public static final String INTEGRAL = "INTEGRAL";
+   /**
+    * Application requires that the data be transmitted in a fashion that
+    * prevents other entities from observing the contents of the transmission.
+    */
+   public static final String CONFIDENTIAL = "CONFIDENTIAL";
+
+   /**
+    * Forbidden constructor.
+    */
+   private TransportGuarantee()
+   {
+      super();
+   }
+   
+   /**
+    * Returns string representing correct transport guarantee value.
+    * @param s string to convert, both lowercased and uppercased values are accepted
+    * @return correct transport guarantee value
+    * @throws IllegalArgumentException if <b>s</b> is <b>null</b> or it contains unknown value.
+    */
+   public static String valueOf(final String s)
+   {
+      if (s != null)
+      {
+         if (s.equals(""))
+         {
+            return s;
+         }
+         if (s.equals(TransportGuarantee.NONE))
+         {
+            return TransportGuarantee.NONE;
+         }
+         if (s.equals(TransportGuarantee.INTEGRAL))
+         {
+            return TransportGuarantee.INTEGRAL;
+         }
+         if (s.equals(TransportGuarantee.CONFIDENTIAL))
+         {
+            return TransportGuarantee.CONFIDENTIAL;
+         }
+      }
+      
+      throw new IllegalArgumentException("Illegal transport guarantee value: " + s);
+   }
+   
+}

Modified: spi/trunk/src/main/java/org/jboss/wsf/spi/annotation/WebContext.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/annotation/WebContext.java	2009-03-25 09:35:56 UTC (rev 9678)
+++ spi/trunk/src/main/java/org/jboss/wsf/spi/annotation/WebContext.java	2009-03-25 10:02:47 UTC (rev 9679)
@@ -35,7 +35,7 @@
 @Retention(value = RetentionPolicy.RUNTIME)
 @Target(value = { ElementType.TYPE })
 public @interface WebContext {
-
+   
    /** 
     * The contextRoot element specifies the context root that the web service endpoint is deployed to.
     * If it is not specified it will be derived from the deployment short name.
@@ -65,6 +65,8 @@
     * constraint, a user must have authenticated using the configured mechanism.
     *
     * Legal values for this element are "BASIC", or "CLIENT-CERT".
+    * 
+    * @see AuthMethod
     */
    String authMethod() default "";
 
@@ -79,6 +81,8 @@
     * fashion that prevents other entities from observing the contents of
     * the transmission. In most cases, the presence of the INTEGRAL or
     * CONFIDENTIAL flag will indicate that the use of SSL is required.
+    * 
+    * @see TransportGuarantee
     */
    String transportGuarantee() default "";
 




More information about the jbossws-commits mailing list