config.setSessionRenewer(this); ForceServiceConnector connector = new ForceServiceConnector(); connector.setConnectorConfig(config);
config.setSessionRenewer(this); ForceServiceConnector connector = new ForceServiceConnector(); connector.setConnectorConfig(config);
/** * Instantiates the connections to the Force.com service. It either reads the configs * from thread local (which would have been set from OAuth) or it gets the config from * the store manager. * {@inheritDoc} */ @Override public ManagedConnection createManagedConnection(Object poolKey, Map transactionOptions) { ForceStoreManager storeManager = (ForceStoreManager) omfContext.getStoreManager(); ForceServiceConnector connector = new ForceServiceConnector(); // A ConnectorConfig might have been set via OAuth in which case we should be // using that. ForceConnectorConfig tlConfig; if ((tlConfig = ForceServiceConnector.getThreadLocalConnectorConfig()) != null) { connector.setConnectorConfig(tlConfig); } else { connector.setConnectorConfig(storeManager.getConfig()); } connector.setConnectionName(omfContext.getPersistenceConfiguration().getStringProperty("force.ConnectionName")); connector.setClientId(ForceServiceConnector.API_USER_AGENT); connector.setTimeout(omfContext.getPersistenceConfiguration().getIntProperty("datanucleus.datastoreReadTimeout")); connector.setSkipCache(omfContext.getPersistenceConfiguration() .getBooleanProperty("force.skipConfigCache", false /* resultIfNotSet */)); return new ForceManagedConnection(connector); } }
/** * Instantiates the connections to the Force.com service. It either reads the configs * from thread local (which would have been set from OAuth) or it gets the config from * the store manager. * {@inheritDoc} */ @Override public ManagedConnection createManagedConnection(Object poolKey, Map transactionOptions) { ForceStoreManager storeManager = (ForceStoreManager) omfContext.getStoreManager(); ForceServiceConnector connector = new ForceServiceConnector(); // A ConnectorConfig might have been set via OAuth in which case we should be // using that. ForceConnectorConfig tlConfig; if ((tlConfig = ForceServiceConnector.getThreadLocalConnectorConfig()) != null) { connector.setConnectorConfig(tlConfig); } else { connector.setConnectorConfig(storeManager.getConfig()); } connector.setConnectionName(omfContext.getPersistenceConfiguration().getStringProperty("force.ConnectionName")); connector.setClientId(ForceServiceConnector.API_USER_AGENT); connector.setTimeout(omfContext.getPersistenceConfiguration().getIntProperty("datanucleus.datastoreReadTimeout")); connector.setSkipCache(omfContext.getPersistenceConfiguration() .getBooleanProperty("force.skipConfigCache", false /* resultIfNotSet */)); return new ForceManagedConnection(connector); } }
setConnectorConfig((ForceConnectorConfig) connectorConfig); getConnection();
setConnectorConfig((ForceConnectorConfig) connectorConfig); getConnection();
@Override public void logout(HttpServletRequest request, HttpServletResponse response, Authentication authentication) { if (authentication == null || authentication.getDetails() == null || !(authentication.getDetails() instanceof SecurityContext)) return; ForceConnectorConfig config = new ForceConnectorConfig(); try { SecurityContext sc = ((SecurityContext) authentication.getDetails()); // Use the value from session and not the login endpoint request.setAttribute(LogoutSuccessHandler.FORCE_ENDPOINT_ATTRIBUTE, sc.getEndPoint()); config.setServiceEndpoint(sc.getEndPoint()); config.setSessionId(sc.getSessionId()); config.setSessionRenewer(this); ForceServiceConnector connector = new ForceServiceConnector(); connector.setConnectorConfig(config); //logout from the partner API connector.getConnection().logout(); } catch (ConnectionException e) { if (config.getSessionId() != null) { // If the session id is null that means we visited the renewer method below and the session is dead anyways throw new AuthenticationServiceException("Unable to logout from Salesforce", e); } } }