Example usage for org.apache.commons.lang StringUtils deleteWhitespace

List of usage examples for org.apache.commons.lang StringUtils deleteWhitespace

Introduction

In this page you can find the example usage for org.apache.commons.lang StringUtils deleteWhitespace.

Prototype

public static String deleteWhitespace(String str) 

Source Link

Document

Deletes all whitespaces from a String as defined by Character#isWhitespace(char) .

Usage

From source file:org.betaconceptframework.astroboa.console.jsf.edit.ContentObjectPropertyWrapper.java

public List<ContentObjectUIWrapper> findContentObjects_UIAction(Object event) {
    try {/*w  ww  .  j a  v a 2s.com*/

        String selectedContentObjectTitle = event.toString();

        //Do not proceed if selected topic label is empty
        if (StringUtils.isBlank(selectedContentObjectTitle))
            return null;

        //Reset criteria
        contentObjectCriteria.reset();

        //Profile Title criterion
        if (StringUtils.deleteWhitespace(selectedContentObjectTitle).equals(selectedContentObjectTitle)
                && !selectedContentObjectTitle.contains("\"") && !selectedContentObjectTitle.contains("'")
                && !selectedContentObjectTitle.contains("*")) {
            //If Search Text contains only one word and not any special search character then Append * at the end
            contentObjectCriteria.addCriterion(CriterionFactory.contains("profile.title",
                    CmsConstants.ANY_NAME + selectedContentObjectTitle + CmsConstants.ANY_NAME));
        } else {
            contentObjectCriteria
                    .addCriterion(CriterionFactory.contains("profile.title", selectedContentObjectTitle));
        }

        //ContentObject Types criterion
        if (CollectionUtils.isNotEmpty(acceptedContentTypes)) {
            contentObjectCriteria.addContentObjectTypesEqualsAnyCriterion(acceptedContentTypes);
        }

        CmsOutcome<ContentObject> cmsOutcome = contentService.searchContentObjects(contentObjectCriteria,
                ResourceRepresentationType.CONTENT_OBJECT_LIST);

        List<ContentObjectUIWrapper> wrappedContentObjects = new ArrayList<ContentObjectUIWrapper>();

        if (cmsOutcome.getCount() > 0) {
            List<ContentObject> objects = cmsOutcome.getResults();

            for (ContentObject object : objects) {
                wrappedContentObjects.add(contentObjectUIWrapperFactory.getInstance(object));
            }
        }

        return wrappedContentObjects;

    } catch (Exception e) {
        logger.error("Error while loading Content Objects ", e);
        return null;
    }

}

From source file:org.betaconceptframework.astroboa.engine.cache.regions.JcrQueryCacheRegion.java

public static Fqn<String> constructJcrQueryFQN(String jcrQuery, CacheRegion cacheRegion) {

    //replace all '/'  and spaces with empty string
    String jcrQueryWithoutForwardSlashes = StringUtils.remove(jcrQuery, CmsConstants.FORWARD_SLASH);

    if (cacheRegion == null) {
        cacheRegion = CmsCriteria.DEFAULT_CACHE_REGION;
    }//from   www  . j  a v a 2s  .c o m

    //Create  Cache Region FQN
    Fqn<String> cacheRegionFqn = Fqn.fromRelativeElements(JCR_QUERY_NODE_FQN, cacheRegion.getRegionName());

    //Create FQN for authentication token
    String authenticationToken = AstroboaClientContextHolder.getActiveAuthenticationToken();

    if (authenticationToken == null) {
        throw new CmsException(
                "No active authenticationToken found. Could not construct appropriate FQN for query "
                        + jcrQuery);
    }

    Fqn<String> autheticationTokenFqn = Fqn.fromRelativeElements(cacheRegionFqn, authenticationToken);

    return Fqn.fromRelativeElements(autheticationTokenFqn,
            StringUtils.deleteWhitespace(jcrQueryWithoutForwardSlashes));

}

From source file:org.betaconceptframework.astroboa.engine.jcr.dao.RepositoryUserDao.java

private void populateSpace(RepositoryUser repositoryUser, Node repositoryUserNode, Session session,
        Context context) throws RepositoryException {

    Space repositoryUserSpace = repositoryUser.getSpace();
    if (repositoryUserSpace == null) {
        ((RepositoryUserImpl) repositoryUser).setSpace(cmsRepositoryEntityFactoryForActiveClient.newSpace());
        repositoryUserSpace = repositoryUser.getSpace();
    }/*from   ww  w.j  a va  2  s.  c om*/

    if (!repositoryUser.getSpace().hasLocalizedLabels()
            && MapUtils.isNotEmpty(defaultSpaceLocalization.getLocalizedLabels())) {
        repositoryUser.getSpace().getLocalizedLabels().putAll(defaultSpaceLocalization.getLocalizedLabels());
    }

    if (repositoryUserSpace.getName() == null) {
        repositoryUserSpace.setName("spaceForUser" + repositoryUser.getExternalId());
    }

    //Since Space name must follow a specific pattern, check if repository user space name is valid.
    //if not then issue a warning and replace value with a default value.
    if (!cmsRepositoryEntityUtils.isValidSystemName(repositoryUserSpace.getName())) {
        //First try to remove all white spaces, in case space name has not changed since it was first created by the 
        //following line of code
        //repositoryUserSpace.setName("Space for user"+ repositoryUser.getExternalId());
        String nameWithoutWhiteSpaces = StringUtils.deleteWhitespace(repositoryUserSpace.getName());

        if (!cmsRepositoryEntityUtils.isValidSystemName(nameWithoutWhiteSpaces)) {
            //Name is still invalid. Issue a warning and replace name so that save can continue safely
            logger.warn(
                    "Repository User's '{}' Space name '{}' does not follow pattern {} and to will change to 'spaceForUser'. "
                            + " In order to provide a different name you must explicitly save RepositotyUser Space by using SpaceService.",
                    new Object[] { repositoryUser.getLabel(), repositoryUserSpace.getName(),
                            CmsConstants.SYSTEM_NAME_REG_EXP });
        } else {
            repositoryUserSpace.setName(nameWithoutWhiteSpaces);
        }
    }

    //Create Space if it does not exist
    Node spaceNode = null;

    if (!repositoryUserNode.hasNode(CmsBuiltInItem.Space.getJcrName())) {

        repositoryUserSpace.setOwner(repositoryUser);
        repositoryUserSpace.setOrder(Long.valueOf(1));

        //Create new node
        spaceNode = JcrNodeUtils.addSpaceNode(repositoryUserNode, CmsBuiltInItem.Space.getJcrName());

        //Create a Astroboa identifier for space or use the one provided
        cmsRepositoryEntityUtils.createCmsIdentifier(spaceNode, repositoryUserSpace, true);

        //Set Owner
        //Inform associations about relation between new space and repository user
        EntityAssociationUpdateHelper<RepositoryUser> repositoryUserAssociationUpdateHelper = new EntityAssociationUpdateHelper<RepositoryUser>(
                session, cmsRepositoryEntityAssociationDao, context);

        repositoryUserAssociationUpdateHelper.setReferrerCmsRepositoryEntityNode(spaceNode);
        repositoryUserAssociationUpdateHelper.setReferrerPropertyName(CmsBuiltInItem.OwnerCmsIdentifier);
        repositoryUserAssociationUpdateHelper.setValuesToBeAdded(Arrays.asList(repositoryUser));
        repositoryUserAssociationUpdateHelper.update();
    } else {
        spaceNode = repositoryUserNode.getNode(CmsBuiltInItem.Space.getJcrName());

        if (!repositoryUser.getSpace().hasLocalizedLabels()
                && MapUtils.isNotEmpty(defaultSpaceLocalization.getLocalizedLabels())) {
            repositoryUser.getSpace().getLocalizedLabels()
                    .putAll(defaultSpaceLocalization.getLocalizedLabels());
        }

        //Space node is not new. Check that an identifier exists
        if (!cmsRepositoryEntityUtils.hasCmsIdentifier(spaceNode)) {
            cmsRepositoryEntityUtils.createCmsIdentifier(spaceNode, repositoryUserSpace, true);
        } else {

            String spaceIdentifier = cmsRepositoryEntityUtils.getCmsIdentifier(spaceNode);

            //User has provided an identifier for space
            //Check if it matches with the one in space jcr node only if space does not represent SYSTEM's space
            if (repositoryUserSpace.getId() != null) {
                if (!repositoryUserSpace.getId().equals(spaceIdentifier)
                        && !StringUtils.equals(CmsApiConstants.SYSTEM_REPOSITORY_USER_EXTRENAL_ID,
                                repositoryUser.getExternalId())) {
                    throw new CmsException("Space identifier " + spaceIdentifier + " for repository user "
                            + repositoryUser.getLabel() + " does not match with the provided identifier "
                            + repositoryUserSpace.getId());
                }
            } else {
                //User does not have an identifier for space. Update its value
                repositoryUserSpace.setId(spaceIdentifier);
            }
        }
    }

    //Update localization for repository user space
    spaceUtils.updateLocalizedLabels(repositoryUser.getSpace(), spaceNode);

    //Populate Node with default values
    spaceUtils.updateOrder(repositoryUser.getSpace(), spaceNode);
    spaceUtils.updateName(repositoryUser.getSpace(), spaceNode);

}

From source file:org.betaconceptframework.astroboa.test.engine.AbstractRepositoryTest.java

protected String removeWhitespacesIfNecessary(CmsCriteria cmsCriteria, String xmlOrJson) {

     if (xmlOrJson != null && cmsCriteria.getRenderProperties().isPrettyPrintEnabled()) {
         return StringUtils.deleteWhitespace(xmlOrJson);
     }/*  ww  w .j a  v a 2 s  .  c  o  m*/

     return xmlOrJson;
 }

From source file:org.betaconceptframework.astroboa.test.engine.AbstractRepositoryTest.java

protected String removeWhitespacesIfNecessary(String xmlOrJson) {

     if (xmlOrJson != null && prettyPrint) {
         return StringUtils.deleteWhitespace(xmlOrJson);
     }//w w  w .  ja  v a 2  s  .  co  m

     return xmlOrJson;
 }

From source file:org.betaconceptframework.astroboa.test.engine.security.ContentObjectSecurityTest.java

@Test
public void testContentObjectAccessForAnonymousUser() {

    loginToTestRepositoryAsSystem();//  w  w w .java2 s .  co m

    //Create content objects for test
    RepositoryUser systemUser = getSystemUser();

    ContentObject contentObject = createContentObject(systemUser, "secureContentObject");

    //Provide empty value for string
    ((StringProperty) contentObject.getCmsProperty("profile.contentObjectStatus"))
            .setSimpleTypeValue(ContentObjectStatus.submitted.toString());

    contentObject = contentService.save(contentObject, false, true, null);
    markObjectForRemoval(contentObject);

    //Login as anonymous
    loginToTestRepositoryAsAnonymous();

    ContentObjectCriteria contentObjectCriteria = CmsCriteriaFactory
            .newContentObjectCriteria(TEST_CONTENT_TYPE);
    contentObjectCriteria.addIdEqualsCriterion(contentObject.getId());
    contentObjectCriteria.doNotCacheResults();

    CmsOutcome<ContentObject> outcome = contentService.searchContentObjects(contentObjectCriteria,
            ResourceRepresentationType.CONTENT_OBJECT_LIST);

    Assert.assertEquals(outcome.getCount(), 0, "Found " + outcome.getCount()
            + " content objects matching criteria where none should have matched");

    String resultsExportedAsXml = contentService.searchContentObjects(contentObjectCriteria,
            ResourceRepresentationType.XML);

    Assert.assertTrue(
            StringUtils.isNotBlank(resultsExportedAsXml)
                    && StringUtils.contains(resultsExportedAsXml, CmsConstants.TOTAL_RESOURCE_COUNT + "=\"0\""),
            "Found " + resultsExportedAsXml
                    + " content objects matching criteria where none should have matched");

    String resultsExportedAsJson = contentService.searchContentObjects(contentObjectCriteria,
            ResourceRepresentationType.JSON);

    final String expected = "{\"" + CmsConstants.TOTAL_RESOURCE_COUNT + "\":\"0\",\"" + CmsConstants.OFFSET
            + "\":\"0\"}";
    Assert.assertTrue(
            StringUtils.isNotBlank(resultsExportedAsJson)
                    && StringUtils.contains(StringUtils.deleteWhitespace(resultsExportedAsJson), expected),
            "Search returned the following results " + resultsExportedAsJson
                    + " but no results expected, that is \n" + expected);

    outcome = contentService.searchContentObjects(contentObjectCriteria,
            ResourceRepresentationType.CONTENT_OBJECT_LIST);

    //Change status to published
    loginToTestRepositoryAsSystem();
    ((StringProperty) contentObject.getCmsProperty("profile.contentObjectStatus"))
            .setSimpleTypeValue(ContentObjectStatus.published.toString());
    contentObject = contentService.save(contentObject, false, true, null);

    loginToTestRepositoryAsAnonymous();

    outcome = contentService.searchContentObjects(contentObjectCriteria,
            ResourceRepresentationType.CONTENT_OBJECT_LIST);

    Assert.assertEquals(outcome.getCount(), 1,
            "Could not find content objects matching criteria for anonymous user");

    loginToTestRepositoryAsSystem();
}

From source file:org.betaconceptframework.astroboa.test.engine.service.ContentServiceTest.java

@Test
public void testContentObjectExportOfComplexWithCommonAttributes() throws Exception {

    //Create content objects for test
    RepositoryUser systemUser = getSystemUser();

    Topic topic = JAXBTestUtils.createTopic("co3Topic",
            CmsRepositoryEntityFactoryForActiveClient.INSTANCE.getFactory().newTopic(), systemUser);
    topic.setTaxonomy(getSubjectTaxonomy());

    ContentObject contentObject = createContentObject(systemUser, "test-export-with-complex-with-id");

    ((StringProperty) contentObject.getCmsProperty("singleComplexNotAspectWithCommonAttributes.additionalName"))
            .setSimpleTypeValue("Test");
    ((TopicReferenceProperty) contentObject
            .getCmsProperty("singleComplexNotAspectWithCommonAttributes.testTopic")).addSimpleTypeValue(topic);

    contentObject = contentService.save(contentObject, false, true, null);
    markTopicForRemoval(topicService.getTopic(topic.getName(), ResourceRepresentationType.TOPIC_INSTANCE,
            FetchLevel.ENTITY, false));/*  ww  w . j a  va  2  s  . c  om*/
    markObjectForRemoval(contentObject);

    //Retrieve content object
    contentObject = contentService.getContentObject(contentObject.getId(),
            ResourceRepresentationType.CONTENT_OBJECT_INSTANCE, FetchLevel.FULL, CacheRegion.NONE,
            Arrays.asList("singleComplexNotAspectWithCommonAttributes.additionalName",
                    "singleComplexNotAspectWithCommonAttributes.testTopic"),
            false);

    ComplexCmsProperty singleComplexNotAspectWithCommonAttributesProperty = (ComplexCmsProperty) contentObject
            .getCmsProperty("singleComplexNotAspectWithCommonAttributes");

    //Export to xml and JSON using all possible methods and check if common attributes are exported
    String xmlExportExpectedToBeFound = "<singleComplexNotAspectWithCommonAttributes cmsIdentifier=\""
            + singleComplexNotAspectWithCommonAttributesProperty.getId() + "\"";
    String xmlExportExpectedToBeFoundWithoutWhitespaces = removeWhitespacesIfNecessary(
            xmlExportExpectedToBeFound);

    String jsonExportExpectedToBeFound = "\"singleComplexNotAspectWithCommonAttributes\":{\"cmsIdentifier\":\""
            + singleComplexNotAspectWithCommonAttributesProperty.getId() + "\"";
    String jsonExportExpectedToBeFoundWithoutWhitespaces = removeWhitespacesIfNecessary(
            jsonExportExpectedToBeFound);

    String xmlFromService = contentService.getContentObject(contentObject.getId(),
            ResourceRepresentationType.XML, FetchLevel.FULL, CacheRegion.NONE,
            Arrays.asList("singleComplexNotAspectWithCommonAttributes",
                    "singleComplexNotAspectWithCommonAttributes"),
            false);

    String xmlFromServiceWithoutWhitespaces = removeWhitespacesIfNecessary(xmlFromService);

    Assert.assertTrue(xmlFromServiceWithoutWhitespaces.contains(xmlExportExpectedToBeFoundWithoutWhitespaces),
            "Found common attributes in XML export from the ContentService of a complex property which does not define them in its schema\n"
                    + xmlFromService);

    String xmlFromObject = contentObject.xml(prettyPrint);
    String xmlFromObjectWithoutWhitespaces = removeWhitespacesIfNecessary(xmlFromObject);

    Assert.assertTrue(xmlFromObjectWithoutWhitespaces.contains(xmlExportExpectedToBeFoundWithoutWhitespaces),
            "Found common attributes in XML export from method ContentObject.xml() of a complex property which does not define them in its schema\n"
                    + xmlFromObject);

    String jsonFromService = contentService.getContentObject(contentObject.getId(),
            ResourceRepresentationType.JSON, FetchLevel.FULL, CacheRegion.NONE,
            Arrays.asList("singleComplexNotAspectWithCommonAttributes",
                    "singleComplexNotAspectWithCommonAttributes"),
            false);
    String jsonFromServiceWithoutWhitespaces = removeWhitespacesIfNecessary(jsonFromService);

    Assert.assertTrue(jsonFromServiceWithoutWhitespaces.contains(jsonExportExpectedToBeFoundWithoutWhitespaces),
            "Found common attributes in JSON export from the ContentService of a complex property which does not define them in its schema\n"
                    + jsonFromService);

    String jsonFromObject = contentObject.json(prettyPrint);
    Assert.assertTrue(
            StringUtils.deleteWhitespace(jsonFromObject)
                    .contains(jsonExportExpectedToBeFoundWithoutWhitespaces),
            "Found common attributes in JSON export from method ContentObject.json() of a complex property which does not define them in its schema\n"
                    + jsonFromObject);

}

From source file:org.betaconceptframework.astroboa.test.engine.service.ContentServiceTest.java

private void assertStringRepresentationHasTheProperPropertiesLoaded(String xmlOrJson,
        ContentObject contentObject, ResourceRepresentationType<String> resourceRepresentationType,
        FetchLevel fetchLevel, List<String> propertiesToExport) throws Exception {

    xmlOrJson = removeWhitespacesIfNecessary(xmlOrJson);

    String expectedURL = contentObject.getResourceApiURL(resourceRepresentationType, false,
            contentObject.getSystemName() != null);

    if (resourceRepresentationType.equals(ResourceRepresentationType.XML)) {

        String expectedProperty = "cmsIdentifier=\"" + contentObject.getId() + "\"";
        Assert.assertTrue(xmlOrJson.contains(expectedProperty), "XML export \n" + xmlOrJson
                + " \n does not contain content object identifier " + contentObject.getId());

        expectedProperty = "systemName=\"" + contentObject.getSystemName() + "\"";
        Assert.assertTrue(xmlOrJson.contains(expectedProperty), "XML export \n" + xmlOrJson
                + " \n does not contain content object system name " + contentObject.getSystemName());

        expectedProperty = "contentObjectTypeName=\"" + contentObject.getContentObjectType() + "\"";
        Assert.assertTrue(xmlOrJson.contains(expectedProperty), "XML export \n" + xmlOrJson
                + " \n does not contain content object type " + contentObject.getContentObjectType());

        expectedProperty = "url=\"" + expectedURL + "\"";
        Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                "XML export \n" + xmlOrJson + " \n does not contain content object url " + expectedURL);

        if ((fetchLevel == null || fetchLevel == FetchLevel.ENTITY)
                && CollectionUtils.isEmpty(propertiesToExport)) {

            expectedProperty = "<profile";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "XML export \n" + xmlOrJson + " \n does not contain content object's profile ");

            expectedProperty = "<title>" + StringUtils.deleteWhitespace(
                    ((StringProperty) contentObject.getCmsProperty("profile.title")).getSimpleTypeValue())
                    + "</title>";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "XML export \n" + xmlOrJson + " \n does not contain content object's profile.title");

            expectedProperty = "<created>" + convertCalendarToXMLFormat(
                    ((CalendarProperty) contentObject.getCmsProperty("profile.created")).getSimpleTypeValue(),
                    true) + "</created>";
            Assert.assertFalse(xmlOrJson.contains(expectedProperty),
                    "XML export \n" + xmlOrJson + " \n contains content object's profile.created");

            expectedProperty = "<accessibility";
            Assert.assertFalse(xmlOrJson.contains(expectedProperty),
                    "XML export \n" + xmlOrJson + " \n contains content object's accessibility");

            expectedProperty = "<canBeReadBy>"
                    + ((StringProperty) contentObject.getCmsProperty("accessibility.canBeReadBy"))
                            .getFirstValue()
                    + "</canBeReadBy>";
            Assert.assertFalse(xmlOrJson.contains(expectedProperty),
                    "XML export \n" + xmlOrJson + " \n contains content object's accessibility.canBeReadBy");

            expectedProperty = "<owner";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "XML export \n" + xmlOrJson + " \n does not contain content object owner ");

            expectedProperty = "cmsIdentifier=\"" + contentObject.getOwner().getId() + "\"";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "XML export \n" + xmlOrJson + " \n does not contain content object's owner identifier "
                            + contentObject.getOwner().getId());

            expectedProperty = "externalId=\"" + contentObject.getOwner().getExternalId() + "\"";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "XML export \n" + xmlOrJson + " \n does not contain content object's owner external id "
                            + contentObject.getOwner().getExternalId());

            //Since user is SYSTEM User , she has by default the label 'ACCOUNT SYSTEM'. If pretty print
            //has been enabled, then xmlOrJson will processed to remove all whitespaces
            //and therefore label wil be ACCOUNTSYSTEM. In this case we need to remove the whitespaces from the value
            //in contentObject.getOwner().getLabel()
            expectedProperty = "label=\"" + removeWhitespacesIfNecessary(contentObject.getOwner().getLabel())
                    + "\"";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "XML export \n" + xmlOrJson + " \n does not contain content object's owner external id "
                            + contentObject.getOwner().getLabel());

            for (CmsPropertyPath cmsPropertyPath : CmsPropertyPath.values()) {
                String propertyName = cmsPropertyPath.getPeriodDelimitedPath();
                expectedProperty = "<" + PropertyPath.getLastDescendant(propertyName);
                Assert.assertFalse(xmlOrJson.contains(expectedProperty),
                        "XML export \n" + xmlOrJson + " \n contains content object property " + propertyName);
            }//from ww  w  .jav  a  2 s .com
        } else if (fetchLevel == FetchLevel.FULL) {
            expectedProperty = "<profile";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "XML export \n" + xmlOrJson + " \n does not contain content object's profile ");

            expectedProperty = "<title>" + StringUtils.deleteWhitespace(
                    ((StringProperty) contentObject.getCmsProperty("profile.title")).getSimpleTypeValue())
                    + "</title>";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "XML export \n" + xmlOrJson + " \n does not contain content object's profile.title");

            expectedProperty = "<created>" + convertCalendarToXMLFormat(
                    ((CalendarProperty) contentObject.getCmsProperty("profile.created")).getSimpleTypeValue(),
                    true) + "</created>";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "XML export \n" + xmlOrJson + " \n does not contain content object's profile.created");

            expectedProperty = "<accessibility";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "XML export \n" + xmlOrJson + " \n does not contain content object's accessibility");

            expectedProperty = "<canBeReadBy>"
                    + ((StringProperty) contentObject.getCmsProperty("accessibility.canBeReadBy"))
                            .getFirstValue()
                    + "</canBeReadBy>";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty), "XML export \n" + xmlOrJson
                    + " \n does not contain content object's accessibility.canBeReadBy");

            expectedProperty = "<owner";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "XML export \n" + xmlOrJson + " \n does not contain content object owner ");

            expectedProperty = "cmsIdentifier=\"" + contentObject.getOwner().getId() + "\"";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "XML export \n" + xmlOrJson + " \n does not contain content object's owner identifier "
                            + contentObject.getOwner().getId());

            expectedProperty = "externalId=\"" + contentObject.getOwner().getExternalId() + "\"";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "XML export \n" + xmlOrJson + " \n does not contain content object's owner external id "
                            + contentObject.getOwner().getExternalId());

            //Since user is SYSTEM User , she has by default the label 'ACCOUNT SYSTEM'. If pretty print
            //has been enabled, then xmlOrJson will processed to remove all whitespaces
            //and therefore label wil be ACCOUNTSYSTEM. In this case we need to remove the whitespaces from the value
            //in contentObject.getOwner().getLabel()
            expectedProperty = "label=\"" + removeWhitespacesIfNecessary(contentObject.getOwner().getLabel())
                    + "\"";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "XML export \n" + xmlOrJson + " \n does not contain content object's owner external id "
                            + contentObject.getOwner().getLabel());

            for (CmsPropertyPath cmsPropertyPath : CmsPropertyPath.values()) {
                String propertyName = cmsPropertyPath.getPeriodDelimitedPath();
                expectedProperty = "<" + PropertyPath.getLastDescendant(propertyName);
                Assert.assertTrue(xmlOrJson.contains(expectedProperty), "XML export \n" + xmlOrJson
                        + " \n does not contain content object property " + propertyName);
            }
        } else {

            if (propertiesToExport != null && propertiesToExport.size() > 0) {

                if (!propertiesToExport.contains("profile") && !propertiesToExport.contains("profile.title")) {
                    expectedProperty = "<title>" + StringUtils
                            .deleteWhitespace(((StringProperty) contentObject.getCmsProperty("profile.title"))
                                    .getSimpleTypeValue())
                            + "</title>";
                    Assert.assertFalse(xmlOrJson.contains(expectedProperty),
                            "XML export \n" + xmlOrJson + " \n contains content object's profile.title");

                    expectedProperty = "<owner";
                    Assert.assertFalse(xmlOrJson.contains(expectedProperty),
                            "XML export \n" + xmlOrJson + " \n contains content object owner ");

                    expectedProperty = "cmsIdentifier=\"" + contentObject.getOwner().getId() + "\"";
                    Assert.assertFalse(xmlOrJson.contains(expectedProperty),
                            "XML export \n" + xmlOrJson + " \n contains content object's owner identifier "
                                    + contentObject.getOwner().getId());

                    expectedProperty = "externalId=\"" + contentObject.getOwner().getExternalId() + "\"";
                    Assert.assertFalse(xmlOrJson.contains(expectedProperty),
                            "XML export \n" + xmlOrJson + " \n contains content object's owner external id "
                                    + contentObject.getOwner().getExternalId());

                    expectedProperty = "label=\"" + contentObject.getOwner().getLabel() + "\"";
                    Assert.assertFalse(xmlOrJson.contains(expectedProperty),
                            "XML export \n" + xmlOrJson + " \n contains content object's owner external id "
                                    + contentObject.getOwner().getLabel());

                }

                for (String propertyToExport : propertiesToExport) {
                    String propertyName = PropertyPath.getLastDescendant(propertyToExport);
                    Assert.assertTrue(xmlOrJson.contains(propertyName), "XML export \n" + xmlOrJson
                            + " \n does not contain content object property " + propertyName);
                }
            } else {
                expectedProperty = "<title>" + StringUtils.deleteWhitespace(
                        ((StringProperty) contentObject.getCmsProperty("profile.title")).getSimpleTypeValue())
                        + "</title>";
                Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                        "XML export \n" + xmlOrJson + " \n does not contain content object's profile.title");

                expectedProperty = "<owner";
                Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                        "XML export \n" + xmlOrJson + " \n does not content object owner ");

                expectedProperty = "cmsIdentifier=\"" + contentObject.getOwner().getId() + "\"";
                Assert.assertTrue(xmlOrJson.contains(expectedProperty), "XML export \n" + xmlOrJson
                        + " \n does not content object's owner identifier " + contentObject.getOwner().getId());

                expectedProperty = "externalId=\"" + contentObject.getOwner().getExternalId() + "\"";
                Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                        "XML export \n" + xmlOrJson + " \n does not content object's owner external id "
                                + contentObject.getOwner().getExternalId());

                expectedProperty = "label=\"" + contentObject.getOwner().getLabel() + "\"";
                Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                        "XML export \n" + xmlOrJson + " \n does not content object's owner external id "
                                + contentObject.getOwner().getLabel());

            }
        }

    } else if (resourceRepresentationType.equals(ResourceRepresentationType.JSON)) {

        String expectedProperty = "\"cmsIdentifier\":\"" + contentObject.getId() + "\"";
        Assert.assertTrue(xmlOrJson.contains(expectedProperty), "JSON export \n" + xmlOrJson
                + " \n does not contain content object identifier " + contentObject.getId());

        expectedProperty = "\"systemName\":\"" + contentObject.getSystemName() + "\"";
        Assert.assertTrue(xmlOrJson.contains(expectedProperty), "JSON export \n" + xmlOrJson
                + " \n does not contain content object system name " + contentObject.getSystemName());

        expectedProperty = "\"contentObjectTypeName\":\"" + contentObject.getContentObjectType() + "\"";
        Assert.assertTrue(xmlOrJson.contains(expectedProperty), "JSON export \n" + xmlOrJson
                + " \n does not contain content object type " + contentObject.getContentObjectType());

        expectedProperty = "\"url\":\"" + expectedURL + "\"";
        Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                "JSON export \n" + xmlOrJson + " \n does not contain content object url " + expectedURL);

        if ((fetchLevel == null || fetchLevel == FetchLevel.ENTITY)
                && CollectionUtils.isEmpty(propertiesToExport)) {
            expectedProperty = "\"profile\":{";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "JSON export \n" + xmlOrJson + " \n does not contain content object's profile ");

            expectedProperty = "\"title\":\"" + StringUtils.deleteWhitespace(
                    ((StringProperty) contentObject.getCmsProperty("profile.title")).getSimpleTypeValue())
                    + "\"";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "JSON export \n" + xmlOrJson + " \n does not contain content object's profile.title");

            expectedProperty = "\"created\":\"" + convertCalendarToXMLFormat(
                    ((CalendarProperty) contentObject.getCmsProperty("profile.created")).getSimpleTypeValue(),
                    true) + "\"";
            Assert.assertFalse(xmlOrJson.contains(expectedProperty),
                    "JSON export \n" + xmlOrJson + " \n contains content object's profile.created");

            expectedProperty = "\"accessibility\":{";
            Assert.assertFalse(xmlOrJson.contains(expectedProperty),
                    "JSON export \n" + xmlOrJson + " \n contains content object's accessibility");

            expectedProperty = "\"canBeReadBy\":\""
                    + ((StringProperty) contentObject.getCmsProperty("accessibility.canBeReadBy"))
                            .getFirstValue()
                    + "\"";
            Assert.assertFalse(xmlOrJson.contains(expectedProperty),
                    "JSON export \n" + xmlOrJson + " \n contains content object's accessibility.canBeReadBy");

            expectedProperty = "\"owner\":{";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "JSON export \n" + xmlOrJson + " \n does not contain content object owner ");

            expectedProperty = "\"cmsIdentifier\":\"" + contentObject.getOwner().getId() + "\"";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "JSON export \n" + xmlOrJson + " \n does not contain content object's owner identifier "
                            + contentObject.getOwner().getId());

            expectedProperty = "\"externalId\":\"" + contentObject.getOwner().getExternalId() + "\"";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "JSON export \n" + xmlOrJson + " \n does not contain content object's owner external id "
                            + contentObject.getOwner().getExternalId());

            //Since user is SYSTEM User , she has by default the label 'ACCOUNT SYSTEM'. If pretty print
            //has been enabled, then xmlOrJson will processed to remove all whitespaces
            //and therefore label wil be ACCOUNTSYSTEM. In this case we need to remove the whitespaces from the value
            //in contentObject.getOwner().getLabel()
            expectedProperty = "\"label\":\""
                    + removeWhitespacesIfNecessary(contentObject.getOwner().getLabel()) + "\"";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "JSON export \n" + xmlOrJson + " \n does not contain content object's owner external id "
                            + contentObject.getOwner().getLabel());

            for (CmsPropertyPath cmsPropertyPath : CmsPropertyPath.values()) {
                final String propertyName = cmsPropertyPath.getPeriodDelimitedPath();
                expectedProperty = PropertyPath.getLastDescendant(propertyName);
                Assert.assertFalse(xmlOrJson.contains(expectedProperty),
                        "JSON export \n" + xmlOrJson + " \n contains content object property " + propertyName);
            }
        } else if (fetchLevel == FetchLevel.FULL) {

            expectedProperty = "\"profile\":{";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "JSON export \n" + xmlOrJson + " \n does not contain content object's profile ");

            expectedProperty = "\"title\":\"" + StringUtils.deleteWhitespace(
                    ((StringProperty) contentObject.getCmsProperty("profile.title")).getSimpleTypeValue())
                    + "\"";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "JSON export \n" + xmlOrJson + " \n does not contain content object's profile.title");

            expectedProperty = "\"created\":\"" + convertCalendarToXMLFormat(
                    ((CalendarProperty) contentObject.getCmsProperty("profile.created")).getSimpleTypeValue(),
                    true) + "\"";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "JSON export \n" + xmlOrJson + " \n does not contain content object's profile.created");

            expectedProperty = "\"accessibility\":{";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "JSON export \n" + xmlOrJson + " \n does not contain content object's accessibility");

            expectedProperty = "\"canBeReadBy\":[\""
                    + ((StringProperty) contentObject.getCmsProperty("accessibility.canBeReadBy"))
                            .getFirstValue()
                    + "\"]";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty), "JSON export \n" + xmlOrJson
                    + " \n does not contain content object's accessibility.canBeReadBy");

            expectedProperty = "\"owner\":{";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "JSON export \n" + xmlOrJson + " \n does not contain content object owner ");

            expectedProperty = "\"cmsIdentifier\":\"" + contentObject.getOwner().getId() + "\"";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "JSON export \n" + xmlOrJson + " \n does not contain content object's owner identifier "
                            + contentObject.getOwner().getId());

            expectedProperty = "\"externalId\":\"" + contentObject.getOwner().getExternalId() + "\"";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "JSON export \n" + xmlOrJson + " \n does not contain content object's owner external id "
                            + contentObject.getOwner().getExternalId());

            //Since user is SYSTEM User , she has by default the label 'ACCOUNT SYSTEM'. If pretty print
            //has been enabled, then xmlOrJson will processed to remove all whitespaces
            //and therefore label wil be ACCOUNTSYSTEM. In this case we need to remove the whitespaces from the value
            //in contentObject.getOwner().getLabel()
            expectedProperty = "\"label\":\""
                    + removeWhitespacesIfNecessary(contentObject.getOwner().getLabel()) + "\"";
            Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                    "JSON export \n" + xmlOrJson + " \n does not contain content object's owner external id "
                            + contentObject.getOwner().getLabel());

            for (CmsPropertyPath cmsPropertyPath : CmsPropertyPath.values()) {
                final String propertyName = cmsPropertyPath.getPeriodDelimitedPath();
                expectedProperty = PropertyPath.getLastDescendant(propertyName);
                Assert.assertTrue(xmlOrJson.contains(expectedProperty), "JSON export \n" + xmlOrJson
                        + " \n does not contain content object property " + propertyName);
            }

        } else {

            if (propertiesToExport != null && propertiesToExport.size() > 0) {

                if (!propertiesToExport.contains("profile") && !propertiesToExport.contains("profile.title")) {
                    expectedProperty = "\"title\":\"" + StringUtils
                            .deleteWhitespace(((StringProperty) contentObject.getCmsProperty("profile.title"))
                                    .getSimpleTypeValue())
                            + "\"";
                    Assert.assertFalse(xmlOrJson.contains(expectedProperty),
                            "JSON export \n" + xmlOrJson + " \n contains content object's profile.title");

                    expectedProperty = "\"owner\":{";
                    Assert.assertFalse(xmlOrJson.contains(expectedProperty),
                            "JSON export \n" + xmlOrJson + " \n contains content object owner ");

                    expectedProperty = "\"cmsIdentifier\":\"" + contentObject.getOwner().getId() + "\"";
                    Assert.assertFalse(xmlOrJson.contains(expectedProperty),
                            "JSON export \n" + xmlOrJson + " \n contains content object's owner identifier "
                                    + contentObject.getOwner().getId());

                    expectedProperty = "\"externalId\":\"" + contentObject.getOwner().getExternalId() + "\"";
                    Assert.assertFalse(xmlOrJson.contains(expectedProperty),
                            "JSON export \n" + xmlOrJson + " \n contains content object's owner external id "
                                    + contentObject.getOwner().getExternalId());

                    //Since user is SYSTEM User , she has by default the label 'ACCOUNT SYSTEM'. If pretty print
                    //has been enabled, then xmlOrJson will processed to remove all whitespaces
                    //and therefore label will be ACCOUNTSYSTEM. In this case we need to remove the whitespaces from the value
                    //in contentObject.getOwner().getLabel()
                    expectedProperty = "\"label\":\""
                            + removeWhitespacesIfNecessary(contentObject.getOwner().getLabel()) + "\"";
                    Assert.assertFalse(xmlOrJson.contains(expectedProperty),
                            "JSON export \n" + xmlOrJson + " \n contains content object's owner external id "
                                    + contentObject.getOwner().getLabel());

                }

                for (String propertyToExport : propertiesToExport) {
                    String propertyName = PropertyPath.getLastDescendant(propertyToExport);
                    Assert.assertTrue(xmlOrJson.contains(propertyName), "JSON export \n" + xmlOrJson
                            + " \n does not contain content object property " + propertyName);
                }
            } else {
                expectedProperty = "\"title\":\"" + StringUtils.deleteWhitespace(
                        ((StringProperty) contentObject.getCmsProperty("profile.title")).getSimpleTypeValue())
                        + "\"";
                Assert.assertTrue(xmlOrJson.contains(expectedProperty), "JSON export \n" + xmlOrJson
                        + " \n does not contain content object's profile.title " + expectedProperty);

                expectedProperty = "\"owner\":{";
                Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                        "JSON export \n" + xmlOrJson + " \n does not contain content object owner ");

                expectedProperty = "\"cmsIdentifier\":\"" + contentObject.getOwner().getId() + "\"";
                Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                        "JSON export \n" + xmlOrJson + " \n does not contain content object's owner identifier "
                                + contentObject.getOwner().getId());

                expectedProperty = "\"externalId\":\"" + contentObject.getOwner().getExternalId() + "\"";
                Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                        "JSON export \n" + xmlOrJson
                                + " \n does not contain content object's owner external id "
                                + contentObject.getOwner().getExternalId());

                //Since user is SYSTEM User , she has by default the label 'ACCOUNT SYSTEM'. If pretty print
                //has been enabled, then xmlOrJson will processed to remove all whitespaces
                //and therefore label will be ACCOUNTSYSTEM. In this case we need to remove the whitespaces from the value
                //in contentObject.getOwner().getLabel()
                expectedProperty = "\"label\":\""
                        + removeWhitespacesIfNecessary(contentObject.getOwner().getLabel()) + "\"";
                Assert.assertTrue(xmlOrJson.contains(expectedProperty),
                        "JSON export \n" + xmlOrJson
                                + " \n does not contain content object's owner external id "
                                + contentObject.getOwner().getLabel());

            }
        }

    } else {
        throw new Exception("Invalid resource representation type " + resourceRepresentationType);
    }
}

From source file:org.betaconceptframework.astroboa.test.engine.service.RepositoryServiceTest.java

private void assertCriterionEquals(ContentObjectCriteria parserContentOjectCriteria,
        ContentObjectCriteria expectedContentOjectCriteria) {

    Assert.assertNotNull(parserContentOjectCriteria, "No criteria provided by parser");
    Assert.assertNotNull(expectedContentOjectCriteria, "No criteria provided by user");

    Assert.assertEquals(StringUtils.deleteWhitespace(parserContentOjectCriteria.getXPathQuery()),
            StringUtils.deleteWhitespace(expectedContentOjectCriteria.getXPathQuery()));
}

From source file:org.betaconceptframework.astroboa.test.engine.service.TaxonomyServiceTest.java

@Test
public void testGetAllTaxonomiesXmlorJSON() throws Throwable {

    Taxonomy newTaxonomy = JAXBTestUtils.createTaxonomy("newTaxonomyForXML",
            cmsRepositoryEntityFactory.newTaxonomy());

    newTaxonomy.clearLocalizedLabels();/*from w w w  .j a va  2s . c  o m*/
    newTaxonomy = taxonomyService.save(newTaxonomy);

    markTaxonomyForRemoval(newTaxonomy);

    String allTaxonomies = null;

    ResourceRepresentationType<?> resourceRepresentationTypeForLogger = null;

    try {
        final List<ResourceRepresentationType<String>> asList = Arrays.asList(ResourceRepresentationType.XML,
                ResourceRepresentationType.JSON);
        for (ResourceRepresentationType<?> resourceRepresentationType : asList) {

            resourceRepresentationTypeForLogger = resourceRepresentationType;

            if (resourceRepresentationType.equals(ResourceRepresentationType.JSON)) {
                allTaxonomies = taxonomyService.getAllTaxonomies(ResourceRepresentationType.JSON,
                        FetchLevel.ENTITY, false);
            } else if (resourceRepresentationType.equals(ResourceRepresentationType.XML)) {
                allTaxonomies = taxonomyService.getAllTaxonomies(ResourceRepresentationType.XML,
                        FetchLevel.ENTITY, false);
            }

            Assert.assertNotNull(allTaxonomies, "Taxonomies were not exported");

            allTaxonomies = StringUtils.deleteWhitespace(allTaxonomies);

            final String expectedRepresentationOfNewTaxonomyName = generateExpectedValueForOutputFormat(
                    CmsBuiltInItem.Name.getLocalPart(), newTaxonomy.getName(), resourceRepresentationType);
            Assert.assertTrue(allTaxonomies.contains(expectedRepresentationOfNewTaxonomyName),
                    "Taxonomy " + newTaxonomy.getName() + " was not exported. Did not find \n "
                            + expectedRepresentationOfNewTaxonomyName + "in result \n" + allTaxonomies);

            final String expectedRepresentationOfSubjectTaxonomyName = generateExpectedValueForOutputFormat(
                    CmsBuiltInItem.Name.getLocalPart(), getSubjectTaxonomy().getName(),
                    resourceRepresentationType);

            Assert.assertTrue(allTaxonomies.contains(expectedRepresentationOfSubjectTaxonomyName),
                    "Taxonomy " + getSubjectTaxonomy().getName() + " was not exported. Did not find \n "
                            + expectedRepresentationOfSubjectTaxonomyName + "in result \n" + allTaxonomies);
        }

    } catch (Throwable e) {
        try {
            logger.error(resourceRepresentationTypeForLogger + " - Initial \n{}",
                    TestUtils.prettyPrintXml(allTaxonomies));
        } catch (Exception e1) {
            logger.error(resourceRepresentationTypeForLogger + "Initial \n{}", allTaxonomies);
        }

        logger.error("All taxonomies XML \n{}", taxonomyService.getAllTaxonomies(ResourceRepresentationType.XML,
                FetchLevel.ENTITY, prettyPrint));

        throw e;
    }
}