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);
           }
   
       }
  

Reply via email to