The following Java code example adds a Watched Folder endpoint
to a service named
MyApplication/EncryptDocument
. (See Adding
Watched Folder Endpoints.)
Note:
You must include the WatchedFolderEndpointConfigConstants.java
file in your project to compile and run the following quick start.
(See Watched
folder configuration values constant file.)
/*
* This Java Quick Start uses the following JAR files
* 1. adobe-livecycle-client.jar
* 2. adobe-usermanager-client.jar
* 3. activation.jar (required for SOAP mode)
* 4. axis.jar (required for SOAP mode)
* 5. axis.jar (required for SOAP mode)
* 6. commons-codec-1.3.jar (required for SOAP mode)
* 7. commons-collections-3.2.jar (required for SOAP mode)
* 8. commons-discovery.jar (required for SOAP mode)
* 9. commons-logging.jar (required for SOAP mode)
* 10. dom3-xml-apis-2.5.0.jar (required for SOAP mode)
* 11. jaxen-1.1-beta-9.jar (required for SOAP mode)
* 12. jaxrpc.jar (required for SOAP mode)
* 13. log4j.jar (required for SOAP mode)
* 14. mail.jar (required for SOAP mode)
* 15. saaj.jar (required for SOAP mode)
* 16. wsdl4j.jar (required for SOAP mode)
* 17. xalan.jar (required for SOAP mode)
* 18. xbean.jar (required for SOAP mode)
* 19. xercesImpl.jar (required for SOAP mode)
? * 13. activation.jar (required for SOAP mode)
? * 14. axis.jar (required for SOAP mode)
? * 15. axis.jar (required for SOAP mode)
? * 16. commons-codec-1.3.jar (required for SOAP mode)
? * 17. commons-collections-3.2.jar (required for SOAP mode)
? * 18. commons-discovery.jar (required for SOAP mode)
? * 19. commons-logging.jar (required for SOAP mode)
? * 20. dom3-xml-apis-2.5.0.jar (required for SOAP mode)
? * 21. jaxen-1.1-beta-9.jar (required for SOAP mode)
? * 22. jaxrpc.jar (required for SOAP mode)
? * 23. log4j.jar (required for SOAP mode)
? * 24. mail.jar (required for SOAP mode)
? * 25. saaj.jar (required for SOAP mode)
? * 26. wsdl4j.jar (required for SOAP mode)
? * 27. xalan.jar (required for SOAP mode)
? * 28. xbean.jar (required for SOAP mode)
? * 29. xercesImpl.jar (required for SOAP mode)
*
* 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
*
*
* <install directory>/jboss/bin/client
*
* If you want to invoke a remote forms 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 AEM Forms
*
* For complete details about the location of the AEM Forms JAR files,
* see "Including LiveCycle Java library files" in Programming
* with AEM Forms
*/
import java.util.Properties;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
import com.adobe.idp.dsc.registry.endpoint.CreateEndpointInfo;
import com.adobe.idp.dsc.registry.endpoint.client.EndpointRegistryClient;
import com.adobe.idp.dsc.registry.infomodel.Endpoint;
public class AddWatchFolderEndPoint {
public static void main(String[] args) {
try{
//Set connection properties required to invoke AEM Forms
Properties ConnectionProps = new Properties();
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT, "jnp://[server]:[port]");
ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_SOAP_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 an EndpointRegistryClient object
EndpointRegistryClient endPointClient = new EndpointRegistryClient(myFactory);
//Create a Watched Folder endpoint for the MyApplication/EncryptDocument process
CreateEndpointInfo e = new CreateEndpointInfo();
e.setConnectorId("WatchedFolder");
e.setDescription("WatchedFolder endpoint for the EncryptDocument process");
e.setName("MyApplication/EncryptDocument");
e.setServiceId("MyApplication/EncryptDocument");
e.setOperationName("invoke");
//Set configuration values for a Watched Folder EndPoint
e.setConfigParameterAsText(WatchedFolderEndpointConfigConstants.PROPERTY_FILEPROVIDER_URL,"C:\\EncryptFolder");
e.setConfigParameterAsText(WatchedFolderEndpointConfigConstants.PROPERTY_PROPERTY_ASYNCHRONOUS,"true");
e.setConfigParameterAsText(WatchedFolderEndpointConfigConstants.PROPERTY_PURGE_DURATION,"-1");
e.setConfigParameterAsText(WatchedFolderEndpointConfigConstants.PROPERTY_REPEAT_INTERVAL,"5");
e.setConfigParameterAsText(WatchedFolderEndpointConfigConstants.PROPERTY_REPEAT_COUNT,"-1");
e.setConfigParameterAsText(WatchedFolderEndpointConfigConstants.PROPERTY_THROTTLE,"false");
e.setConfigParameterAsText(WatchedFolderEndpointConfigConstants.PROPERTY_USERNAMER,"SuperAdmin");
e.setConfigParameterAsText(WatchedFolderEndpointConfigConstants.PROPERTY_DOMAINNAME,"DefaultDom");
e.setConfigParameterAsText(WatchedFolderEndpointConfigConstants.PROPERTY_FILEPROVIDER_BATCH_SIZE,"2");
e.setConfigParameterAsText(WatchedFolderEndpointConfigConstants.PROPERTY_FILEPROVIDER_WAIT_TIME,"0");
e.setConfigParameterAsText(WatchedFolderEndpointConfigConstants.PROPERTY_EXCLUDE_FILE_PATTERN,".txt");
e.setConfigParameterAsText(WatchedFolderEndpointConfigConstants.PROPERTY_INCLUDE_FILE_PATTERN,"*");
e.setConfigParameterAsText(WatchedFolderEndpointConfigConstants.PROPERTY_FILEPROVIDER_RESULT_FOLDER_NAME,"result/%Y/%M/%D/");
e.setConfigParameterAsText(WatchedFolderEndpointConfigConstants.PROPERTY_FILEPROVIDER_PRESERVE_FOLDER_NAME,"preserve/%Y/%M/%D/");
e.setConfigParameterAsText(WatchedFolderEndpointConfigConstants.PROPERTY_FILEPROVIDER_FAILURE_FOLDER_NAME,"failure/%Y/%M/%D/");
e.setConfigParameterAsText(WatchedFolderEndpointConfigConstants.PROPERTY_FILEPROVIDER_PRESERVE_ON_FAILURE,"true");
e.setConfigParameterAsText(WatchedFolderEndpointConfigConstants.PROPERTY_FILEPROVIDER_OVERWRITE_DUPLICATE_FILENAME,"false");
//Define input parameter values
e.setInputParameterMapping("inDoc",
"com.adobe.idp.Document",
"variable",
"*.pdf");
//Define the output parameter values
e.setOutputParameterMapping("outDoc",
"com.adobe.idp.Document",
"%F.pdf");
//Create the Watched Folder Endpoint
Endpoint endPoint = endPointClient.createEndpoint(e);
//Enable the Endpoint
endPointClient.enable(endPoint);
}catch (Exception e) {
e.printStackTrace();
}
}
}