Package org.apache.chemistry.opencmis.commons.data

Examples of org.apache.chemistry.opencmis.commons.data.ObjectData


            throw new CmisObjectNotFoundException("Unknown object id: " + objectId);
        }

        String user = context.getUsername();
        TypeDefinition td = fStoreManager.getTypeById(repositoryId, so.getTypeId()).getTypeDefinition();
        ObjectData od = PropertyCreationHelper.getObjectData(td, so, filter, user, includeAllowableActions,
                includeRelationships, renditionFilter, includePolicyIds, includeAcl, extension);

        if (context.isObjectInfoRequired()) {
            ObjectInfoImpl objectInfo = new ObjectInfoImpl();
            fAtomLinkProvider.fillInformationForAtomLinks(repositoryId, so, objectInfo);
            objectInfos.addObjectInfo(objectInfo);
        }

        // fill an example extension
        String ns = "http://apache.org/opencmis/inmemory";
        List<CmisExtensionElement> extElements = new ArrayList<CmisExtensionElement>();

        Map<String, String> attr = new HashMap<String, String>();
        attr.put("type", so.getTypeId());

        extElements.add(new CmisExtensionElementImpl(ns, "objectId", attr, objectId));
        extElements.add(new CmisExtensionElementImpl(ns, "name", null, so.getName()));
        od.setExtensions(Collections.singletonList(
                (CmisExtensionElement) new CmisExtensionElementImpl(ns, "exampleExtension",null,  extElements)));

        LOG.debug("stop getObject()");

        return od;
View Full Code Here


        }

        String user = context.getUsername();

        TypeDefinition td = fStoreManager.getTypeById(repositoryId, so.getTypeId()).getTypeDefinition();
        ObjectData od = PropertyCreationHelper.getObjectData(td, so, filter, user, includeAllowableActions,
                includeRelationships, renditionFilter, includePolicyIds, includeAcl, extension);

        LOG.debug("stop getObjectByPath()");

        // To be able to provide all Atom links in the response we need
View Full Code Here

        spo.move(sourceFolder, targetFolder);
        objectId.setValue(so.getId());
        LOG.debug("stop moveObject()");

        TypeDefinition td = fStoreManager.getTypeById(repositoryId, so.getTypeId()).getTypeDefinition();
        ObjectData od = PropertyCreationHelper.getObjectData(td, so, null, user, false,
                IncludeRelationships.NONE, null, false, false, extension);

        // To be able to provide all Atom links in the response we need
        // additional information:
        if (context.isObjectInfoRequired()) {
View Full Code Here

            // AclPropagation.OBJECTONLY,
            // extension);
        }

        TypeDefinition td = fStoreManager.getTypeById(repositoryId, so.getTypeId()).getTypeDefinition();
        ObjectData od = PropertyCreationHelper.getObjectData(td, so, null, user, false,
                IncludeRelationships.NONE, null, false, false, extension);

        // To be able to provide all Atom links in the response we need
        // additional information:
        if (context.isObjectInfoRequired()) {
View Full Code Here

            log.info("  createDocument succeeded with created id: " + id);
        }

        log.info("  getting object");
        try {
            ObjectData res = fObjSvc.getObject(fRepositoryId, id, "*", false, IncludeRelationships.NONE, null, false,
                    false, null);
            assertNotNull(res);

            String returnedId = res.getId();
            assertEquals(id, returnedId);
            Map<String, PropertyData<?>> props = res.getProperties().getProperties();
            for (PropertyData<?> pd : props.values()) {
                log.info("return property id: " + pd.getId() + ", value: " + pd.getValues());
            }

            PropertyData<?> pd = props.get(PropertyIds.NAME);
View Full Code Here

            log.info("createDocument succeeded with created id: " + id);
        }

        log.info("  getting object");
        try {
            ObjectData res = fObjSvc.getObject(fRepositoryId, id, "*", false, IncludeRelationships.NONE, null, false,
                    false, null);
            assertNotNull(res);
            Map<String, PropertyData<?>> props = res.getProperties().getProperties();

            // check returned properties
            for (PropertyData<?> pd : props.values()) {
                log.info("  return property id: " + pd.getId() + ", value: " + pd.getValues());
            }

            String returnedId = res.getId();
            assertEquals(id, returnedId);
            PropertyData<?> pd = props.get(PropertyIds.NAME);
            assertNotNull(pd);
            assertEquals(MY_CUSTOM_NAME, pd.getFirstValue());
            pd = props.get(PropertyIds.OBJECT_TYPE_ID);
            assertEquals(TEST_CUSTOM_DOCUMENT_TYPE_ID, pd.getFirstValue());
            pd = props.get(TEST_DOCUMENT_MY_STRING_PROP_ID);
            assertEquals("My pretty string", pd.getFirstValue());
            pd = props.get(TEST_DOCUMENT_MY_INT_PROP_ID);
            assertEquals(BigInteger.valueOf(4711), pd.getFirstValue());

            // update properties:
            log.info("updating property");
            final String newStringPropVal = "My ugly string";
            final BigInteger newIntPropVal = BigInteger.valueOf(815);
            List<PropertyData<?>> properties = new ArrayList<PropertyData<?>>();
            // properties.add(fFactory.createPropertyIdData(PropertyIds.CMIS_NAME
            // , MY_CUSTOM_NAME));
            // properties.add(fFactory.createPropertyIdData(PropertyIds.
            // CMIS_OBJECT_TYPE_ID, TEST_CUSTOM_DOCUMENT_TYPE_ID));
            // Generate some property values for custom attributes
            properties.add(fFactory.createPropertyStringData(TEST_DOCUMENT_MY_STRING_PROP_ID, newStringPropVal));
            properties.add(fFactory.createPropertyIntegerData(TEST_DOCUMENT_MY_INT_PROP_ID, newIntPropVal));
            Properties newProps = fFactory.createPropertiesData(properties);

            Holder<String> idHolder = new Holder<String>(id);
            Holder<String> changeTokenHolder = new Holder<String>();
            fObjSvc.updateProperties(fRepositoryId, idHolder, changeTokenHolder, newProps, null);
            oldChangeToken = changeTokenHolder.getValue(); // store for later
            // use
            // check if we now retrieve new values
            res = fObjSvc.getObject(fRepositoryId, id, "*", false, IncludeRelationships.NONE, null, false, false, null);
            assertNotNull(res);
            props = res.getProperties().getProperties();
            for (PropertyData<?> pd2 : props.values()) {
                log.info("  return property id: " + pd2.getId() + ", value: " + pd2.getValues());
            }
            returnedId = res.getId();
            assertEquals(id, returnedId);
            pd = props.get(PropertyIds.NAME);
            assertNotNull(pd);
            assertEquals(MY_CUSTOM_NAME, pd.getFirstValue());
            pd = props.get(PropertyIds.OBJECT_TYPE_ID);
            assertEquals(TEST_CUSTOM_DOCUMENT_TYPE_ID, pd.getFirstValue());
            pd = props.get(TEST_DOCUMENT_MY_STRING_PROP_ID);
            assertEquals(newStringPropVal, pd.getFirstValue());
            pd = props.get(TEST_DOCUMENT_MY_INT_PROP_ID);
            assertEquals(newIntPropVal, pd.getFirstValue());

            // Test delete properties
            log.info("deleting property");
            properties = new ArrayList<PropertyData<?>>();
            properties.add(fFactory.createPropertyStringData(TEST_DOCUMENT_MY_STRING_PROP_ID, (String) null));
            newProps = fFactory.createPropertiesData(properties);
            Thread.sleep(100); // ensure new change token, timer resolution is
            // not good enough
            fObjSvc.updateProperties(fRepositoryId, idHolder, changeTokenHolder, newProps, null);
            res = fObjSvc.getObject(fRepositoryId, id, "*", false, IncludeRelationships.NONE, null, false, false, null);
            assertNotNull(res);
            props = res.getProperties().getProperties();
            for (PropertyData<?> pd2 : props.values()) {
                log.info("  return property id: " + pd2.getId() + ", value: " + pd2.getValues());
            }
            pd = props.get(TEST_DOCUMENT_MY_STRING_PROP_ID);
            assertNull(pd.getFirstValue());
            // delete a required property and expect exception:
            properties = new ArrayList<PropertyData<?>>();
            properties.add(fFactory.createPropertyIntegerData(TEST_DOCUMENT_MY_INT_PROP_ID, (BigInteger) null));
            newProps = fFactory.createPropertiesData(properties);
            idHolder = new Holder<String>(id);
            try {
                fObjSvc.updateProperties(fRepositoryId, idHolder, changeTokenHolder, newProps, null);
                fail("Deleteing a required property should fail.");
            } catch (Exception e) {
                assertTrue(e instanceof CmisConstraintException);
            }

            // Test violation of property definition constraints
            log.info("Test violation of property definition constraints");
            properties = new ArrayList<PropertyData<?>>();
            properties.add(fFactory.createPropertyStringData(TEST_DOCUMENT_MY_STRING_PROP_ID,
                    "A very long String ABCDEFHIJKLMNOPQRSTUVWXYZ"));
            newProps = fFactory.createPropertiesData(properties);
            idHolder = new Holder<String>(id);
            try {
                fObjSvc.updateProperties(fRepositoryId, idHolder, changeTokenHolder, newProps, null);
                fail("Exceeding max String lengt h should fail.");
            } catch (Exception e) {
                assertTrue(e instanceof CmisConstraintException);
            }
            // Test stale token
            log.info("Test stale token");
            properties = new ArrayList<PropertyData<?>>();
            properties.add(fFactory.createPropertyStringData(TEST_DOCUMENT_MY_STRING_PROP_ID, "ABC"));
            newProps = fFactory.createPropertiesData(properties);
            // set outdated token
            newChangeToken = changeTokenHolder.getValue();
            changeTokenHolder.setValue(oldChangeToken);
            assertFalse(oldChangeToken.equals(newChangeToken));
            try {
                fObjSvc.updateProperties(fRepositoryId, idHolder, changeTokenHolder, newProps, null);
                fail("Update with an outdated changeToken should fail.");
            } catch (Exception e) {
                assertTrue(e instanceof CmisUpdateConflictException);
            }

            // test a rename
            log.info("Test renaming");
            final String newName = "My Renamed Document"; // MY_CUSTOM_NAME
            properties = new ArrayList<PropertyData<?>>();
            properties.add(fFactory.createPropertyIdData(PropertyIds.NAME, newName));
            newProps = fFactory.createPropertiesData(properties);
            changeTokenHolder.setValue(newChangeToken);
            fObjSvc.updateProperties(fRepositoryId, idHolder, changeTokenHolder, newProps, null);
            id = idHolder.getValue(); // note that id is path and has changed!
            res = fObjSvc.getObject(fRepositoryId, id, "*", false, IncludeRelationships.NONE, null, false, false, null);
            assertNotNull(res);
            props = res.getProperties().getProperties();
            pd = props.get(PropertyIds.NAME);
            assertNotNull(pd);
            assertEquals(newName, pd.getFirstValue());

            // test rename with a conflicting name
View Full Code Here

        return getObjectInternal(repositoryId, IdentifierType.PATH, path, ReturnVersion.THIS, filter,
                includeAllowableActions, includeRelationships, renditionFilter, includePolicyIds, includeACL, extension);
    }

    public Properties getProperties(String repositoryId, String objectId, String filter, ExtensionsData extension) {
        ObjectData object = getObjectInternal(repositoryId, IdentifierType.ID, objectId, ReturnVersion.THIS, filter,
                Boolean.FALSE, IncludeRelationships.NONE, "cmis:none", Boolean.FALSE, Boolean.FALSE, extension);

        return object.getProperties();
    }
View Full Code Here

        return object.getProperties();
    }

    public List<RenditionData> getRenditions(String repositoryId, String objectId, String renditionFilter,
            BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) {
        ObjectData object = getObjectInternal(repositoryId, IdentifierType.ID, objectId, ReturnVersion.THIS,
                PropertyIds.OBJECT_ID, Boolean.FALSE, IncludeRelationships.NONE, renditionFilter, Boolean.FALSE,
                Boolean.FALSE, extension);

        List<RenditionData> result = object.getRenditions();
        if (result == null) {
            result = Collections.emptyList();
        }

        return result;
View Full Code Here

        log.info("starting testAllowableActions() ...");
        final boolean withContent = false;
        String id = createDocument(fRootFolderId, withContent);

        // get allowable actions via getObject
        ObjectData res = fObjSvc.getObject(fRepositoryId, id, "*", true, IncludeRelationships.NONE, null, false, false,
                null);
        assertNotNull(res.getAllowableActions());
        Set<Action> actions = res.getAllowableActions().getAllowableActions();
        assertNotNull(actions);
        verifyAllowableActionsDocument(actions, false, withContent);

        // get allowable actions via getAllowableActions
        AllowableActions allowableActions = fObjSvc.getAllowableActions(fRepositoryId, id, null);
View Full Code Here

        properties.add(fFactory.createPropertyIdData(PropertyIds.NAME, RENAMED_DOC_NAME));
        Properties newProps = fFactory.createPropertiesData(properties);
        Holder<String> changeTokenHolder = new Holder<String>();
        fObjSvc.updateProperties(fRepositoryId, idHolder, changeTokenHolder, newProps, null);
        docId = idHolder.getValue();
        ObjectData res = fObjSvc.getObject(fRepositoryId, docId, "*", false, IncludeRelationships.NONE, null, false,
                false, null);
        assertNotNull(res);
        Map<String, PropertyData<?>> propMap = res.getProperties().getProperties();
        PropertyData<?> pd = propMap.get(PropertyIds.NAME);
        assertNotNull(pd);
        assertEquals(RENAMED_DOC_NAME, pd.getFirstValue());
    }
View Full Code Here

TOP

Related Classes of org.apache.chemistry.opencmis.commons.data.ObjectData

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.