[teiid-commits] teiid SVN: r1271 - in trunk: client/src/main/java/com/metamatrix/platform/security/api and 7 other directories.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Mon Aug 24 17:00:08 EDT 2009


Author: rareddy
Date: 2009-08-24 17:00:08 -0400 (Mon, 24 Aug 2009)
New Revision: 1271

Modified:
   trunk/client/src/main/java/com/metamatrix/common/comm/platform/socket/client/SocketServerConnection.java
   trunk/client/src/main/java/com/metamatrix/platform/security/api/ILogon.java
   trunk/engine/src/main/java/com/metamatrix/platform/security/api/service/SessionServiceInterface.java
   trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPWorkContext.java
   trunk/runtime/src/main/java/com/metamatrix/dqp/embedded/admin/DQPRuntimeStateAdminImpl.java
   trunk/runtime/src/main/java/com/metamatrix/platform/security/session/service/SessionServiceImpl.java
   trunk/runtime/src/main/java/org/teiid/transport/LogonImpl.java
   trunk/runtime/src/main/resources/com/metamatrix/dqp/embedded/i18n.properties
   trunk/runtime/src/test/java/org/teiid/transport/TestSocketRemoting.java
Log:
TEIID-666: Session service not being used for "terminateSession". Previously Embedded did not have any session service, so it went directly to the DQP, now that it has session service the calls to terminate must flow through session service.

Modified: trunk/client/src/main/java/com/metamatrix/common/comm/platform/socket/client/SocketServerConnection.java
===================================================================
--- trunk/client/src/main/java/com/metamatrix/common/comm/platform/socket/client/SocketServerConnection.java	2009-08-24 20:54:32 UTC (rev 1270)
+++ trunk/client/src/main/java/com/metamatrix/common/comm/platform/socket/client/SocketServerConnection.java	2009-08-24 21:00:08 UTC (rev 1271)
@@ -255,8 +255,6 @@
 			writeFuture.get(5000, TimeUnit.MILLISECONDS);
 		} catch (InvalidSessionException e) {
 			//ignore
-		} catch (MetaMatrixComponentException e) {
-			//ignore
 		} catch (InterruptedException e) {
 			//ignore
 		} catch (ExecutionException e) {

Modified: trunk/client/src/main/java/com/metamatrix/platform/security/api/ILogon.java
===================================================================
--- trunk/client/src/main/java/com/metamatrix/platform/security/api/ILogon.java	2009-08-24 20:54:32 UTC (rev 1270)
+++ trunk/client/src/main/java/com/metamatrix/platform/security/api/ILogon.java	2009-08-24 21:00:08 UTC (rev 1271)
@@ -50,7 +50,7 @@
     * @throws InvalidSessionException If session has expired or doesn't exist
     * @throws ComponentNotFoundException If couldn't find needed service component
     */
-   ResultsFuture<?> logoff() throws InvalidSessionException, MetaMatrixComponentException;
+   ResultsFuture<?> logoff() throws InvalidSessionException;
    
    void assertIdentity(SessionToken sessionId) throws InvalidSessionException, MetaMatrixComponentException;
 

Modified: trunk/engine/src/main/java/com/metamatrix/platform/security/api/service/SessionServiceInterface.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/platform/security/api/service/SessionServiceInterface.java	2009-08-24 20:54:32 UTC (rev 1270)
+++ trunk/engine/src/main/java/com/metamatrix/platform/security/api/service/SessionServiceInterface.java	2009-08-24 21:00:08 UTC (rev 1271)
@@ -82,8 +82,7 @@
      * session
      * @throws SessionServiceException
      */
-    void closeSession(MetaMatrixSessionID sessionID)
-    throws InvalidSessionException, SessionServiceException;
+    void closeSession(MetaMatrixSessionID sessionID) throws InvalidSessionException;
 
     /**
      * Terminates the specified session.  This is an administrative action.
@@ -97,8 +96,7 @@
      * does not have authority to terminate the <code>terminatedSessionID</code> session
      * @throws SessionServiceException
      */
-    boolean terminateSession(MetaMatrixSessionID terminatedSessionID, MetaMatrixSessionID adminSessionID)
-    throws InvalidSessionException, AuthorizationException, SessionServiceException;
+    boolean terminateSession(MetaMatrixSessionID terminatedSessionID, MetaMatrixSessionID adminSessionID);
 
     /**
      * Get the collection of active user sessions on the system.

Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPWorkContext.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPWorkContext.java	2009-08-24 20:54:32 UTC (rev 1270)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPWorkContext.java	2009-08-24 21:00:08 UTC (rev 1271)
@@ -158,5 +158,12 @@
 	public String getClientHostname() {
 		return clientHostname;
 	}
-
+	
+	public void reset() {
+		setSessionToken(null);
+		setAppName(null);
+		setTrustedPayload(null);
+		setVdbName(null);
+		setVdbVersion(null);
+	}
 }

Modified: trunk/runtime/src/main/java/com/metamatrix/dqp/embedded/admin/DQPRuntimeStateAdminImpl.java
===================================================================
--- trunk/runtime/src/main/java/com/metamatrix/dqp/embedded/admin/DQPRuntimeStateAdminImpl.java	2009-08-24 20:54:32 UTC (rev 1270)
+++ trunk/runtime/src/main/java/com/metamatrix/dqp/embedded/admin/DQPRuntimeStateAdminImpl.java	2009-08-24 21:00:08 UTC (rev 1271)
@@ -37,6 +37,7 @@
 import org.teiid.adminapi.EmbeddedLogger;
 import org.teiid.adminapi.Request;
 import org.teiid.adminapi.RuntimeStateAdmin;
+import org.teiid.dqp.internal.process.DQPWorkContext;
 
 import com.metamatrix.admin.objects.MMRequest;
 import com.metamatrix.api.exception.MetaMatrixComponentException;
@@ -217,13 +218,9 @@
             }
         }
 
-        // Double iteration because to avoid concurrent modification of underlying map.
+        // terminate the sessions.
         for (MetaMatrixSessionInfo info: matchedConnections) {
-        	try {
-				this.manager.getDQP().terminateConnection(info.getSessionID().toString());
-			} catch (MetaMatrixComponentException e) {
-				throw new AdminComponentException(e);
-			}
+        	getSessionService().terminateSession(info.getSessionID(), DQPWorkContext.getWorkContext().getSessionId());
         }
     }
     

Modified: trunk/runtime/src/main/java/com/metamatrix/platform/security/session/service/SessionServiceImpl.java
===================================================================
--- trunk/runtime/src/main/java/com/metamatrix/platform/security/session/service/SessionServiceImpl.java	2009-08-24 20:54:32 UTC (rev 1270)
+++ trunk/runtime/src/main/java/com/metamatrix/platform/security/session/service/SessionServiceImpl.java	2009-08-24 21:00:08 UTC (rev 1271)
@@ -110,8 +110,7 @@
 	}
 
 	@Override
-	public void closeSession(MetaMatrixSessionID sessionID)
-			throws InvalidSessionException, SessionServiceException{
+	public void closeSession(MetaMatrixSessionID sessionID) throws InvalidSessionException {
 		LogManager.logDetail(LogConstants.CTX_SESSION, new Object[] {"closeSession", sessionID}); //$NON-NLS-1$
 		MetaMatrixSessionInfo info = this.sessionCache.remove(sessionID);
 		if (info == null) {
@@ -254,7 +253,7 @@
 		}
 		ArrayList<MetaMatrixSessionInfo> results = new ArrayList<MetaMatrixSessionInfo>();
 		for (MetaMatrixSessionInfo info : this.sessionCache.values()) {
-			if (VDBName.equals(info.getProductInfo(ProductInfoConstants.VIRTUAL_DB)) && VDBVersion.equals(info.getProductInfo(ProductInfoConstants.VIRTUAL_DB))) {
+			if (VDBName.equals(info.getProductInfo(ProductInfoConstants.VIRTUAL_DB)) && VDBVersion.equals(info.getProductInfo(ProductInfoConstants.VDB_VERSION))) {
 				results.add(info);
 			}
 		}
@@ -270,7 +269,7 @@
 	}
 
 	@Override
-	public boolean terminateSession(MetaMatrixSessionID terminatedSessionID,MetaMatrixSessionID adminSessionID) throws AuthorizationException, SessionServiceException {
+	public boolean terminateSession(MetaMatrixSessionID terminatedSessionID,MetaMatrixSessionID adminSessionID) {
 		Object[] params = {adminSessionID, terminatedSessionID};
 		LogManager.logInfo(LogConstants.CTX_SESSION, DQPEmbeddedPlugin.Util.getString( "SessionServiceImpl.terminateSession", params)); //$NON-NLS-1$
 		try {
@@ -329,6 +328,8 @@
 	@Override
 	public void stop() throws ApplicationLifecycleException {
 		this.sessionMonitor.cancel();
+		this.sessionCache.clear();
+		this.sessionListener = null;
 	}
 
 	@Inject

Modified: trunk/runtime/src/main/java/org/teiid/transport/LogonImpl.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/transport/LogonImpl.java	2009-08-24 20:54:32 UTC (rev 1270)
+++ trunk/runtime/src/main/java/org/teiid/transport/LogonImpl.java	2009-08-24 21:00:08 UTC (rev 1271)
@@ -143,23 +143,10 @@
 		workContext.setVdbVersion(sessionInfo.getProductInfo(ProductInfoConstants.VDB_VERSION));
 		return sessionID;
 	}
-	
-	private void resetDQPContext() {
-		DQPWorkContext workContext = DQPWorkContext.getWorkContext();
-		workContext.setSessionToken(null);
-		workContext.setAppName(null);
-		workContext.setTrustedPayload(null);
-		workContext.setVdbName(null);
-		workContext.setVdbVersion(null);
-	}	
-	
-	public ResultsFuture<?> logoff() throws InvalidSessionException, MetaMatrixComponentException {
-		try {
-			this.service.closeSession(DQPWorkContext.getWorkContext().getSessionId());
-			resetDQPContext();
-		} catch (SessionServiceException e) {
-			throw new MetaMatrixComponentException(e);
-		} 
+		
+	public ResultsFuture<?> logoff() throws InvalidSessionException {
+		this.service.closeSession(DQPWorkContext.getWorkContext().getSessionId());
+		DQPWorkContext.getWorkContext().reset();
 		return null;
 	}
 

Modified: trunk/runtime/src/main/resources/com/metamatrix/dqp/embedded/i18n.properties
===================================================================
--- trunk/runtime/src/main/resources/com/metamatrix/dqp/embedded/i18n.properties	2009-08-24 20:54:32 UTC (rev 1270)
+++ trunk/runtime/src/main/resources/com/metamatrix/dqp/embedded/i18n.properties	2009-08-24 21:00:08 UTC (rev 1271)
@@ -216,7 +216,7 @@
 admin_roles_not_defined=Admin Role permissions are not defined. Refer to admin-roles.properties file
 
 # authorization service
-AuthorizationServiceImpl.invalid_session = The principal with SessionToken <{0}> is invalid.
+AuthorizationServiceImpl.invalid_session=The principal with SessionToken <{0}> is invalid.
 AuthorizationServiceImpl.wrong_realms = Permission collection contains requests from different realms.
 AuthorizationServiceImpl.error_seraching_policies=An exception occurred while searching for all policy IDs.
 AuthorizationServiceImpl.failed_to_get_groups=Can''t get principal''s groups from Membership service.
@@ -249,10 +249,9 @@
 
 
 # session service
-SessionServiceImpl.invalid_session = The specified session ID "{0}" is invalid. It cannot be found in the userbase.
+SessionServiceImpl.invalid_session=The specified session ID "{0}" is invalid. It cannot be found in the userbase.
 SessionServiceImpl.reached_max_sessions = The server has reached the maximum number of sessions of {0} as defined by the property metamatrix.session.max.connections.  If more sessions are required, modify this property value in the MetaMatrix Console.
 SessionServiceImpl.failed_to_getprincipal = Membership service encountered an error getting the principal for user "{0}".
-SessionServiceImpl.invalid_session = SessionServiceImpl.terminateSession: {0}
 SessionServiceImpl.expireSession = Expiring session {0}
 SessionServiceImpl.keepaliveFailed = Keepalive failed for session {0}
 SessionServiceImpl.Unexpected_error_finding_latest_version_of_Virtual_Database=Unexpected error finding latest version of Virtual Database {0}

Modified: trunk/runtime/src/test/java/org/teiid/transport/TestSocketRemoting.java
===================================================================
--- trunk/runtime/src/test/java/org/teiid/transport/TestSocketRemoting.java	2009-08-24 20:54:32 UTC (rev 1270)
+++ trunk/runtime/src/test/java/org/teiid/transport/TestSocketRemoting.java	2009-08-24 21:00:08 UTC (rev 1271)
@@ -149,8 +149,7 @@
 		csr.registerClientService(ILogon.class, new ILogon() {
 
 				public ResultsFuture<?> logoff()
-						throws InvalidSessionException,
-						MetaMatrixComponentException {
+						throws InvalidSessionException {
 					ResultsFuture<?> result = new ResultsFuture<Void>();
 					result.getResultsReceiver().exceptionOccurred(new MetaMatrixComponentException("some exception")); //$NON-NLS-1$
 					return result;



More information about the teiid-commits mailing list