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 )