Update of
/var/cvs/contributions/CMSContainer/cmsc/maintenance/src/java/com/finalist/cmsc/maintenance/beans
In directory
james.mmbase.org:/tmp/cvs-serv8184/cmsc/maintenance/src/java/com/finalist/cmsc/maintenance/beans
Modified Files:
CreateRelationsForSecondaryContent.java
Log Message:
CMSC-1192 Assets: add SQL script to migrate all images/attachments/URLs to new
assetstable: did some cleaning and improvements.
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer/cmsc/maintenance/src/java/com/finalist/cmsc/maintenance/beans
See also: http://www.mmbase.org/jira/browse/CMSC-1192
Index: CreateRelationsForSecondaryContent.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer/cmsc/maintenance/src/java/com/finalist/cmsc/maintenance/beans/CreateRelationsForSecondaryContent.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- CreateRelationsForSecondaryContent.java 24 Dec 2008 13:19:36 -0000
1.7
+++ CreateRelationsForSecondaryContent.java 24 Dec 2008 14:16:58 -0000
1.8
@@ -8,27 +8,31 @@
import org.mmbase.bridge.Relation;
import com.finalist.cmsc.mmbase.RelationUtil;
-import com.finalist.cmsc.navigation.ServerUtil;
import com.finalist.cmsc.repository.RepositoryUtil;
import com.finalist.cmsc.security.SecurityUtil;
import com.finalist.cmsc.services.publish.Publish;
-import com.finalist.cmsc.services.workflow.Workflow;
+
+import org.mmbase.util.logging.Logger;
+import org.mmbase.util.logging.Logging;
+
public class CreateRelationsForSecondaryContent {
- private Cloud cloud ;
- private Integer parentNumber ;
- public CreateRelationsForSecondaryContent(Cloud cloud,Integer parentNumber)
{
+ private Cloud cloud;
+ private Integer parentNumber;
+
+ /** MMbase logging system */
+ private static final Logger log =
Logging.getLoggerInstance(CreateRelationsForSecondaryContent.class.getName());
+
+
+ public CreateRelationsForSecondaryContent(Cloud cloud, Integer
parentNumber) {
this.cloud = cloud;
this.parentNumber = parentNumber;
}
public String execute() throws Exception {
- createRelations();
- return "success";
- }
-
- private void createRelations() throws Exception{
+ //Creating relations between assets and content channel
+ //Only process assets that don't have creationrels!
NodeManager assetManager = cloud.getNodeManager("assetelement");
NodeManager ownerManager = cloud.getNodeManager("user");
@@ -37,45 +41,36 @@
Node root = null;
if (parentNumber == null || parentNumber.intValue() < 1) {
root = RepositoryUtil.getRootNode(cloud);
- }
- else {
+ } else {
root = cloud.getNode(parentNumber);
}
- if(root == null) {
+ if (root == null || !RepositoryUtil.isChannel(root) ) {
throw new Exception("Parent number must be refered to");
}
Node user = SecurityUtil.getUserNode(cloud);
NodeList assets = query.getList();
- for (int i = 0 ; i < assets.size() ; i++) {
+ log.info("Assets - Found total Assets: " + assets.size());
+ int counter = 0;
+
+ for (int i = 0; i < assets.size(); i++) {
Node asset = assets.getNode(i);
if (!RepositoryUtil.hasCreationChannel(asset)) {
+ counter++;
Relation relation = RelationUtil.createRelation(asset, root,
"creationrel");
- if(ServerUtil.isStaging() && !ServerUtil.isSingle()) {
- if(Publish.isPublished(asset) &&
Publish.isPublishable(relation)) {
- Publish.publish(relation);
- }
- else {
- if (!Workflow.hasWorkflow(asset)) {
- Workflow.create(asset, "");
- }
- else {
- Workflow.addUserToWorkflow(asset);
- }
- }
- }
+ Publish.publish(relation); // This method checks if it need to
publish
+ // otherwise, it doesn't harm anyone
}
+
int owners = asset.countRelatedNodes(ownerManager, "ownerrel",
"destination");
if (owners < 1) {
Relation relation = RelationUtil.createRelation(asset, user,
"ownerrel");
- if(ServerUtil.isStaging() && !ServerUtil.isSingle()) {
- if(Publish.isPublished(asset) &&
Publish.isPublishable(relation)) {
Publish.publish(relation);
}
}
- }
- }
+ log.info("Assets - Added relations to " + counter + " Asset elements.");
+ return "success";
}
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs