The following Java code example creates a new abstract
policy named AllowCopy. The policy set to which the policy is added
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. adobe-livecycle-client.jar
* 3. adobe-usermanager-client.jar
* 4. activation.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.1.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)
*
* These JAR files are located in the following path:
* <install directory>/Adobe/Adobe_Experience_Manager_forms/sdk/client-libs/common
*
* <install directory>/Adobe/Adobe_Experience_Manager_forms/sdk/client-libs/jboss
*
* <install directory>/Adobe/Adobe_Experience_Manager_forms/jboss/bin/client
*
* SOAP required JAR files are located in the following path:
* <install directory>/Adobe/Adobe_Experience_Manager_forms/sdk/client-libs/thirdparty
*
* If you want to invoke a remote forms server instance and there is a
* firewall between the client application and forms 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 forms 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 CreateAbstractPolicySoap {
public static void main(String args[]) {
try{
//Set connection properties required to invoke forms server using SOAP mode
Properties connectionProps = new Properties();
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT, "http://[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 a RightsManagementClient object
RightsManagementClient rightsClient = new RightsManagementClient(myFactory);
AbstractPolicy abstractPolicy = InfomodelObjectFactory.createAbstractPolicy();
abstractPolicy.setName("AllowCopy");
abstractPolicy.setDescription("This abstract policy helps users to create policy that copy information from the PDF document");
abstractPolicy.setPolicySetName("Global Policy Set");
abstractPolicy.setOfflineLeasePeriod(30);
abstractPolicy.setTracked(true);
abstractPolicy.setEncryptAttachmentsOnly(false);
ValidityPeriod validityPeriod = InfomodelObjectFactory.createValidityPeriod();
validityPeriod.setRelativeExpirationDays(30);
abstractPolicy.setValidityPeriod(validityPeriod);
//Adding publisher permissions.
AbstractPolicyEntry userPolicyEntry = InfomodelObjectFactory.createAbstractPolicyEntry();
Permission onlinePermission = InfomodelObjectFactory.createPermission(Permission.OPEN_ONLINE);
Permission copyPermission = InfomodelObjectFactory.createPermission(Permission.COPY);
userPolicyEntry.addPermission(onlinePermission);
userPolicyEntry.addPermission(copyPermission);
abstractPolicy.addAbstractPolicyEntry(userPolicyEntry);
AbstractPolicyManager abstractPolicyManager = rightsClient.getAbstractPolicyManager();
abstractPolicyManager.registerAbstractPolicy(abstractPolicy, "Global Policy Set");
AbstractPolicy abstractPolicy1 = abstractPolicyManager.getAbstractPolicy("Global Policy Set","AllowCopy");
System.out.println("The Abstract Policy was successfully created:" + abstractPolicy1.getName());
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}
|
|
|