You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ca...@apache.org on 2006/09/05 23:12:26 UTC

svn commit: r440492 - in /maven/shared/trunk/maven-user/maven-user-model/src: main/java/org/apache/maven/user/model/ main/java/org/apache/maven/user/model/impl/ test/java/org/apache/maven/user/model/impl/ test/resources/META-INF/plexus/

Author: carlos
Date: Tue Sep  5 14:12:25 2006
New Revision: 440492

URL: http://svn.apache.org/viewvc?view=rev&rev=440492
Log:
Add UserHolder interfact to access current user

Added:
    maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/UserHolder.java   (with props)
    maven/shared/trunk/maven-user/maven-user-model/src/test/java/org/apache/maven/user/model/impl/UserHolderMock.java   (with props)
Modified:
    maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/impl/DefaultUserManager.java
    maven/shared/trunk/maven-user/maven-user-model/src/test/resources/META-INF/plexus/components.xml

Added: maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/UserHolder.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/UserHolder.java?view=auto&rev=440492
==============================================================================
--- maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/UserHolder.java (added)
+++ maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/UserHolder.java Tue Sep  5 14:12:25 2006
@@ -0,0 +1,36 @@
+package org.apache.maven.user.model;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Object that can be queried to get the user name of the logged in user
+ * executing current operation.
+ * 
+ * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
+ * @version $Id$
+ */
+public interface UserHolder
+{
+
+    /**
+     * Get the user name 
+     * 
+     * @return the user name
+     */
+    String getCurrentUserName();
+
+}
\ No newline at end of file

Propchange: maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/UserHolder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/UserHolder.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/impl/DefaultUserManager.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/impl/DefaultUserManager.java?view=diff&rev=440492&r1=440491&r2=440492
==============================================================================
--- maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/impl/DefaultUserManager.java (original)
+++ maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/impl/DefaultUserManager.java Tue Sep  5 14:12:25 2006
@@ -28,6 +28,7 @@
 import org.apache.maven.user.model.Permission;
 import org.apache.maven.user.model.User;
 import org.apache.maven.user.model.UserGroup;
+import org.apache.maven.user.model.UserHolder;
 import org.apache.maven.user.model.UserManager;
 import org.apache.maven.user.model.UserSecurityPolicy;
 import org.apache.maven.user.model.store.UserStore;
@@ -55,6 +56,11 @@
      * @plexus.requirement
      */
     private UserSecurityPolicy securityPolicy;
+
+    /**
+     * @plexus.requirement
+     */
+    private UserHolder userHolder;
 
     // ----------------------------------------------------------------------
     // Component Lifecycle

Added: maven/shared/trunk/maven-user/maven-user-model/src/test/java/org/apache/maven/user/model/impl/UserHolderMock.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-user/maven-user-model/src/test/java/org/apache/maven/user/model/impl/UserHolderMock.java?view=auto&rev=440492
==============================================================================
--- maven/shared/trunk/maven-user/maven-user-model/src/test/java/org/apache/maven/user/model/impl/UserHolderMock.java (added)
+++ maven/shared/trunk/maven-user/maven-user-model/src/test/java/org/apache/maven/user/model/impl/UserHolderMock.java Tue Sep  5 14:12:25 2006
@@ -0,0 +1,48 @@
+package org.apache.maven.user.model.impl;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.user.model.UserHolder;
+
+/**
+ * {@link UserHolder} that can be used for testing purposes.
+ * 
+ * @plexus.component role="org.apache.maven.user.model.UserHolder" role-hint="mock"
+ * 
+ * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
+ * @version $Id$
+ */
+public class UserHolderMock
+    implements UserHolder
+{
+
+    private String userName;
+
+    public String getCurrentUserName()
+    {
+        return userName;
+    }
+
+    /**
+     * Set the user name that {@link #getCurrentUserName()} will return
+     * @param userName
+     */
+    public void setUserName( String userName )
+    {
+        this.userName = userName;
+    }
+}

Propchange: maven/shared/trunk/maven-user/maven-user-model/src/test/java/org/apache/maven/user/model/impl/UserHolderMock.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/shared/trunk/maven-user/maven-user-model/src/test/java/org/apache/maven/user/model/impl/UserHolderMock.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: maven/shared/trunk/maven-user/maven-user-model/src/test/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-user/maven-user-model/src/test/resources/META-INF/plexus/components.xml?view=diff&rev=440492&r1=440491&r2=440492
==============================================================================
--- maven/shared/trunk/maven-user/maven-user-model/src/test/resources/META-INF/plexus/components.xml (original)
+++ maven/shared/trunk/maven-user/maven-user-model/src/test/resources/META-INF/plexus/components.xml Tue Sep  5 14:12:25 2006
@@ -4,5 +4,13 @@
       <role>org.codehaus.plexus.jdo.JdoFactory</role>
       <implementation>org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory</implementation>
     </component>
+    <component>
+      <role>org.apache.maven.user.model.UserHolder</role>
+      <role-hint>mock</role-hint>
+      <implementation>org.apache.maven.user.model.impl.UserHolderMock</implementation>
+      <configuration>
+        <userName>myUserName</userName>
+      </configuration>
+    </component>
   </components>
 </component-set>