Changeset 29782

Show
Ignore:
Timestamp:
01/30/08 15:02:40 (10 months ago)
Author:
atchertchian
Message:

NXP-2001 + NXP-1999 + NXP-1778 : fix life cycle state vs versioning issues (fwd from r29686 + r29687)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • org.nuxeo.ecm.core/trunk/nuxeo-core/src/main/resources/OSGI-INF/LifeCycleCoreExtensions.xml

    r29781 r29782  
    3838          <description>Recover the document from trash</description> 
    3939        </transition> 
     40        <transition name="backToProject" destinationState="project"> 
     41          <description>Recover the document from trash</description> 
     42        </transition> 
    4043      </transitions> 
    4144      <states> 
     
    5053          <transitions> 
    5154            <transition>delete</transition> 
     55            <transition>backToProject</transition> 
    5256          </transitions> 
    5357        </state> 
     
    5559          <transitions> 
    5660            <transition>delete</transition> 
     61            <transition>backToProject</transition> 
    5762          </transitions> 
    5863        </state> 
     
    9095  </extension> 
    9196 
    92  
    93   <require>org.nuxeo.ecm.core.listener.CoreEventListenerService</require> 
    94  
    95   <extension target="org.nuxeo.ecm.core.listener.CoreEventListenerService" 
    96     point="listener"> 
    97  
    98     <listener name="geidelistener" 
    99       class="org.nuxeo.ecm.core.lifecycle.def.LCDefaultListener" 
    100       order="120" /> 
    101   </extension> 
    102  
    103  
    10497</component> 
  • org.nuxeo.ecm.platform/trunk/nuxeo-platform-versioning-core/src/main/java/org/nuxeo/ecm/platform/versioning/service/VersioningService.java

    r28926 r29782  
    2222import java.util.Collection; 
    2323import java.util.HashMap; 
     24import java.util.LinkedHashMap; 
    2425import java.util.List; 
    2526import java.util.Map; 
     
    7778    private String majorVersionProperty; 
    7879 
    79     private final Map<String, WFBasedRuleDescriptor> wfRuleDescriptors = new HashMap<String, WFBasedRuleDescriptor>(); 
    80  
    81     private final Map<String, EditBasedRuleDescriptor> editRuleDescriptors = new HashMap<String, EditBasedRuleDescriptor>(); 
    82  
    83     private final Map<String, AutoBasedRuleDescriptor> autoRuleDescriptors = new HashMap<String, AutoBasedRuleDescriptor>(); 
     80    private final Map<String, WFBasedRuleDescriptor> wfRuleDescriptors = new LinkedHashMap<String, WFBasedRuleDescriptor>(); 
     81 
     82    private final Map<String, EditBasedRuleDescriptor> editRuleDescriptors = new LinkedHashMap<String, EditBasedRuleDescriptor>(); 
     83 
     84    private final Map<String, AutoBasedRuleDescriptor> autoRuleDescriptors = new LinkedHashMap<String, AutoBasedRuleDescriptor>(); 
    8485 
    8586    private final Map<String, VersioningPropertiesDescriptor> propertiesDescriptors = new HashMap<String, VersioningPropertiesDescriptor>(); 
     
    332333     * @throws ClientException 
    333334     */ 
     335    // FIXME : there is no order on rules, which makes it hard to define which 
     336    // rule will be used first ; use LinkedHashMap for now to use the rule 
     337    // registration order 
    334338    private VersionIncEditOptions getVersionIncOptions(String lifecycleState, 
    335339            String docType, DocumentModel docModel) throws ClientException { 
  • org.nuxeo.ecm.platform/trunk/nuxeo-platform-versioning-core/src/main/resources/OSGI-INF/VersioningRuleContribs.xml

    r29482 r29782  
    1717    point="rules"> 
    1818 
     19    <!-- this rule seems obsolete (?) --> 
    1920    <versioningRuleWF name="sampleWFRule" workflowStateInitial="assigned" 
    2021      workflowStateFinal="inprogress" action="inc_minor"> 
    2122    </versioningRuleWF> 
    2223 
     24    <!-- this rule seems obsolete (?) --> 
    2325    <versioningRuleEdit name="sampleEditRuleReview" action="query_workflow" 
    2426      lifecycleState="review"> 
     
    3234      <option value="inc_major" /> 
    3335    </versioningRuleEdit> 
    34      
     36 
    3537    <!-- valid state --> 
    36     <versioningRuleEdit name="DocEditRule_if_in_valid_state" 
    37       action="ask_user" lifecycleState="approved"> 
    38       <option value="inc_minor" /> 
    39       <option value="inc_major" default="true"/> 
     38    <versioningRuleEdit name="DocEditRule_if_in_valid_state" action="ask_user" 
     39      lifecycleState="approved"> 
     40      <option value="inc_minor" lifecycleTransition="backToProject" /> 
     41      <option value="inc_major" lifecycleTransition="backToProject" 
     42        default="true" /> 
     43    </versioningRuleEdit> 
     44 
     45    <!-- obsolete state --> 
     46    <versioningRuleEdit name="DocEditRule_if_in_obsolete_state" action="ask_user" 
     47      lifecycleState="obsolete"> 
     48      <option value="inc_minor" lifecycleTransition="backToProject" /> 
     49      <option value="inc_major" lifecycleTransition="backToProject" 
     50        default="true" /> 
    4051    </versioningRuleEdit> 
    4152