The following Java code example modifies an abstract policy
named AllowCopy. The policy set in which the policy is modfied is
named Global Policy Set. This policy set exists by default. (See
Creating Policies.)
/*
* This Java Quick Start uses the SOAP mode and contains the following JAR files
* in the class path:
* 1. adobe-rightsmanagement-client.jar
* 2. namespace.jar (if LiveCycle ES is deployed on JBoss)
* 3. jaxb-api.jar (if LiveCycle ES is deployed on JBoss)
* 4. jaxb-impl.jar (if LiveCycle ES is deployed on JBoss)
* 5. jaxb-libs.jar (if LiveCycle ES is deployed on JBoss)
* 6. jaxb-xjc.jar (if LiveCycle ES is deployed on JBoss)
* 7. relaxngDatatype.jar (if LiveCycle ES is deployed on JBoss)
* 8. xsdlib.jar (if LiveCycle ES is deployed on JBoss)
* 9. adobe-livecycle-client.jar
* 10. adobe-usermanager-client.jar
* 11. adobe-utilities.jar
* 12. jbossall-client.jar (use a different JAR file if LiveCycle ES is not deployed on JBoss)
* 13. activation.jar (required for SOAP mode)
* 14. axis.jar (required for SOAP mode)
* 15. commons-codec-1.3.jar (required for SOAP mode)
* 16. commons-collections-3.1.jar (required for SOAP mode)
* 17. commons-discovery.jar (required for SOAP mode)
* 18. commons-logging.jar (required for SOAP mode)
* 19. dom3-xml-apis-2.5.0.jar (required for SOAP mode)
* 20. jaxen-1.1-beta-9.jar (required for SOAP mode)
* 21. jaxrpc.jar (required for SOAP mode)
* 22. log4j.jar (required for SOAP mode)
* 23. mail.jar (required for SOAP mode)
* 24. saaj.jar (required for SOAP mode)
* 25. wsdl4j.jar (required for SOAP mode)
* 26. xalan.jar (required for SOAP mode)
* 27. xbean.jar (required for SOAP mode)
* 28. xercesImpl.jar (required for SOAP mode)
*
* These JAR files are located in the following path:
* <install directory>/Adobe/Adobe LiveCycle ES3/sdk/client-libs/common
*
* The adobe-utilities.jar file is located in the following path:
* <install directory>/Adobe/Adobe LiveCycle ES3/sdk/client-libs/jboss
*
* The jbossall-client.jar file is located in the following path:
* <install directory>/Adobe/Adobe LiveCycle ES3/jboss/client
*
* SOAP required JAR files are located in the following path:
* <install directory>/Adobe/Adobe LiveCycle ES3/sdk/client-libs/thirdparty
*
* If you want to invoke a remote LiveCycle server instance and there is a
* firewall between the client application and LiveCycle server, then it is
* recommended that you use the SOAP mode. When using the SOAP mode,
* you have to include these additional JAR files
*
* For information about the SOAP
* mode, see "Setting connection properties" in Programming
* with LiveCycle server
*/
import java.util.*;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
import com.adobe.livecycle.rightsmanagement.client.*;
import com.adobe.livecycle.rightsmanagement.client.infomodel.*;
public class ModifyingAbstractPolicySoap {
public static void main(String args[]) {
try{
//Set connection properties required to invoke LiveCycle server using SOAP mode
Properties connectionProps = new Properties();
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT, "http://localhost:8080");
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 a RightsManagementClient object
RightsManagementClient rightsClient = new RightsManagementClient(myFactory);
AbstractPolicyManager abstractPolicyManager = rightsClient.getAbstractPolicyManager();
AbstractPolicy abstractPolicy = abstractPolicyManager.getAbstractPolicy("Global Policy Set","AllowCopy");
//Modify policy attributes
abstractPolicy.setOfflineLeasePeriod(40);
abstractPolicy.setTracked(true);
//Set the validity period to 40 days
ValidityPeriod validityPeriod = InfomodelObjectFactory.createValidityPeriod();
validityPeriod.setRelativeExpirationDays(40);
abstractPolicy.setValidityPeriod(validityPeriod);
abstractPolicyManager.updateAbstractPolicy(abstractPolicy);
System.out.println("The Abstract Policy was updated:" + abstractPolicy.getName());
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}
|
|
|