tdraier 2005/02/08 18:55:45 CET
Modified files:
core/src/java/org/jahia/content ContentMetadataFacade.java
core/src/java/org/jahia/services/workflow WorkflowService.java
Log:
include metadata in workflow - metadata are linked to the object they
describe - JAHIA-252
Revision Changes Path
1.4 +7 -1
jahia/core/src/java/org/jahia/content/ContentMetadataFacade.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/content/ContentMetadataFacade.java.diff?r1=1.3&r2=1.4&f=h
1.8 +19 -7
jahia/core/src/java/org/jahia/services/workflow/WorkflowService.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/workflow/WorkflowService.java.diff?r1=1.7&r2=1.8&f=h
Index: ContentMetadataFacade.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/content/ContentMetadataFacade.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ContentMetadataFacade.java 9 Dec 2004 11:19:44 -0000 1.3
+++ ContentMetadataFacade.java 8 Feb 2005 17:55:44 -0000 1.4
@@ -27,6 +27,7 @@
import org.jahia.services.version.ContentObjectEntryState;
import org.jahia.services.version.EntryLoadRequest;
import org.jahia.services.version.JahiaSaveVersion;
+import org.jahia.services.workflow.WorkflowEvent;
import java.util.*;
@@ -708,7 +709,12 @@
container.clearFields();
int size = orderedFields.size();
for ( int i=0 ; i<size; i++ ){
- container.addField((JahiaField)orderedFields.get(i));
+ JahiaField jahiaField = ((JahiaField)orderedFields.get(i));
+ container.addField(jahiaField);
+
+ WorkflowEvent theEvent = new WorkflowEvent (this,
jahiaField.getContentField(), jParams.getUser(), container.getLanguageCode(),
false);
+ ServicesRegistry.getInstance ().getJahiaEventService
().fireObjectChanged(theEvent);
+
}
}
Index: WorkflowService.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/workflow/WorkflowService.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- WorkflowService.java 9 Dec 2004 11:20:12 -0000 1.7
+++ WorkflowService.java 8 Feb 2005 17:55:45 -0000 1.8
@@ -111,6 +111,14 @@
}
}
+ private ContentObject getParent(ContentObject object) throws
JahiaException {
+ ContentObject parent = object.getParent(null);
+ if (parent == null) {
+ parent =
ContentObject.getContentObjectFromMetadata(object.getObjectKey());
+ }
+ return parent;
+ }
+
/**
* Return the type of workflow used for a specified object in the tree.
This method does not return the
@@ -130,7 +138,7 @@
Integer mode = (Integer) getDbEntry(mainObject).get(FIELD_MODE);
if (mode == null) {
- ContentObject parent = mainObject.getParent(null);
+ ContentObject parent = getParent(mainObject);
if (parent != null) {
if (mainObject instanceof ContentPage) {
return INHERITED;
@@ -138,6 +146,9 @@
return LINKED;
}
} else {
+ if
(ContentObject.getContentObjectFromMetadata(object.getObjectKey()) != null) {
+ return LINKED;
+ }
return JAHIA_INTERNAL;
}
}
@@ -154,10 +165,11 @@
public int getInheritedMode(ContentObject object) throws JahiaException {
int mode = getWorkflowMode(object);
if (mode == INHERITED || mode == LINKED) {
- ContentObject parent = object.getParent(null);
+ ContentObject parent = getParent(object);
if (parent == null) {
return INACTIVE;
}
+
return getInheritedMode(parent);
}
return mode;
@@ -172,7 +184,7 @@
throws JahiaException {
int mode = getWorkflowMode(object);
if (mode == INHERITED || mode == LINKED) {
- return getInheritedExternalWorkflowName(object.getParent(null));
+ return getInheritedExternalWorkflowName(getParent(object));
}
return getExternalWorkflowName(object);
}
@@ -187,7 +199,7 @@
throws JahiaException {
int mode = getWorkflowMode(object);
if (mode == INHERITED || mode == LINKED) {
- return
getInheritedExternalWorkflowProcessId(object.getParent(null));
+ return getInheritedExternalWorkflowProcessId(getParent(object));
}
return getExternalWorkflowProcessId(object);
}
@@ -406,7 +418,7 @@
public ContentObject getInheritingParent(ContentObject object) throws
JahiaException {
int mode = getWorkflowMode(object);
if (mode == INHERITED || mode == LINKED) {
- ContentObject parent = object.getParent(null);
+ ContentObject parent = getParent(object);
if (parent == null) {
return null;
}
@@ -422,7 +434,7 @@
public ContentObject getMainLinkObject(ContentObject object, int mode)
throws JahiaException {
if (mode == LINKED) {
- ContentObject parent = object.getParent(null);
+ ContentObject parent = getParent(object);
if (parent == null) {
return null;
}
@@ -474,7 +486,7 @@
getHardLinkedContentObjects(object, keys, linked, unlinked);
if (getWorkflowMode(object) == LINKED) {
- getLinkedContentObjects(object.getParent(null), keys, linked,
unlinked, false);
+ getLinkedContentObjects(getParent(object), keys, linked,
unlinked, false);
}
}