|
Java Clients
Connecting with Server Attributes Read from the Information ServiceNote: The ConnectionFactory class that is used in the other connection methods is not integrated with SAS Foundation Services. To use the Information Service to connect, you must use the PlatformConnectionFactory class in com.sas.services.connection.platform. The Java Connection Factory enables you to obtain server connection information from a metadata server using the Information Service component of SAS Foundation Services. The Information Service enables you to access multiple SAS Metadata Repositories and LDAP servers simultaneously and perform searches across all metadata sources. Before you use this method, you must do the following:
ExampleThe following example code shows how to initialize and use the Java Connection Factory with information from the Information Service. For information about how to use the object reference, see Language Service Example. The example code performs the following steps:
The last three statements in the example code show how to dispose of object references. For details about this procedure, see Returning Connections to the Java Connection Factory.
import com.sas.iom.SAS.IWorkspace;
import com.sas.iom.SAS.IWorkspaceHelper;
import com.sas.services.connection.ConnectionFactoryConfiguration;
import com.sas.services.connection.ConnectionInterface;
import com.sas.services.connection.platform.PlatformConnectionFactoryInterface;
import com.sas.services.connection.platform.PlatformConnectionFactoryConfiguration;
import com.sas.services.information.RepositoryInterface;
import com.sas.services.information.metadata.LogicalServerInterface;
import com.sas.services.user.UserContextInterface;
import com.sas.services.user.UserServiceInterface;
< set up the User Service and create a UserServiceInterface uService >
// Step 1. Create a user context using the User Service
UserContextInterface cxfUser = uService.newUser("user1","user1pw",
"user1domain");
< set up the Information Service and define a repository repos >
// Step 2. Identify the repository
RepositoryInterface cxfRepos cxfUser.getRepository("repos");
// Step 3. Identify the IOM service
LogicalServerInterface logicalServer =
cxfRepos.fetch("A50IFJQG.AQ000002/LogicalServer");
// Step 4. Create a connection factory configuration
ConnectionFactoryConfiguration cxfConfig = new
PlatformConnectionFactoryConfiguration(logicalServer);
// Step 5. Get a connection factory manager
PlatformConnectionFactoryManager cxfManager = new
PlatformConnectionFactoryManager();
// Step 6. Get a connection factory using the configuration
PlatformConnectionFactoryInterface cxf =
cxfManager.getPlatformFactory(cxfConfig);
// Step 7. Get a connection
ConnectionInterface cx = cxf.getConnection(cxfUser);
// Step 8. Narrow the connection
org.omg.CORBA.Object obj = cx.getObject();
IWorkspace iWorkspace = IWorkspaceHelper.narrow(obj);
< insert iWorkspace workspace usage code here >
// Step 9. Close the connection when finished
cx.close();
cxf.getAdminInterface().destroy();
In an effort to make the previous example more readable, we have removed most of the code structuring elements. The example will not compile as it is shown. |