This page contains some examples that show how to get started when writing applications for the ECM Service.
This example shows how to create a new Saperion Client and how to use it to get the current user's ID.
ConnectorFactory connectorFactory = new EcmsClientConnectorFactory(); Map<String, String> properties = new HashMap<>(); properties.put(EcmsClientConnectorFactory.PROPERTY_ECM_SERVER_URL, "http://localhost:8080"); properties.put(EcmsClientConnectorFactory.PROPERTY_ECM_AUTHENTICATION_SERVER_URL, "http://localhost:8082"); properties.put(EcmsClientConnectorFactory.PROPERTY_ECM_AUTHENTICATION_SERVER_RSA, "true"); Connector connector = connectorFactory.newConnector(properties); SaperionClientFactory saperionClientFactory = new SaperionClientFactoryImpl(connector); SaperionClient saperionClient = saperionClientFactory.newClient("Username", "password", LicenseEnumeration.INDEX, "tenant"); UserManagementServiceClient userManagementService = saperionClient.getUserAdministrationService().getUserManagementService(); UserContextClient currentUserContext = userManagementService.getCurrentUserContext(); int id = currentUserContext.getUserContext().getUser().getReference().getId(); System.out.println("My ID is: " + id);
This example shows how to login with a token retrieved from a 3rd party authorization service that supports OpenID Connect.
ConnectorFactory connectorFactory = new EcmsClientConnectorFactory(); Map<String, String> properties = new HashMap<>(); properties.put(EcmsClientConnectorFactory.PROPERTY_ECM_SERVER_URL, "http://localhost:8080"); properties.put(EcmsClientConnectorFactory.PROPERTY_ECM_CLIENT_AUTHENTICATION, BearerTokenAuthorizationClient.class.getName()); Connector connector = connectorFactory.newConnector(properties); String token = "eyJhbGciOiJSUzI1NiIs..."; SaperionClientFactory saperionClientFactory = new SaperionClientFactoryImpl(connector); SaperionClient saperionClient = saperionClientFactory.newClient(token, LicenseEnumeration.INDEX, "tenant"); UserManagementServiceClient userManagementService = saperionClient.getUserAdministrationService().getUserManagementService(); UserType userType = userManagementService.getCurrentUserContext().load(); System.out.println("My ID is " + userType.getReference().getId());
This example shows how to create a user and how to add the user to a group.
UserAdministrationClient userAdministrationService = saperionClient.getUserAdministrationService(); UserManagementServiceClient userManagementService = userAdministrationService.getUserManagementService(); GroupManagementServiceClient groupManagementService = userAdministrationService.getGroupManagementService(); CreateUserPropertiesType user = new CreateUserPropertiesType(); user.setFullName("Full Name"); user.setShortName("Short Name"); user.setPassword("password"); UserReferenceType userReference = userManagementService.createUser(user); GroupClient groupClient = groupManagementService.resolveName("Users"); groupClient.getUserMembers().addMember(userReference);
This example shows how to get a search client that can be used to search for documents.
ArchiveReferenceType archiveReference = new ArchiveReferenceType(); archiveReference.setName("example8"); archiveReference.setContentType(ArchiveContentEnum.DOCUMENT); ArchiveServiceClient archiveService = saperionClient.getArchiveService(); SearchClient<DocumentRevisionListItemType> searchClient = archiveService.newDocumentSearch(archiveReference); Expression filter = new BinaryOperation("EX8_DOCNAME", BinaryOperation.Operator.EQ, "SAPERION_ECM_Suite"); Iterable<DocumentRevisionListItemType> list = searchClient.list(filter); DocumentRevisionListItemType document = list.iterator().next(); System.out.println("Found document with ID " + document.getDocumentId().getSysRowId());
This example shows how to add a new document to the archive.
DocumentServiceClient documentService = saperionClient.getDocumentService(); DocumentElementType structure = new StructureCompositeDocumentElementType(); FileDocumentElementType file = new FileDocumentElementType(); file.setFileName(new File("test.dat")); file.setContent(new FileInputStream("test.dat")); structure.getChildren().add(file); ArchiveReferenceType archiveReference = new ArchiveReferenceType(); archiveReference.setContentType(ArchiveContentEnum.DOCUMENT); archiveReference.setName("full_index"); Map<String, PropertyType> indexData = new HashMap<>(); indexData.put("TEXT", Properties.newPropertyType("my test document")); documentService.createDocument(archiveReference, indexData, structure);