QuickStart: Retrieving endpoint connector information using the Java API

The following Java code retrieves information about a Watched Folder endpoint. Information about each configuration value is retrieved and displayed. This code list specifies whether each configuration value is required or optional. In addition, the name and value for each configuration value is displayed. (See Retrieving Endpoint Connector Information.)

/* 
    * This Java Quick Start uses the following JAR files 
    * 1. adobe-livecycle-client.jar 
    * 2. adobe-usermanager-client.jar 
    * 3. adobe-utilities.jar 
    * 4. jbossall-client.jar (use a different JAR file if the LiveCycle Server is not deployed 
    * on JBoss) 
    * 5. jacorb.jar (use a different JAR file if the LiveCycle Server is not deployed on JBoss) 
    * 6. jnp-client.jar (use a different JAR file if the LiveCycle Server is not deployed on JBoss) 
    *  
    *  The JBoss files must be kept in the jboss\client folder. You can copy the client folder to  
    *  your local development environment and then include the 3 JBoss JAR files in your class path 
    *   
    *  These JAR files are located in the following path: 
    * <install directory>/sdk/client-libs/common 
    *  
    * The adobe-utilities.jar file is located in the following path: 
    * <install directory>/sdk/client-libs/jboss 
    *  
    * The jbossall-client.jar file is located in the following path: 
    * <install directory>/jboss/client 
    *  
    * If you want to invoke a remote LiveCycle Server instance and there is a 
    * firewall between the client application and the server, then it is  
    * recommended that you use the SOAP mode. When using the SOAP mode,  
    * you have to include additional JAR files located in the following  
    * path 
    * <install directory>/sdk/client-libs/thirdparty 
    *  
    * For information about the SOAP  
    * mode and the additional JAR files that need to be included,  
    * see "Setting connection properties" in Programming  
    * with LiveCycle 
    *  
    * For complete details about the location of the LiveCycle JAR files,  
    * see "Including LiveCycle Java library files" in Programming  
    * with LiveCycle 
    */ 
import java.util.Properties; 
import com.adobe.idp.dsc.clientsdk.ServiceClientFactory; 
import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties; 
import com.adobe.idp.dsc.registry.connector.client.ConnectorRegistryClient; 
import com.adobe.idp.dsc.registry.infomodel.ConfigParameter; 
import com.adobe.idp.dsc.registry.infomodel.Endpoint; 
 
public class RetrieveConnectorInfo { 
     
    public static void main(String[] args) { 
         
    try{ 
        Endpoint _endpoint = null;  
         
        //Set connection properties    required to invoke LiveCycle 
        Properties ConnectionProps = new Properties(); 
        ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_EJB_ENDPOINT, "jnp://hiro-xp:1099"); 
        ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_EJB_PROTOCOL);           
        ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss"); 
        ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator"); 
        ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password"); 
     
        //Create a ServiceClientFactory object 
        ServiceClientFactory myFactory = ServiceClientFactory.createInstance(ConnectionProps); 
 
        //Create a ConnectorRegistry Client object  
        ConnectorRegistryClient conClient = new ConnectorRegistryClient(myFactory); 
         
        //Specify WatchedFolder as the connector type 
        Endpoint endpoint = conClient.getEndpointDefinition("WatchedFolder"); 
         
        //Get all the configuration values associated with this connector type 
        ConfigParameter[] allConfigParams = endpoint.getConfigParameters(); 
        int len = allConfigParams.length; 
         
        //Get the value of the individual configuration parameter values 
        //and which ones are required and which ones are optional 
        for (int i=0; i<len; i++) 
        { 
            //Get an individual ConfigParameter object  
            ConfigParameter cp = (ConfigParameter)allConfigParams[i]; 
             
            //Determine if this configuration value is required 
            if (cp.isRequired() == true) 
                System.out.println("This required configuration value name is "+cp.getName() + ". Its value is "+cp.getTextValue()); 
            else 
                System.out.println("This optional configuration value name is "+cp.getName() + ". Its value is "+cp.getTextValue()); 
        } 
    }catch (Exception e) { 
         e.printStackTrace(); 
        }     
    } 
}