diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/classification/ClassificationAspectProperties.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/classification/ClassificationAspectProperties.java
new file mode 100644
index 0000000000..ca9c6863b3
--- /dev/null
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/classification/ClassificationAspectProperties.java
@@ -0,0 +1,153 @@
+/*
+ * Copyright (C) 2005-2015 Alfresco Software Limited.
+ *
+ * This file is part of Alfresco
+ *
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ */
+package org.alfresco.module.org_alfresco_module_rm.classification;
+
+import java.util.Date;
+import java.util.Set;
+
+/**
+ * A data transfer object for properties from the classification aspect.
+ *
+ * @author Tom Page
+ * @since 3.0.a
+ */
+public class ClassificationAspectProperties
+{
+ /** The security clearance needed to access the content. */
+ private String classificationLevelId;
+ /** Free-form text identifying who classified the content. */
+ private String classifiedBy;
+ /** The name of the agency responsible for the classification of this content. */
+ private String classificationAgency;
+ /** A non-empty set of ids of reasons for classifying the content in this way. */
+ private Set classificationReasonIds;
+ /** If provided, this is the date of the next downgrade evaluation. */
+ private Date downgradeDate;
+ /** If provided, this is the event at which the next downgrade evaluation will take place. */
+ private String downgradeEvent;
+ /** If a downgrade date or event is given then this must be provided too with the instructions for the evaluation. */
+ private String downgradeInstructions;
+ /** If provided, this is the date of the next declassification evaluation. */
+ private Date declassificationDate;
+ /** If provided, this is the event at which the next declassification evaluation will take place. */
+ private String declassificationEvent;
+ /** This is an optional list of exemption category ids. */
+ private Set exemptionCategoryIds;
+
+ /** @return The security clearance needed to access the content. */
+ public String getClassificationLevelId()
+ {
+ return classificationLevelId;
+ }
+ /** @param classificationLevelId The security clearance needed to access the content. */
+ public void setClassificationLevelId(String classificationLevelId)
+ {
+ this.classificationLevelId = classificationLevelId;
+ }
+ /** @return Free-form text identifying who classified the content. */
+ public String getClassifiedBy()
+ {
+ return classifiedBy;
+ }
+ /** @param classifiedBy Free-form text identifying who classified the content. */
+ public void setClassifiedBy(String classifiedBy)
+ {
+ this.classifiedBy = classifiedBy;
+ }
+ /** @return The name of the agency responsible for the classification of this content. */
+ public String getClassificationAgency()
+ {
+ return classificationAgency;
+ }
+ /** @param classificationAgency The name of the agency responsible for the classification of this content. */
+ public void setClassificationAgency(String classificationAgency)
+ {
+ this.classificationAgency = classificationAgency;
+ }
+ /** @return A non-empty set of ids of reasons for classifying the content in this way. */
+ public Set getClassificationReasonIds()
+ {
+ return classificationReasonIds;
+ }
+ /** @param classificationReasonIds A non-empty set of ids of reasons for classifying the content in this way. */
+ public void setClassificationReasonIds(Set classificationReasonIds)
+ {
+ this.classificationReasonIds = classificationReasonIds;
+ }
+ /** @return If provided, this is the date of the next downgrade evaluation. */
+ public Date getDowngradeDate()
+ {
+ return downgradeDate;
+ }
+ /** @param downgradeDate If provided, this is the date of the next downgrade evaluation. */
+ public void setDowngradeDate(Date downgradeDate)
+ {
+ this.downgradeDate = downgradeDate;
+ }
+ /** @return If provided, this is the event at which the next downgrade evaluation will take place. */
+ public String getDowngradeEvent()
+ {
+ return downgradeEvent;
+ }
+ /** @param downgradeEvent If provided, this is the event at which the next downgrade evaluation will take place. */
+ public void setDowngradeEvent(String downgradeEvent)
+ {
+ this.downgradeEvent = downgradeEvent;
+ }
+ /** @return If a downgrade date or event is given then this must be provided too with the instructions for the evaluation. */
+ public String getDowngradeInstructions()
+ {
+ return downgradeInstructions;
+ }
+ /** @param downgradeInstructions If a downgrade date or event is given then this must be provided too with the instructions for the evaluation. */
+ public void setDowngradeInstructions(String downgradeInstructions)
+ {
+ this.downgradeInstructions = downgradeInstructions;
+ }
+ /** @return If provided, this is the date of the next declassification evaluation. */
+ public Date getDeclassificationDate()
+ {
+ return declassificationDate;
+ }
+ /** @param declassificationDate If provided, this is the date of the next declassification evaluation. */
+ public void setDeclassificationDate(Date declassificationDate)
+ {
+ this.declassificationDate = declassificationDate;
+ }
+ /** @return If provided, this is the event at which the next declassification evaluation will take place. */
+ public String getDeclassificationEvent()
+ {
+ return declassificationEvent;
+ }
+ /** @param declassificationEvent If provided, this is the event at which the next declassification evaluation will take place. */
+ public void setDeclassificationEvent(String declassificationEvent)
+ {
+ this.declassificationEvent = declassificationEvent;
+ }
+ /** @return This is an optional list of exemption category ids. */
+ public Set getExemptionCategoryIds()
+ {
+ return exemptionCategoryIds;
+ }
+ /** @param exemptionCategoryIds This is an optional list of exemption category ids. */
+ public void setExemptionCategoryIds(Set exemptionCategoryIds)
+ {
+ this.exemptionCategoryIds = exemptionCategoryIds;
+ }
+}
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/classification/ContentClassificationService.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/classification/ContentClassificationService.java
index 64cdf7109b..ac42e1dc72 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/classification/ContentClassificationService.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/classification/ContentClassificationService.java
@@ -18,8 +18,6 @@
*/
package org.alfresco.module.org_alfresco_module_rm.classification;
-import java.util.Set;
-
import org.alfresco.module.org_alfresco_module_rm.classification.ClassificationException.InvalidNode;
import org.alfresco.module.org_alfresco_module_rm.classification.ClassificationException.LevelIdNotFound;
import org.alfresco.module.org_alfresco_module_rm.classification.ClassificationException.ReasonIdNotFound;
@@ -45,10 +43,7 @@ public interface ContentClassificationService
/**
* Classify a piece of content.
*
- * @param classificationLevelId The security clearance needed to access the content.
- * @param classifiedBy Free-form text identifying who classified the content.
- * @param classificationAgency The name of the agency responsible for the classification of this content.
- * @param classificationReasonIds A non-empty set of ids of reasons for classifying the content in this way.
+ * @param classificationAspectProperties The properties for the classification aspect.
* @param content The node to classify.
* @throws LevelIdNotFound If the supplied level id is not found.
* @throws IllegalArgumentException If the supplied {@code classifiedBy} is {@code null},
@@ -57,17 +52,13 @@ public interface ContentClassificationService
* @throws InvalidNodeRefException If the node could not be found.
* @throws InvalidNode If the supplied node is not a content node.
*/
- void classifyContent(String classificationLevelId, String classifiedBy, String classificationAgency,
- Set classificationReasonIds, NodeRef content)
+ void classifyContent(ClassificationAspectProperties classificationAspectProperties, NodeRef content)
throws LevelIdNotFound, ReasonIdNotFound, InvalidNodeRefException, InvalidNode;
/**
* Edits the classified content.
*
- * @param classificationLevelId The security clearance needed to access the content.
- * @param classifiedBy Free-form text identifying who edited the classified content.
- * @param classificationAgency The name of the agency responsible for editing the classified content.
- * @param classificationReasonIds A non-empty set of ids of reasons for editing the classified content in this way.
+ * @param classificationAspectProperties The properties for the classification aspect.
* @param content The classified content which will be edited.
* @throws LevelIdNotFound If the supplied level id is not found.
* @throws IllegalArgumentException If the supplied {@code classifiedBy} is {@code null},
@@ -76,8 +67,7 @@ public interface ContentClassificationService
* @throws InvalidNodeRefException If the node could not be found.
* @throws InvalidNode If the supplied node is not a content node.
*/
- void editClassifiedContent(String classificationLevelId, String classifiedBy, String classificationAgency,
- Set classificationReasonIds, NodeRef content)
+ void editClassifiedContent(ClassificationAspectProperties classificationAspectProperties, NodeRef content)
throws LevelIdNotFound, ReasonIdNotFound, InvalidNodeRefException, InvalidNode;
/**
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/classification/ContentClassificationServiceImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/classification/ContentClassificationServiceImpl.java
index 810b952042..ece40db5f1 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/classification/ContentClassificationServiceImpl.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/classification/ContentClassificationServiceImpl.java
@@ -26,7 +26,6 @@ import java.io.Serializable;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
-import java.util.Set;
import org.alfresco.model.ContentModel;
import org.alfresco.model.QuickShareModel;
@@ -94,52 +93,12 @@ public class ContentClassificationServiceImpl extends ServiceBaseImpl
* @see org.alfresco.module.org_alfresco_module_rm.classification.ContentClassificationService#classifyContent(java.lang.String, java.lang.String, java.lang.String, java.util.Set, org.alfresco.service.cmr.repository.NodeRef)
*/
@Override
- public void classifyContent(String classificationLevelId, String classifiedBy, String classificationAgency,
- Set classificationReasonIds, final NodeRef content)
+ public void classifyContent(ClassificationAspectProperties classificationAspectProperties, final NodeRef content)
{
- checkNotBlank("classificationLevelId", classificationLevelId);
- checkNotBlank("classifiedBy", classifiedBy);
- // classificationAgency can be blank
- mandatory("classificationReasonIds", classificationReasonIds);
- mandatory("content", content);
+ validateProperties(classificationAspectProperties);
+ validateContent(content);
- if (!dictionaryService.isSubClass(nodeService.getType(content), ContentModel.TYPE_CONTENT))
- {
- throw new InvalidNode(content, "The supplied node is not a content node.");
- }
- if (nodeService.hasAspect(content, QuickShareModel.ASPECT_QSHARE))
- {
- throw new IllegalStateException("A shared content cannot be classified.");
- }
- if (!securityClearanceService.isCurrentUserClearedForClassification(classificationLevelId))
- {
- throw new LevelIdNotFound(classificationLevelId);
- }
-
- final Map properties = new HashMap<>();
- // Initial classification id
- if (nodeService.getProperty(content, PROP_INITIAL_CLASSIFICATION) == null)
- {
- properties.put(PROP_INITIAL_CLASSIFICATION, classificationLevelId);
- }
-
- // Current classification id
- properties.put(PROP_CURRENT_CLASSIFICATION, classificationLevelId);
-
- // Classification agency
- properties.put(PROP_CLASSIFICATION_AGENCY, classificationAgency);
-
- properties.put(PROP_CLASSIFIED_BY, classifiedBy);
-
- // Classification reason ids
- HashSet classificationReasons = new HashSet<>();
- for (String classificationReasonId : classificationReasonIds)
- {
- // Check the classification reason id - an exception will be thrown if the id cannot be found
- reasonManager.findReasonById(classificationReasonId);
- classificationReasons.add(classificationReasonId);
- }
- properties.put(PROP_CLASSIFICATION_REASONS, classificationReasons);
+ final Map properties = createPropertiesMap(classificationAspectProperties, content);
// Add aspect
authenticationUtil.runAs(new RunAsWork()
@@ -152,6 +111,75 @@ public class ContentClassificationServiceImpl extends ServiceBaseImpl
}, authenticationUtil.getAdminUserName());
}
+ /**
+ * Validate the properties contained in the {@link ClassificationAspectProperties}.
+ *
+ * @param classificationAspectProperties The DTO containing properties to be stored on the aspect.
+ */
+ protected void validateProperties(ClassificationAspectProperties classificationAspectProperties)
+ {
+ String classificationLevelId = classificationAspectProperties.getClassificationLevelId();
+ checkNotBlank("classificationLevelId", classificationLevelId);
+ checkNotBlank("classifiedBy", classificationAspectProperties.getClassifiedBy());
+ mandatory("classificationReasonIds", classificationAspectProperties.getClassificationReasonIds());
+
+ if (!securityClearanceService.isCurrentUserClearedForClassification(classificationLevelId))
+ {
+ throw new LevelIdNotFound(classificationLevelId);
+ }
+
+ for (String classificationReasonId : classificationAspectProperties.getClassificationReasonIds())
+ {
+ // Check the classification reason id - an exception will be thrown if the id cannot be found
+ reasonManager.findReasonById(classificationReasonId);
+ }
+ }
+
+ /**
+ * Check the node is suitable for classifying.
+ *
+ * @param content The node to be classified.
+ */
+ protected void validateContent(NodeRef content)
+ {
+ mandatory("content", content);
+
+ if (!dictionaryService.isSubClass(nodeService.getType(content), ContentModel.TYPE_CONTENT))
+ {
+ throw new InvalidNode(content, "The supplied node is not a content node.");
+ }
+ if (nodeService.hasAspect(content, QuickShareModel.ASPECT_QSHARE))
+ {
+ throw new IllegalStateException("A shared content cannot be classified.");
+ }
+ }
+
+ /**
+ * Create a map suitable for storing against the aspect from the data transfer object.
+ *
+ * @param propertiesDTO The properties data transfer object.
+ * @param content The node to be classified.
+ * @return A map from {@link QName QNames} to values.
+ */
+ protected Map createPropertiesMap(
+ ClassificationAspectProperties propertiesDTO, NodeRef content)
+ {
+ final Map propertiesMap = new HashMap<>();
+
+ if (nodeService.getProperty(content, PROP_INITIAL_CLASSIFICATION) == null)
+ {
+ propertiesMap.put(PROP_INITIAL_CLASSIFICATION, propertiesDTO.getClassificationLevelId());
+ }
+ propertiesMap.put(PROP_CURRENT_CLASSIFICATION, propertiesDTO.getClassificationLevelId());
+ propertiesMap.put(PROP_CLASSIFICATION_AGENCY, propertiesDTO.getClassificationAgency());
+ propertiesMap.put(PROP_CLASSIFIED_BY, propertiesDTO.getClassifiedBy());
+
+ HashSet classificationReasons = new HashSet<>(propertiesDTO.getClassificationReasonIds());
+ propertiesMap.put(PROP_CLASSIFICATION_REASONS, classificationReasons);
+
+ return propertiesMap;
+ }
+
/**
* @see org.alfresco.module.org_alfresco_module_rm.classification.ContentClassificationService#hasClearance(org.alfresco.service.cmr.repository.NodeRef)
*/
@@ -187,16 +215,9 @@ public class ContentClassificationServiceImpl extends ServiceBaseImpl
* @see org.alfresco.module.org_alfresco_module_rm.classification.ContentClassificationService#editClassifiedContent(java.lang.String, java.lang.String, java.lang.String, java.util.Set, org.alfresco.service.cmr.repository.NodeRef)
*/
@Override
- public void editClassifiedContent(String classificationLevelId, String classifiedBy, String classificationAgency,
- Set classificationReasonIds, NodeRef content)
+ public void editClassifiedContent(ClassificationAspectProperties classificationAspectProperties, NodeRef content)
throws LevelIdNotFound, ReasonIdNotFound, InvalidNodeRefException, InvalidNode
{
- checkNotBlank("classificationLevelId", classificationLevelId);
- checkNotBlank("classifiedBy", classifiedBy);
- // classificationAgency can be blank
- mandatory("classificationReasonIds", classificationReasonIds);
- mandatory("content", content);
-
- classifyContent(classificationLevelId, classifiedBy, classificationAgency, classificationReasonIds, content);
+ classifyContent(classificationAspectProperties, content);
}
}
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/classification/ClassifyContentBase.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/classification/ClassifyContentBase.java
index c2c5a9c741..71866d997c 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/classification/ClassifyContentBase.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/classification/ClassifyContentBase.java
@@ -28,6 +28,7 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
+import org.alfresco.module.org_alfresco_module_rm.classification.ClassificationAspectProperties;
import org.alfresco.module.org_alfresco_module_rm.classification.ContentClassificationService;
import org.alfresco.module.org_alfresco_module_rm.script.AbstractRmWebScript;
import org.alfresco.service.cmr.repository.NodeRef;
@@ -78,13 +79,10 @@ public abstract class ClassifyContentBase extends AbstractRmWebScript
* Abstract method which does the action of either
* classifying a content or editing a classified content
*
- * @param classificationLevelId The security clearance needed to access the content.
- * @param classifiedBy Free-form text identifying who edited the classified content.
- * @param classificationAgency The name of the agency responsible for editing the classified content.
- * @param classificationReasonIds A non-empty set of ids of reasons for editing the classified content in this way.
+ * @param classificationAspectProperties The properties to use when classifying the content.
* @param document The classified content which will be edited.
*/
- protected abstract void doClassifyAction(String classificationLevelId, String classifiedBy, String classificationAgency, Set classificationReasonIds, NodeRef document);
+ protected abstract void doClassifyAction(ClassificationAspectProperties classificationAspectProperties, NodeRef document);
/**
* @see org.springframework.extensions.webscripts.DeclarativeWebScript#executeImpl(org.springframework.extensions.webscripts.WebScriptRequest,
@@ -99,9 +97,16 @@ public abstract class ClassifyContentBase extends AbstractRmWebScript
String classifiedBy = getStringValueFromJSONObject(jsonObject, CLASSIFIED_BY);
String classificationAgency = getStringValueFromJSONObject(jsonObject, CLASSIFICATION_AGENCY, false, false);
Set classificationReasonIds = getClassificationReasonIds(jsonObject);
+
+ ClassificationAspectProperties propertiesDTO = new ClassificationAspectProperties();
+ propertiesDTO.setClassificationLevelId(classificationLevelId);
+ propertiesDTO.setClassifiedBy(classifiedBy);
+ propertiesDTO.setClassificationAgency(classificationAgency);
+ propertiesDTO.setClassificationReasonIds(classificationReasonIds);
+
NodeRef document = parseRequestForNodeRef(req);
- doClassifyAction(classificationLevelId, classifiedBy, classificationAgency, classificationReasonIds, document);
+ doClassifyAction(propertiesDTO, document);
Map model = new HashMap<>(1);
model.put(SUCCESS, true);
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/classification/ClassifyContentPost.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/classification/ClassifyContentPost.java
index d66fc346b6..adf8855008 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/classification/ClassifyContentPost.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/classification/ClassifyContentPost.java
@@ -18,8 +18,7 @@
*/
package org.alfresco.module.org_alfresco_module_rm.script.classification;
-import java.util.Set;
-
+import org.alfresco.module.org_alfresco_module_rm.classification.ClassificationAspectProperties;
import org.alfresco.service.cmr.repository.NodeRef;
/**
@@ -34,8 +33,8 @@ public class ClassifyContentPost extends ClassifyContentBase
* @see org.alfresco.module.org_alfresco_module_rm.script.classification.ClassifyContentBase#doClassifyAction(java.lang.String, java.lang.String, java.lang.String, java.util.Set, org.alfresco.service.cmr.repository.NodeRef)
*/
@Override
- protected void doClassifyAction(String classificationLevelId, String classifiedBy, String classificationAgency, Set classificationReasonIds, NodeRef document)
+ protected void doClassifyAction(ClassificationAspectProperties classificationAspectProperties, NodeRef document)
{
- getContentClassificationService().classifyContent(classificationLevelId, classifiedBy, classificationAgency, classificationReasonIds, document);
+ getContentClassificationService().classifyContent(classificationAspectProperties, document);
}
}
\ No newline at end of file
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/classification/ClassifyContentPut.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/classification/ClassifyContentPut.java
index fe3fc15bda..41a3b5c04e 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/classification/ClassifyContentPut.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/classification/ClassifyContentPut.java
@@ -18,8 +18,7 @@
*/
package org.alfresco.module.org_alfresco_module_rm.script.classification;
-import java.util.Set;
-
+import org.alfresco.module.org_alfresco_module_rm.classification.ClassificationAspectProperties;
import org.alfresco.service.cmr.repository.NodeRef;
/**
@@ -34,8 +33,8 @@ public class ClassifyContentPut extends ClassifyContentBase
* @see org.alfresco.module.org_alfresco_module_rm.script.classification.ClassifyContentBase#doClassifyAction(java.lang.String, java.lang.String, java.lang.String, java.util.Set, org.alfresco.service.cmr.repository.NodeRef)
*/
@Override
- protected void doClassifyAction(String classificationLevelId, String classifiedBy, String classificationAgency, Set classificationReasonIds, NodeRef document)
+ protected void doClassifyAction(ClassificationAspectProperties classificationAspectProperties, NodeRef document)
{
- getContentClassificationService().editClassifiedContent(classificationLevelId, classifiedBy, classificationAgency, classificationReasonIds, document);
+ getContentClassificationService().editClassifiedContent(classificationAspectProperties, document);
}
}
\ No newline at end of file
diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/ClassifyTest.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/ClassifyTest.java
index 43670eb929..8b2134b35b 100644
--- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/ClassifyTest.java
+++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/ClassifyTest.java
@@ -20,6 +20,7 @@ package org.alfresco.module.org_alfresco_module_rm.test.integration.classificati
import java.util.Collections;
+import org.alfresco.module.org_alfresco_module_rm.classification.ClassificationAspectProperties;
import org.alfresco.module.org_alfresco_module_rm.classification.ClassificationException.LevelIdNotFound;
import org.alfresco.module.org_alfresco_module_rm.classification.model.ClassifiedContentModel;
import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService;
@@ -28,8 +29,6 @@ import org.alfresco.repo.security.permissions.AccessDeniedException;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.util.GUID;
-import com.google.common.collect.Sets;
-
/**
* Classification level integration test
*
@@ -46,6 +45,19 @@ public class ClassifyTest extends BaseRMTestCase
private static final String CLASSIFIED_BY = "classified by text";
private static final String RECORD_NAME = "recordname.txt";
+ private ClassificationAspectProperties propertiesDTO;
+
+ @Override
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ propertiesDTO = new ClassificationAspectProperties();
+ propertiesDTO.setClassificationLevelId(CLASSIFICATION_LEVEL);
+ propertiesDTO.setClassifiedBy(CLASSIFIED_BY);
+ propertiesDTO.setClassificationAgency(CLASSIFICATION_AGENCY);
+ propertiesDTO.setClassificationReasonIds(Collections.singleton(CLASSIFICATION_REASON));
+ }
+
/**
* Given that a record is frozen
* And unclassified
@@ -68,12 +80,7 @@ public class ClassifyTest extends BaseRMTestCase
public void when() throws Exception
{
- contentClassificationService.classifyContent(
- CLASSIFICATION_LEVEL,
- CLASSIFIED_BY,
- CLASSIFICATION_AGENCY,
- Collections.singleton(CLASSIFICATION_REASON),
- record);
+ contentClassificationService.classifyContent(propertiesDTO, record);
}
});
}
@@ -97,12 +104,7 @@ public class ClassifyTest extends BaseRMTestCase
public void when() throws Exception
{
- contentClassificationService.classifyContent(
- CLASSIFICATION_LEVEL,
- CLASSIFIED_BY,
- CLASSIFICATION_AGENCY,
- Collections.singleton(CLASSIFICATION_REASON),
- record);
+ contentClassificationService.classifyContent(propertiesDTO, record);
}
public void then() throws Exception
@@ -151,8 +153,7 @@ public class ClassifyTest extends BaseRMTestCase
@Override
public Void run()
{
- contentClassificationService.classifyContent(CLASSIFICATION_LEVEL, CLASSIFIED_BY, CLASSIFICATION_AGENCY,
- Sets.newHashSet(CLASSIFICATION_REASON), record);
+ contentClassificationService.classifyContent(propertiesDTO, record);
return null;
}
}, myUser);
@@ -202,8 +203,7 @@ public class ClassifyTest extends BaseRMTestCase
@Override
public Void run()
{
- contentClassificationService.classifyContent(CLASSIFICATION_LEVEL, CLASSIFIED_BY, CLASSIFICATION_AGENCY,
- Sets.newHashSet(CLASSIFICATION_REASON), record);
+ contentClassificationService.classifyContent(propertiesDTO, record);
return null;
}
}, myUser);
diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/BrowseClassificationEnforcementTestBase.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/BrowseClassificationEnforcementTestBase.java
index ed85481393..337a91a9bc 100644
--- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/BrowseClassificationEnforcementTestBase.java
+++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/BrowseClassificationEnforcementTestBase.java
@@ -19,9 +19,12 @@
package org.alfresco.module.org_alfresco_module_rm.test.integration.classification.interceptor;
import static org.alfresco.repo.security.authentication.AuthenticationUtil.getAdminUserName;
+import static org.alfresco.util.GUID.generate;
+import java.util.Collections;
import java.util.List;
+import org.alfresco.module.org_alfresco_module_rm.classification.ClassificationAspectProperties;
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.NodeRef;
@@ -38,6 +41,26 @@ public abstract class BrowseClassificationEnforcementTestBase extends BaseRMTest
protected static final String LEVEL1 = "level1";
protected static final String LEVEL2 = "level2";
protected static final String REASON = "Test Reason 1";
+ /** Classified properties for classification level 1. */
+ protected ClassificationAspectProperties propertiesDTO1;
+ /** Classified properties for classification level 2. */
+ protected ClassificationAspectProperties propertiesDTO2;
+
+ @Override
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ propertiesDTO1 = new ClassificationAspectProperties();
+ propertiesDTO1.setClassificationLevelId(LEVEL1);
+ propertiesDTO1.setClassifiedBy(generate());
+ propertiesDTO1.setClassificationAgency(generate());
+ propertiesDTO1.setClassificationReasonIds(Collections.singleton(REASON));
+ propertiesDTO2 = new ClassificationAspectProperties();
+ propertiesDTO2.setClassificationLevelId(LEVEL2);
+ propertiesDTO2.setClassifiedBy(generate());
+ propertiesDTO2.setClassificationAgency(generate());
+ propertiesDTO2.setClassificationReasonIds(Collections.singleton(REASON));
+ }
protected List browse(NodeRef folder, String userName)
{
diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/ClassificationEnforcementPreMethodInvocationTest.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/ClassificationEnforcementPreMethodInvocationTest.java
index b0220b79d9..38aa493450 100644
--- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/ClassificationEnforcementPreMethodInvocationTest.java
+++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/ClassificationEnforcementPreMethodInvocationTest.java
@@ -18,14 +18,15 @@
*/
package org.alfresco.module.org_alfresco_module_rm.test.integration.classification.interceptor;
-import static com.google.common.collect.Sets.newHashSet;
import static org.alfresco.repo.site.SiteModel.SITE_MANAGER;
import static org.alfresco.util.GUID.generate;
import java.io.Serializable;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
+import org.alfresco.module.org_alfresco_module_rm.classification.ClassificationAspectProperties;
import org.alfresco.module.org_alfresco_module_rm.classification.interceptor.processor.AccessDeniedException;
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase;
import org.alfresco.service.cmr.repository.NodeRef;
@@ -39,6 +40,22 @@ import org.alfresco.service.namespace.QName;
*/
public class ClassificationEnforcementPreMethodInvocationTest extends BaseRMTestCase
{
+ private static final String LEVEL1 = "level1";
+ private static final String REASON = "Test Reason 1";
+
+ private ClassificationAspectProperties propertiesDTO;
+
+ @Override
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ propertiesDTO = new ClassificationAspectProperties();
+ propertiesDTO.setClassificationLevelId(LEVEL1);
+ propertiesDTO.setClassifiedBy(generate());
+ propertiesDTO.setClassificationAgency(generate());
+ propertiesDTO.setClassificationReasonIds(Collections.singleton(REASON));
+ }
+
/**
* @see org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase#isCollaborationSiteTest()
*/
@@ -63,8 +80,6 @@ public class ClassificationEnforcementPreMethodInvocationTest extends BaseRMTest
doBehaviourDrivenTest(new BehaviourDrivenTest()
{
private String testUser;
- private static final String LEVEL1 = "level1";
- private static final String REASON = "Test Reason 1";
private NodeRef folder1;
private NodeRef folder2;
private NodeRef doc;
@@ -83,7 +98,7 @@ public class ClassificationEnforcementPreMethodInvocationTest extends BaseRMTest
folder2 = fileFolderService.create(documentLibrary, generate(), TYPE_FOLDER).getNodeRef();
doc = fileFolderService.create(folder1, generate(), TYPE_CONTENT).getNodeRef();
- contentClassificationService.classifyContent(LEVEL1, generate(), generate(), newHashSet(REASON), doc);
+ contentClassificationService.classifyContent(propertiesDTO, doc);
}
/**
diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/DocumentBrowseClassificationEnforcementTest.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/DocumentBrowseClassificationEnforcementTest.java
index 08ec71e3d7..aef7e871b3 100644
--- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/DocumentBrowseClassificationEnforcementTest.java
+++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/DocumentBrowseClassificationEnforcementTest.java
@@ -19,7 +19,6 @@
package org.alfresco.module.org_alfresco_module_rm.test.integration.classification.interceptor;
import static com.google.common.collect.Lists.newArrayList;
-import static com.google.common.collect.Sets.newHashSet;
import static org.alfresco.repo.site.SiteModel.SITE_MANAGER;
import static org.alfresco.util.GUID.generate;
@@ -80,7 +79,7 @@ public class DocumentBrowseClassificationEnforcementTest extends BrowseClassific
doc1 = fileFolderService.create(folder, generate(), TYPE_CONTENT).getNodeRef();
doc2 = fileFolderService.create(folder, generate(), TYPE_CONTENT).getNodeRef();
- contentClassificationService.classifyContent(LEVEL1, generate(), generate(), newHashSet(REASON), doc1);
+ contentClassificationService.classifyContent(propertiesDTO1, doc1);
}
/**
@@ -172,8 +171,8 @@ public class DocumentBrowseClassificationEnforcementTest extends BrowseClassific
doc2 = fileFolderService.create(folder, generate(), TYPE_CONTENT).getNodeRef();
doc3 = fileFolderService.create(folder, generate(), TYPE_CONTENT).getNodeRef();
- contentClassificationService.classifyContent(LEVEL1, generate(), generate(), newHashSet(REASON), doc1);
- contentClassificationService.classifyContent(LEVEL2, generate(), generate(), newHashSet(REASON), doc2);
+ contentClassificationService.classifyContent(propertiesDTO1, doc1);
+ contentClassificationService.classifyContent(propertiesDTO2, doc2);
}
/**
@@ -267,8 +266,8 @@ public class DocumentBrowseClassificationEnforcementTest extends BrowseClassific
doc2 = fileFolderService.create(folder, generate(), TYPE_CONTENT).getNodeRef();
doc3 = fileFolderService.create(folder, generate(), TYPE_CONTENT).getNodeRef();
- contentClassificationService.classifyContent(LEVEL1, generate(), generate(), newHashSet(REASON), doc1);
- contentClassificationService.classifyContent(LEVEL2, generate(), generate(), newHashSet(REASON), doc2);
+ contentClassificationService.classifyContent(propertiesDTO1, doc1);
+ contentClassificationService.classifyContent(propertiesDTO2, doc2);
}
/**
diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/DocumentSearchClassificationEnforcementTest.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/DocumentSearchClassificationEnforcementTest.java
index dfb4b8f749..3c4450379d 100644
--- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/DocumentSearchClassificationEnforcementTest.java
+++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/DocumentSearchClassificationEnforcementTest.java
@@ -18,7 +18,6 @@
*/
package org.alfresco.module.org_alfresco_module_rm.test.integration.classification.interceptor;
-import static com.google.common.collect.Sets.newHashSet;
import static java.lang.Integer.MAX_VALUE;
import static org.alfresco.repo.site.SiteModel.SITE_MANAGER;
import static org.alfresco.service.cmr.repository.StoreRef.STORE_REF_WORKSPACE_SPACESSTORE;
@@ -83,7 +82,7 @@ public class DocumentSearchClassificationEnforcementTest extends SearchClassific
doc1 = fileFolderService.create(folder, searchQuery + generate(), TYPE_CONTENT).getNodeRef();
doc2 = fileFolderService.create(folder, searchQuery + generate(), TYPE_CONTENT).getNodeRef();
- contentClassificationService.classifyContent(LEVEL1, generate(), generate(), newHashSet(REASON), doc1);
+ contentClassificationService.classifyContent(propertiesDTO1, doc1);
}
/**
@@ -174,8 +173,8 @@ public class DocumentSearchClassificationEnforcementTest extends SearchClassific
doc2 = fileFolderService.create(folder, searchQuery + generate(), TYPE_CONTENT).getNodeRef();
doc3 = fileFolderService.create(folder, searchQuery + generate(), TYPE_CONTENT).getNodeRef();
- contentClassificationService.classifyContent(LEVEL1, generate(), generate(), newHashSet(REASON), doc1);
- contentClassificationService.classifyContent(LEVEL2, generate(), generate(), newHashSet(REASON), doc2);
+ contentClassificationService.classifyContent(propertiesDTO1, doc1);
+ contentClassificationService.classifyContent(propertiesDTO2, doc2);
}
/**
@@ -266,8 +265,8 @@ public class DocumentSearchClassificationEnforcementTest extends SearchClassific
doc2 = fileFolderService.create(folder, searchQuery + generate(), TYPE_CONTENT).getNodeRef();
doc3 = fileFolderService.create(folder, searchQuery + generate(), TYPE_CONTENT).getNodeRef();
- contentClassificationService.classifyContent(LEVEL1, generate(), generate(), newHashSet(REASON), doc1);
- contentClassificationService.classifyContent(LEVEL2, generate(), generate(), newHashSet(REASON), doc2);
+ contentClassificationService.classifyContent(propertiesDTO1, doc1);
+ contentClassificationService.classifyContent(propertiesDTO2, doc2);
}
/**
diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/RecordBrowseClassificationEnforcementTest.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/RecordBrowseClassificationEnforcementTest.java
index e0c87cdaed..be00943855 100644
--- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/RecordBrowseClassificationEnforcementTest.java
+++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/RecordBrowseClassificationEnforcementTest.java
@@ -19,7 +19,6 @@
package org.alfresco.module.org_alfresco_module_rm.test.integration.classification.interceptor;
import static com.google.common.collect.Lists.newArrayList;
-import static com.google.common.collect.Sets.newHashSet;
import static org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService.ROLE_ADMIN;
import static org.alfresco.util.GUID.generate;
@@ -74,7 +73,7 @@ public class RecordBrowseClassificationEnforcementTest extends BrowseClassificat
record1 = utils.createRecord(folder, generate());
record2 = utils.createRecord(folder, generate());
- contentClassificationService.classifyContent(LEVEL1, generate(), generate(), newHashSet(REASON), record1);
+ contentClassificationService.classifyContent(propertiesDTO1, record1);
}
/**
@@ -169,8 +168,8 @@ public class RecordBrowseClassificationEnforcementTest extends BrowseClassificat
record2 = utils.createRecord(folder, generate());
record3 = utils.createRecord(folder, generate());
- contentClassificationService.classifyContent(LEVEL1, generate(), generate(), newHashSet(REASON), record1);
- contentClassificationService.classifyContent(LEVEL2, generate(), generate(), newHashSet(REASON), record2);
+ contentClassificationService.classifyContent(propertiesDTO1, record1);
+ contentClassificationService.classifyContent(propertiesDTO2, record2);
}
/**
@@ -267,8 +266,8 @@ public class RecordBrowseClassificationEnforcementTest extends BrowseClassificat
record2 = utils.createRecord(folder, generate());
record3 = utils.createRecord(folder, generate());
- contentClassificationService.classifyContent(LEVEL1, generate(), generate(), newHashSet(REASON), record1);
- contentClassificationService.classifyContent(LEVEL2, generate(), generate(), newHashSet(REASON), record2);
+ contentClassificationService.classifyContent(propertiesDTO1, record1);
+ contentClassificationService.classifyContent(propertiesDTO2, record2);
}
/**
diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/RecordSearchClassificationEnforcementTest.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/RecordSearchClassificationEnforcementTest.java
index 8f943c958d..9028f3d6de 100644
--- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/RecordSearchClassificationEnforcementTest.java
+++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/RecordSearchClassificationEnforcementTest.java
@@ -18,7 +18,6 @@
*/
package org.alfresco.module.org_alfresco_module_rm.test.integration.classification.interceptor;
-import static com.google.common.collect.Sets.newHashSet;
import static org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService.ROLE_ADMIN;
import static org.alfresco.util.GUID.generate;
@@ -265,8 +264,8 @@ public class RecordSearchClassificationEnforcementTest extends SearchClassificat
record2 = utils.createRecord(folder, searchQuery + generate());
record3 = utils.createRecord(folder, searchQuery + generate());
- contentClassificationService.classifyContent(LEVEL1, generate(), generate(), newHashSet(REASON), record1);
- contentClassificationService.classifyContent(LEVEL2, generate(), generate(), newHashSet(REASON), record2);
+ contentClassificationService.classifyContent(propertiesDTO1, record1);
+ contentClassificationService.classifyContent(propertiesDTO2, record2);
}
/**
diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/RelationshipClassificationEnforcementTest.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/RelationshipClassificationEnforcementTest.java
index 4d5b09717f..57f10b5e65 100644
--- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/RelationshipClassificationEnforcementTest.java
+++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/RelationshipClassificationEnforcementTest.java
@@ -19,13 +19,14 @@
package org.alfresco.module.org_alfresco_module_rm.test.integration.classification.interceptor;
import static com.google.common.collect.Lists.newArrayList;
-import static com.google.common.collect.Sets.newHashSet;
import static org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService.ROLE_USER;
import static org.alfresco.util.GUID.generate;
+import java.util.Collections;
import java.util.List;
import java.util.Set;
+import org.alfresco.module.org_alfresco_module_rm.classification.ClassificationAspectProperties;
import org.alfresco.module.org_alfresco_module_rm.relationship.Relationship;
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
@@ -42,6 +43,18 @@ public class RelationshipClassificationEnforcementTest extends BaseRMTestCase
private static final String LEVEL1 = "level1";
private static final String LEVEL3 = "level3";
private static final String REASON = "Test Reason 1";
+ private ClassificationAspectProperties propertiesDTO;
+
+ @Override
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ propertiesDTO = new ClassificationAspectProperties();
+ propertiesDTO.setClassificationLevelId(LEVEL1);
+ propertiesDTO.setClassifiedBy(generate());
+ propertiesDTO.setClassificationAgency(generate());
+ propertiesDTO.setClassificationReasonIds(Collections.singleton(REASON));
+ }
public void testRelationshipClassification()
{
@@ -94,7 +107,7 @@ public class RelationshipClassificationEnforcementTest extends BaseRMTestCase
{
filePlanPermissionService.setPermission(category, myUser, FILING);
securityClearanceService.setUserSecurityClearance(myUser, LEVEL3);
- contentClassificationService.classifyContent(LEVEL1, generate(), generate(), newHashSet(REASON), record1);
+ contentClassificationService.classifyContent(propertiesDTO, record1);
relationshipService.addRelationship(CUSTOM_REF_RENDITION.getLocalName(), record1, record2);
}
diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/SavedSearchClassificationEnforcementTest.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/SavedSearchClassificationEnforcementTest.java
index 3174e376ef..4bce326889 100644
--- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/SavedSearchClassificationEnforcementTest.java
+++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/SavedSearchClassificationEnforcementTest.java
@@ -18,7 +18,6 @@
*/
package org.alfresco.module.org_alfresco_module_rm.test.integration.classification.interceptor;
-import static com.google.common.collect.Sets.newHashSet;
import static java.lang.Integer.MAX_VALUE;
import static org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService.ROLE_ADMIN;
import static org.alfresco.module.org_alfresco_module_rm.search.SavedSearchDetails.QUERY;
@@ -96,9 +95,9 @@ public class SavedSearchClassificationEnforcementTest extends SearchClassificati
searchParameters.setIncludeUndeclaredRecords(true);
rmSearchService.saveSearch(siteId, savedSearchName, generate(), searchQuery + "*", searchParameters, true);
- contentClassificationService.classifyContent(LEVEL1, generate(), generate(), newHashSet(REASON), record1);
- contentClassificationService.classifyContent(LEVEL2, generate(), generate(), newHashSet(REASON), record3);
- contentClassificationService.classifyContent(LEVEL1, generate(), generate(), newHashSet(REASON), record5);
+ contentClassificationService.classifyContent(propertiesDTO1, record1);
+ contentClassificationService.classifyContent(propertiesDTO2, record3);
+ contentClassificationService.classifyContent(propertiesDTO1, record5);
}
/**
diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/SearchClassificationEnforcementTestBase.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/SearchClassificationEnforcementTestBase.java
index 482b2d385e..669ebc28d9 100644
--- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/SearchClassificationEnforcementTestBase.java
+++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/classification/interceptor/SearchClassificationEnforcementTestBase.java
@@ -19,9 +19,12 @@
package org.alfresco.module.org_alfresco_module_rm.test.integration.classification.interceptor;
import static org.alfresco.repo.security.authentication.AuthenticationUtil.getAdminUserName;
+import static org.alfresco.util.GUID.generate;
+import java.util.Collections;
import java.util.List;
+import org.alfresco.module.org_alfresco_module_rm.classification.ClassificationAspectProperties;
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase;
import org.alfresco.service.cmr.repository.NodeRef;
@@ -37,6 +40,26 @@ public abstract class SearchClassificationEnforcementTestBase extends BaseRMTest
protected static final String LEVEL1 = "level1";
protected static final String LEVEL2 = "level2";
protected static final String REASON = "Test Reason 1";
+ /** Classified properties for classification level 1. */
+ protected ClassificationAspectProperties propertiesDTO1;
+ /** Classified properties for classification level 2. */
+ protected ClassificationAspectProperties propertiesDTO2;
+
+ @Override
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ propertiesDTO1 = new ClassificationAspectProperties();
+ propertiesDTO1.setClassificationLevelId(LEVEL1);
+ propertiesDTO1.setClassifiedBy(generate());
+ propertiesDTO1.setClassificationAgency(generate());
+ propertiesDTO1.setClassificationReasonIds(Collections.singleton(REASON));
+ propertiesDTO2 = new ClassificationAspectProperties();
+ propertiesDTO2.setClassificationLevelId(LEVEL2);
+ propertiesDTO2.setClassifiedBy(generate());
+ propertiesDTO2.setClassificationAgency(generate());
+ propertiesDTO2.setClassificationReasonIds(Collections.singleton(REASON));
+ }
protected abstract List search(String searchQuery);
diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM2260Test.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM2260Test.java
index 50b981e5bd..2f37d59916 100644
--- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM2260Test.java
+++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/integration/issue/RM2260Test.java
@@ -18,10 +18,12 @@
*/
package org.alfresco.module.org_alfresco_module_rm.test.integration.issue;
-import static com.google.common.collect.Sets.newHashSet;
import static org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService.ROLE_USER;
import static org.alfresco.util.GUID.generate;
+import java.util.Collections;
+
+import org.alfresco.module.org_alfresco_module_rm.classification.ClassificationAspectProperties;
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase;
import org.alfresco.service.cmr.repository.NodeRef;
@@ -35,6 +37,18 @@ public class RM2260Test extends BaseRMTestCase
{
private static final String LEVEL = "level1";
private static final String REASON = "Test Reason 1";
+ private ClassificationAspectProperties propertiesDTO;
+
+ @Override
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ propertiesDTO = new ClassificationAspectProperties();
+ propertiesDTO.setClassificationLevelId(LEVEL);
+ propertiesDTO.setClassifiedBy(generate());
+ propertiesDTO.setClassificationAgency(generate());
+ propertiesDTO.setClassificationReasonIds(Collections.singleton(REASON));
+ }
public void testClassifiyingContentAsNonAdminUser()
{
@@ -86,7 +100,7 @@ public class RM2260Test extends BaseRMTestCase
@Override
public Void run()
{
- contentClassificationService.classifyContent(LEVEL, generate(), generate(), newHashSet(REASON), record);
+ contentClassificationService.classifyContent(propertiesDTO, record);
return null;
}
}, myUser);
diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/jscript/JSONConversionComponentTest.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/jscript/JSONConversionComponentTest.java
index adb4b3337d..e22ba86800 100644
--- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/jscript/JSONConversionComponentTest.java
+++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/legacy/jscript/JSONConversionComponentTest.java
@@ -18,13 +18,14 @@
*/
package org.alfresco.module.org_alfresco_module_rm.test.legacy.jscript;
-import static com.google.common.collect.Sets.newHashSet;
import static org.alfresco.module.org_alfresco_module_rm.classification.ClassificationLevelManager.UNCLASSIFIED_ID;
import static org.alfresco.module.org_alfresco_module_rm.jscript.app.JSONConversionComponent.IS_CLASSIFIED;
import static org.alfresco.util.GUID.generate;
import java.io.Serializable;
+import java.util.Collections;
+import org.alfresco.module.org_alfresco_module_rm.classification.ClassificationAspectProperties;
import org.alfresco.module.org_alfresco_module_rm.classification.ContentClassificationService;
import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase;
import org.alfresco.repo.jscript.app.JSONConversionComponent;
@@ -45,6 +46,26 @@ public class JSONConversionComponentTest extends BaseRMTestCase
private ContentClassificationService contentClassificationService;
private NodeRef record;
+ /** Classification properties for classification level 1. */
+ private ClassificationAspectProperties level1PropertiesDTO;
+ /** Classification properties for unclassified content. */
+ private ClassificationAspectProperties unclassifiedPropertiesDTO;
+
+ @Override
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ level1PropertiesDTO = new ClassificationAspectProperties();
+ level1PropertiesDTO.setClassificationLevelId(LEVEL1);
+ level1PropertiesDTO.setClassifiedBy(generate());
+ level1PropertiesDTO.setClassificationAgency(generate());
+ level1PropertiesDTO.setClassificationReasonIds(Collections.singleton(REASON1));
+ unclassifiedPropertiesDTO = new ClassificationAspectProperties();
+ unclassifiedPropertiesDTO.setClassificationLevelId(UNCLASSIFIED_ID);
+ unclassifiedPropertiesDTO.setClassifiedBy(generate());
+ unclassifiedPropertiesDTO.setClassificationAgency(generate());
+ unclassifiedPropertiesDTO.setClassificationReasonIds(Collections.singleton(REASON1));
+ }
@Override
protected void initServices()
@@ -92,7 +113,7 @@ public class JSONConversionComponentTest extends BaseRMTestCase
@Override
public void when() throws Exception
{
- contentClassificationService.classifyContent(LEVEL1, generate(), generate(), newHashSet(REASON1), record);
+ contentClassificationService.classifyContent(level1PropertiesDTO, record);
jsonString = converter.toJSON(record, true);
}
@@ -131,7 +152,7 @@ public class JSONConversionComponentTest extends BaseRMTestCase
@Override
public void when() throws Exception
{
- contentClassificationService.classifyContent(UNCLASSIFIED_ID, generate(), generate(), newHashSet(REASON1), record);
+ contentClassificationService.classifyContent(unclassifiedPropertiesDTO, record);
jsonString = converter.toJSON(record, true);
}
@@ -206,7 +227,7 @@ public class JSONConversionComponentTest extends BaseRMTestCase
@Override
public void when() throws Exception
{
- contentClassificationService.classifyContent(LEVEL1, generate(), generate(), newHashSet(REASON1), file);
+ contentClassificationService.classifyContent(level1PropertiesDTO, file);
jsonString = converter.toJSON(file, true);
}
@@ -243,7 +264,7 @@ public class JSONConversionComponentTest extends BaseRMTestCase
@Override
public void when() throws Exception
{
- contentClassificationService.classifyContent(UNCLASSIFIED_ID, generate(), generate(), newHashSet(REASON1), file);
+ contentClassificationService.classifyContent(unclassifiedPropertiesDTO, file);
jsonString = converter.toJSON(file, true);
}
diff --git a/rm-server/unit-test/java/org/alfresco/module/org_alfresco_module_rm/classification/ContentClassificationServiceImplUnitTest.java b/rm-server/unit-test/java/org/alfresco/module/org_alfresco_module_rm/classification/ContentClassificationServiceImplUnitTest.java
index 1640b05675..fd12fd04f4 100644
--- a/rm-server/unit-test/java/org/alfresco/module/org_alfresco_module_rm/classification/ContentClassificationServiceImplUnitTest.java
+++ b/rm-server/unit-test/java/org/alfresco/module/org_alfresco_module_rm/classification/ContentClassificationServiceImplUnitTest.java
@@ -18,7 +18,6 @@
*/
package org.alfresco.module.org_alfresco_module_rm.classification;
-import static com.google.common.collect.Sets.newHashSet;
import static org.alfresco.module.org_alfresco_module_rm.test.util.AlfMock.generateNodeRef;
import static org.alfresco.module.org_alfresco_module_rm.test.util.AlfMock.generateText;
import static org.junit.Assert.assertEquals;
@@ -37,6 +36,8 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Sets;
import org.alfresco.model.ContentModel;
import org.alfresco.model.QuickShareModel;
import org.alfresco.module.org_alfresco_module_rm.classification.ClassificationException.InvalidNode;
@@ -57,9 +58,6 @@ import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Sets;
-
/**
* Unit tests for {@link ContentClassificationServiceImpl}.
*
@@ -78,6 +76,7 @@ public class ContentClassificationServiceImplUnitTest implements ClassifiedConte
@Mock DictionaryService mockDictionaryService;
@Mock SecurityClearanceService mockSecurityClearanceService;
@Mock AuthenticationUtil mockAuthenticationUtil;
+ @Mock ClassificationAspectProperties mockPropertiesDTO;
@Captor ArgumentCaptor