Author: olamy
Date: Tue Dec  4 15:26:25 2012
New Revision: 1416990

URL: http://svn.apache.org/viewvc?rev=1416990&view=rev
Log:
if any exception must be returned in rest response

Modified:
    
archiva/redback/redback-core/trunk/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultLoginService.java

Modified: 
archiva/redback/redback-core/trunk/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultLoginService.java
URL: 
http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultLoginService.java?rev=1416990&r1=1416989&r2=1416990&view=diff
==============================================================================
--- 
archiva/redback/redback-core/trunk/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultLoginService.java
 (original)
+++ 
archiva/redback/redback-core/trunk/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultLoginService.java
 Tue Dec  4 15:26:25 2012
@@ -29,6 +29,7 @@ import org.apache.archiva.redback.keys.m
 import org.apache.archiva.redback.keys.memory.MemoryKeyManager;
 import org.apache.archiva.redback.policy.AccountLockedException;
 import org.apache.archiva.redback.policy.MustChangePasswordException;
+import org.apache.archiva.redback.rest.api.model.ErrorMessage;
 import org.apache.archiva.redback.rest.api.model.LoginRequest;
 import org.apache.archiva.redback.rest.api.model.User;
 import org.apache.archiva.redback.rest.api.services.LoginService;
@@ -46,7 +47,10 @@ import javax.servlet.http.HttpServletReq
 import javax.servlet.http.HttpSession;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.Response;
+import java.util.ArrayList;
 import java.util.Calendar;
+import java.util.List;
+import java.util.Map;
 import java.util.TimeZone;
 
 /**
@@ -145,6 +149,17 @@ public class DefaultLoginService
                 httpAuthenticator.authenticate( authDataSource, 
httpServletRequest.getSession( true ) );
                 return restUser;
             }
+            if ( securitySession.getAuthenticationResult() != null
+                && 
securitySession.getAuthenticationResult().getExceptionsMap() != null )
+            {
+                List<ErrorMessage> errorMessages = new 
ArrayList<ErrorMessage>();
+                for ( Map.Entry<String, String> entry : 
securitySession.getAuthenticationResult().getExceptionsMap().entrySet() )
+                {
+                    errorMessages.add( new ErrorMessage( entry.getValue() ) );
+                }
+
+                throw new RedbackServiceException( errorMessages );
+            }
             return null;
         }
         catch ( AuthenticationException e )


Reply via email to