You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by pn...@apache.org on 2004/07/07 17:48:34 UTC

cvs commit: jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/jdomobjects XNodeRevisionDescriptor.java

pnever      2004/07/07 08:48:34

  Modified:    proposals/tamino/src/store/org/apache/slide/store/tamino/store
                        Tag: TWS421_BRANCH ISlideAccessor.java
               proposals/tamino/src/store/org/apache/slide/store/tamino/datastore
                        Tag: TWS421_BRANCH TaminoParameters.java
               proposals/tamino/src/store/org/apache/slide/store/tamino/security/report
                        Tag: TWS421_BRANCH XAbstractReport.java
                        XPrincipalHasPrivilegeReport.java
                        XPrincipalPrivilegeSetReport.java
               proposals/tamino/src/store/org/apache/slide/store/tamino/datastore/search
                        Tag: TWS421_BRANCH XBasicExpression.java
               proposals/tamino/src/store/org/apache/slide/store/tamino/datastore/schema
                        Tag: TWS421_BRANCH XKnownPropertyHelper.java
               proposals/tamino/src/store/org/apache/slide/store/tamino/jdomobjects
                        Tag: TWS421_BRANCH XNodeRevisionDescriptor.java
  Added:       proposals/tamino/src/store/org/apache/slide/store/tamino/security/report
                        Tag: TWS421_BRANCH XLocateByHistoryReport.java
  Log:
  Making locate-by-history report faster for Tamino by using a query
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.1.4.1   +14 -4     jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/store/ISlideAccessor.java
  
  Index: ISlideAccessor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/store/ISlideAccessor.java,v
  retrieving revision 1.1
  retrieving revision 1.1.4.1
  diff -u -r1.1 -r1.1.4.1
  --- ISlideAccessor.java	25 Mar 2004 16:18:03 -0000	1.1
  +++ ISlideAccessor.java	7 Jul 2004 15:48:33 -0000	1.1.4.1
  @@ -21,6 +21,8 @@
    */
   package org.apache.slide.store.tamino.store;
   
  +import org.apache.slide.common.Namespace;
  +
   /**
    * Provides access to information coming from slide. These are mainly
    * configuration data as Tamino connection info and collection for
  @@ -30,6 +32,7 @@
    *
    * @version $Revision$
    */
  +
   public interface ISlideAccessor {
       
       /**
  @@ -45,5 +48,12 @@
        * @return     the namespace access token
        */
       public String getNamespaceName();
  +    
  +    /**
  +     * Method getNamespace
  +     *
  +     * @return   a Namespace
  +     */
  +    public Namespace getNamespace();
   }
   
  
  
  
  No                   revision
  No                   revision
  1.1.4.1   +9 -4      jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/datastore/TaminoParameters.java
  
  Index: TaminoParameters.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/datastore/TaminoParameters.java,v
  retrieving revision 1.1
  retrieving revision 1.1.4.1
  diff -u -r1.1 -r1.1.4.1
  --- TaminoParameters.java	25 Mar 2004 16:18:00 -0000	1.1
  +++ TaminoParameters.java	7 Jul 2004 15:48:34 -0000	1.1.4.1
  @@ -25,6 +25,7 @@
   import java.util.ArrayList;
   import java.util.List;
   import java.util.Properties;
  +import org.apache.slide.common.Namespace;
   import org.apache.slide.store.tamino.common.XGlobals;
   import org.apache.slide.store.tamino.store.ISlideAccessor;
   import org.apache.slide.store.tamino.store.monitoring.IMonitor;
  @@ -70,6 +71,10 @@
       
       public String getNamespaceName() {
           return namespaceName;
  +    }
  +    
  +    public Namespace getNamespace() {
  +        return null;
       }
       
       /**
  
  
  
  No                   revision
  No                   revision
  1.1.4.1   +5 -5      jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/security/report/XAbstractReport.java
  
  Index: XAbstractReport.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/security/report/XAbstractReport.java,v
  retrieving revision 1.1
  retrieving revision 1.1.4.1
  diff -u -r1.1 -r1.1.4.1
  --- XAbstractReport.java	25 Mar 2004 16:18:03 -0000	1.1
  +++ XAbstractReport.java	7 Jul 2004 15:48:34 -0000	1.1.4.1
  @@ -19,7 +19,7 @@
    * See the License for the specific language governing permissions and
    * limitations under the License.
    */
  -package org.apache.slide.store.tamino.security.report;
  +package org.apache.slide.store.tamino.report;
   
   import java.io.IOException;
   import java.util.Enumeration;
  
  
  
  1.1.4.2   +5 -5      jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/security/report/XPrincipalHasPrivilegeReport.java
  
  Index: XPrincipalHasPrivilegeReport.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/security/report/XPrincipalHasPrivilegeReport.java,v
  retrieving revision 1.1.4.1
  retrieving revision 1.1.4.2
  diff -u -r1.1.4.1 -r1.1.4.2
  --- XPrincipalHasPrivilegeReport.java	20 Apr 2004 08:27:51 -0000	1.1.4.1
  +++ XPrincipalHasPrivilegeReport.java	7 Jul 2004 15:48:34 -0000	1.1.4.2
  @@ -19,7 +19,7 @@
    * See the License for the specific language governing permissions and
    * limitations under the License.
    */
  -package org.apache.slide.store.tamino.security.report;
  +package org.apache.slide.store.tamino.report;
   
   import org.apache.slide.urm.URMException;
   import org.apache.slide.urm.accesscontroler.URMAclAdministrator;
  
  
  
  1.1.4.2   +5 -5      jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/security/report/XPrincipalPrivilegeSetReport.java
  
  Index: XPrincipalPrivilegeSetReport.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/security/report/XPrincipalPrivilegeSetReport.java,v
  retrieving revision 1.1.4.1
  retrieving revision 1.1.4.2
  diff -u -r1.1.4.1 -r1.1.4.2
  --- XPrincipalPrivilegeSetReport.java	20 Apr 2004 08:27:51 -0000	1.1.4.1
  +++ XPrincipalPrivilegeSetReport.java	7 Jul 2004 15:48:34 -0000	1.1.4.2
  @@ -19,7 +19,7 @@
    * See the License for the specific language governing permissions and
    * limitations under the License.
    */
  -package org.apache.slide.store.tamino.security.report;
  +package org.apache.slide.store.tamino.report;
   
   import org.apache.slide.urm.URMException;
   import org.apache.slide.urm.accesscontroler.URMAclAdministrator;
  
  
  
  No                   revision
  
  Index: XPrincipalPrivilegeSetReport.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/security/report/XPrincipalPrivilegeSetReport.java,v
  retrieving revision 1.1.4.1
  retrieving revision 1.1.4.2
  diff -u -r1.1.4.1 -r1.1.4.2
  --- XPrincipalPrivilegeSetReport.java	20 Apr 2004 08:27:51 -0000	1.1.4.1
  +++ XPrincipalPrivilegeSetReport.java	7 Jul 2004 15:48:34 -0000	1.1.4.2
  @@ -19,7 +19,7 @@
    * See the License for the specific language governing permissions and
    * limitations under the License.
    */
  -package org.apache.slide.store.tamino.security.report;
  +package org.apache.slide.store.tamino.report;
   
   import org.apache.slide.urm.URMException;
   import org.apache.slide.urm.accesscontroler.URMAclAdministrator;
  
  
  
  No                   revision
  
  Index: XPrincipalPrivilegeSetReport.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/security/report/XPrincipalPrivilegeSetReport.java,v
  retrieving revision 1.1.4.1
  retrieving revision 1.1.4.2
  diff -u -r1.1.4.1 -r1.1.4.2
  --- XPrincipalPrivilegeSetReport.java	20 Apr 2004 08:27:51 -0000	1.1.4.1
  +++ XPrincipalPrivilegeSetReport.java	7 Jul 2004 15:48:34 -0000	1.1.4.2
  @@ -19,7 +19,7 @@
    * See the License for the specific language governing permissions and
    * limitations under the License.
    */
  -package org.apache.slide.store.tamino.security.report;
  +package org.apache.slide.store.tamino.report;
   
   import org.apache.slide.urm.URMException;
   import org.apache.slide.urm.accesscontroler.URMAclAdministrator;
  
  
  
  1.1.2.1   +175 -0    jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/security/report/Attic/XLocateByHistoryReport.java
  
  
  
  
  No                   revision
  No                   revision
  1.1.4.1   +23 -14    jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/datastore/search/XBasicExpression.java
  
  Index: XBasicExpression.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/datastore/search/XBasicExpression.java,v
  retrieving revision 1.1
  retrieving revision 1.1.4.1
  diff -u -r1.1 -r1.1.4.1
  --- XBasicExpression.java	25 Mar 2004 16:18:01 -0000	1.1
  +++ XBasicExpression.java	7 Jul 2004 15:48:34 -0000	1.1.4.1
  @@ -27,6 +27,7 @@
   import java.util.Iterator;
   import java.util.List;
   import org.apache.slide.common.SlideException;
  +import org.apache.slide.common.Uri;
   import org.apache.slide.search.BadQueryException;
   import org.apache.slide.search.InvalidQueryException;
   import org.apache.slide.search.QueryScope;
  @@ -35,6 +36,7 @@
   import org.apache.slide.search.basic.IBasicExpression;
   import org.apache.slide.search.basic.IBasicExpressionFactory;
   import org.apache.slide.search.basic.IBasicResultSet;
  +import org.apache.slide.store.ResourceId;
   import org.apache.slide.store.tamino.common.XDatastoreException;
   import org.apache.slide.store.tamino.common.XGlobals;
   import org.apache.slide.store.tamino.datastore.XConnection;
  @@ -77,7 +79,7 @@
       
       /** backptr to the factory */
       IBasicExpressionFactory factory;
  -        
  +    
       /**
        * prevent from being instantiated from outside, use factory method
        */
  @@ -231,15 +233,23 @@
           if (Configuration.useBinding(query.getStore())) {
               return getBindingScopeFilter(slidePath);
           } else {
  -            return getNoneBindingScopeFilter(slidePath);
  +            return getNoneBindingScopeFilter(slidePath, "");
           }
       }
       
       private String getBindingScopeFilter (String slidePath) {
  -        return query.getDescriptorsMappingList().getScopeQuery();
  +        Uri uri = slideAccessor.getNamespace().getUri(slidePath);
  +        if (uri != null && uri.isStoreRoot()) {
  +            String result = getNoneBindingScopeFilter(slidePath, ResourceId.RESOURCE_ID_SCHEMA);
  +//            System.out.println(result);
  +            return result;
  +        }
  +        else {
  +            return query.getDescriptorsMappingList().getScopeQuery();
  +        }
       }
       
  -    private String getNoneBindingScopeFilter (String slidePath) {
  +    private String getNoneBindingScopeFilter (String slidePath, String uriScheme) {
           StringBuffer sb = new StringBuffer ();
           
           QueryScope scope = query.getScope();
  @@ -251,7 +261,7 @@
                   slidePath.substring (0, slidePath.length()-1) :
                   slidePath;
               
  -            sb.append ("(@uri=\"");
  +            sb.append ("(@uri=\"").append(uriScheme);
               sb.append (withoutTrailingSlash).append ("\"");
               int depth = query.getProtectedDepth();
               if (depth > 0) {
  @@ -264,7 +274,7 @@
                       cutOffSlidePath = slidePath.substring (0, XGlobals.MAX_TEXT_SEARCH_SIZE);
                   }
                   
  -                sb.append (" or @uri~=\"");
  +                sb.append (" or @uri~=\"").append(uriScheme);
                   sb.append (cutOffSlidePath).append ("*\")");
                   
                   if (depth != QueryScope.DEPTH_INFINITY) {
  @@ -279,7 +289,7 @@
           }
               
           else {
  -            sb.append ("@uri=\"");
  +            sb.append ("@uri=\"").append(uriScheme);
               sb.append (slidePath).append ("\"");
           }
           
  @@ -291,7 +301,7 @@
           
           
           String scopeFilter = sb.toString();
  -        System.out.println (scopeFilter);
  +//        System.out.println (scopeFilter);
           
           return scopeFilter;
       }
  @@ -305,8 +315,7 @@
        * @return   a StringBuffer
        *
        */
  -    private void setInclExclFilter (Iterator it, StringBuffer sb, boolean isEx)
  -    {
  +    private void setInclExclFilter (Iterator it, StringBuffer sb, boolean isEx) {
           if (it.hasNext()) {
               if (isEx) {
                   sb.append (" and not (");
  
  
  
  No                   revision
  No                   revision
  1.1.4.1   +7 -4      jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/datastore/schema/XKnownPropertyHelper.java
  
  Index: XKnownPropertyHelper.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/datastore/schema/XKnownPropertyHelper.java,v
  retrieving revision 1.1
  retrieving revision 1.1.4.1
  diff -u -r1.1 -r1.1.4.1
  --- XKnownPropertyHelper.java	25 Mar 2004 16:18:01 -0000	1.1
  +++ XKnownPropertyHelper.java	7 Jul 2004 15:48:34 -0000	1.1.4.1
  @@ -82,6 +82,9 @@
               new XKnownProperty ("resource-id", DEFAULT_NAMESPACE, "xs:string"),
               new XKnownProperty ("parent-set", DEFAULT_NAMESPACE, "xs:string"),
   
  +            // DeltaV properties
  +            new XKnownProperty ("version-history", DEFAULT_NAMESPACE, "xs:string"),
  +            
               // xdav properties
               new XKnownProperty ("xdavContentId", TAMINO_NAMESPACE, "xs:string"),
               new XKnownProperty ("isXml", TAMINO_NAMESPACE, "xs:boolean")
  
  
  
  No                   revision
  No                   revision
  1.1.4.1   +72 -61    jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/jdomobjects/XNodeRevisionDescriptor.java
  
  Index: XNodeRevisionDescriptor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/tamino/src/store/org/apache/slide/store/tamino/jdomobjects/XNodeRevisionDescriptor.java,v
  retrieving revision 1.1
  retrieving revision 1.1.4.1
  diff -u -r1.1 -r1.1.4.1
  --- XNodeRevisionDescriptor.java	25 Mar 2004 16:18:02 -0000	1.1
  +++ XNodeRevisionDescriptor.java	7 Jul 2004 15:48:34 -0000	1.1.4.1
  @@ -22,12 +22,9 @@
   
   package org.apache.slide.store.tamino.jdomobjects;
   
  -import java.util.ArrayList;
  -import java.util.Enumeration;
  -import java.util.Hashtable;
  -import java.util.Iterator;
  -import java.util.List;
  -import java.util.Vector;
  +import java.util.*;
  +
  +import org.apache.slide.common.UriPath;
   import org.apache.slide.content.NodeProperty;
   import org.apache.slide.content.NodeProperty.NamespaceCache;
   import org.apache.slide.content.NodeRevisionDescriptor;
  @@ -60,11 +57,11 @@
           }
           return slide;
       }
  -
  +    
       public static Element toXmlList (List revisionDescriptorList, String tsdLanguage) {
           Element root;
           Iterator iter;
  -
  +        
           root = new Element(E_DESCRIPTOR_LIST);
           iter = revisionDescriptorList.iterator();
           while (iter.hasNext()) {
  @@ -75,7 +72,7 @@
       
       public static void toStreamList(XmlStream xs, List revisionDescriptorList, String tsdLanguage) {
           Iterator iter;
  -
  +        
           xs.addStartElement(E_DESCRIPTOR_LIST);
           xs.addEndElement();
           iter = revisionDescriptorList.iterator();
  @@ -84,7 +81,7 @@
           }
           xs.addCloseElement(E_DESCRIPTOR_LIST);
       }
  -
  +    
       /**
        * returns the jdom aspect of this descriptor.
        *
  @@ -97,30 +94,30 @@
           if (revisionDescriptor == null) {
               throw new XAssertionFailed();
           }
  -
  +        
           Element e = new Element (E_REVISION_DESCRIPTOR);
  -
  +        
           // NodeRevisionNumber
           String nodeRevsisionNumber = revisionDescriptor.getRevisionNumber().toString();
           e.setAttribute (A_REVISION_NUMBER, nodeRevsisionNumber);
  -
  +        
           // branch name
           e.setAttribute (A_BRANCH_NAME, revisionDescriptor.getBranchName());
  -
  +        
           Element nodePropertiesElement = new Element (E_PROPERTY_LIST);
           e.addContent (nodePropertiesElement);
           Enumeration properties = revisionDescriptor.enumerateProperties();
  -
  +        
           while (properties.hasMoreElements()) {
               NodeProperty nodeProp = (NodeProperty)properties.nextElement();
               Element prop = XNodeProperty.getElement (nodeProp, tsdLanguage);
               nodePropertiesElement.addContent (prop);
           }
  -
  +        
           // labels
           Element labelsElement = new Element (E_LABELS);
           e.addContent (labelsElement);
  -
  +        
           Enumeration labels = revisionDescriptor.enumerateLabels();
           while (labels.hasMoreElements()) {
               String label = (String)labels.nextElement();
  @@ -128,7 +125,7 @@
               labelElement.setText (label);
               labelsElement.addContent (labelElement);
           }
  -
  +        
           return e;
       }
       
  @@ -136,31 +133,45 @@
           if (revisionDescriptor == null) {
               throw new XAssertionFailed();
           }
  -
  +        
           xs.addStartElement(E_REVISION_DESCRIPTOR);
  -
  +        
           // NodeRevisionNumber
           String nodeRevsisionNumber = revisionDescriptor.getRevisionNumber().toString();
           xs.addAttribute(A_REVISION_NUMBER, nodeRevsisionNumber);
  -
  +        
           // branch name
           xs.addAttribute(A_BRANCH_NAME, revisionDescriptor.getBranchName());
           xs.addEndElement();
  -
  +        
           xs.addStartElement(E_PROPERTY_LIST);
           xs.addEndElement();
           Enumeration properties = revisionDescriptor.enumerateProperties();
  -
  +        
           while (properties.hasMoreElements()) {
               NodeProperty nodeProp = (NodeProperty)properties.nextElement();
               XNodeProperty.toStream (xs, nodeProp, tsdLanguage);
  +            
  +            // @@@@@@@@@@@ Hack for version-history @@@@@@@@@@@@@@@@@@@@
  +            // This is to make the DAV:locate-by-history report faster
  +            // @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  +            if (("checked-in".equals(nodeProp.getName()) || "checked-out".equals(nodeProp.getName())) &&
  +                "DAV:".equals(nodeProp.getNamespace())) {
  +                
  +                String v = (String)nodeProp.getValue();
  +                String p = v.substring(v.indexOf("/"), v.lastIndexOf('<'));
  +                UriPath up = new UriPath(p);
  +                NodeProperty np = new NodeProperty("version-history", up.parent().toString(), "DAV:");
  +                XNodeProperty.toStream(xs, np, tsdLanguage);
  +                //System.out.println("@@@ Added "+np.getNamespace()+":"+np.getName()+"="+np.getValue());
  +            }
           }
           xs.addCloseElement(E_PROPERTY_LIST);
  -
  +        
           // labels
           xs.addStartElement(E_LABELS);
           xs.addEndElement();
  -
  +        
           Enumeration labels = revisionDescriptor.enumerateLabels();
           while (labels.hasMoreElements()) {
               String label = (String)labels.nextElement();
  @@ -172,7 +183,7 @@
           xs.addCloseElement(E_LABELS);
           xs.addCloseElement(E_REVISION_DESCRIPTOR);
       }
  -
  +    
       /**
        * creates the slide aspect of this NodeRevisionDescriptor
        */
  @@ -181,14 +192,14 @@
               throw new XAssertionFailed();
           }
           NodeRevisionDescriptor revisionDescriptor;
  -
  +        
           // revision number
           NodeRevisionNumber revisionNumber =
               new NodeRevisionNumber (jdomAspect.getAttributeValue(A_REVISION_NUMBER));
  -
  +        
           // branch name
           String branchName = jdomAspect.getAttributeValue(A_BRANCH_NAME);
  -
  +        
           // labels
           List labelList = jdomAspect.getChild (E_LABELS).getChildren();
           Vector labels = new Vector (labelList.size());
  @@ -197,12 +208,12 @@
               String label = ((Element) it.next()).getText();
               labels.add (label);
           }
  -
  +        
           // properties
           List propertyList = jdomAspect.getChild (E_PROPERTY_LIST).getChildren();
  -
  +        
           Hashtable properties = new Hashtable (propertyList.size());
  -
  +        
           // create NodeRevisionDescriptor
           revisionDescriptor = new NodeRevisionDescriptor (revisionNumber,
                                                            branchName,
  @@ -215,10 +226,10 @@
               nodeProp = getNamespaceMigratedProperty(nodeProp);
               revisionDescriptor.setProperty (nodeProp);
           }
  -
  +        
           return revisionDescriptor;
       }
  -
  +    
       /**
        * If the given NodeProperty is one of the proprietary Tamino properties
        * (e.g. <code>xdavContentId</code>) and their namespace
  @@ -232,24 +243,24 @@
        * @return     the migrated or the given property (see description).
        */
       private static NodeProperty getNamespaceMigratedProperty(NodeProperty property) {
  -
  +        
           NodeProperty migratedProperty = property;
  -
  +        
           if (XGlobals.CONTENT_ID.equals(property.getName()) &&
               NamespaceCache.DEFAULT_URI.equals(property.getNamespace()) ) {
  -
  +            
               migratedProperty = new NodeProperty(property.getName(),
                                                   property.getValue(),
                                                   XGlobals.TAMINO_NAMESPACE_URI);
               migratedProperty.setKind( NodeProperty.Kind.PROTECTED );
           }
  -
  +        
           return migratedProperty;
       }
  -
  -
  +    
  +    
       //-- misc
  -
  +    
       /**
        * locate a nodeRevisionDescriptor within descriptorListElement,
        * identified by nodeRevisionNumber.
  @@ -278,7 +289,7 @@
           }
           return null;
       }
  -
  +    
       /**
        * Return true if the given node revision descriptor is a collection.
        * @param nrd node revision descriptor
  @@ -287,7 +298,7 @@
       public static boolean isCollection( NodeRevisionDescriptor nrd ) {
           return nrd.propertyValueContains(NodeRevisionDescriptor.RESOURCE_TYPE ,"collection");
       }
  -
  +    
       /**
        * Method getPropertyValue
        *
  @@ -302,29 +313,29 @@
           Object result = null;
           if( nrd == null )
               return result;
  -
  +        
           NodeProperty p = null;
  -
  +        
           if (namespace == null)
               p = nrd.getProperty( pname );
           else
               p = nrd.getProperty( pname, namespace );
  -
  +        
           if( p == null )
               return result;
  -
  +        
           return p.getValue();
       }
  -
  +    
       //-- TODO: move somewhere else?
  -
  +    
       public static void addSpecialProperties(
           IDescriptorsHandler handler, ObjectNode objectNode, NodeRevisionDescriptor nrd)
           throws XException {
           nrd.setProperty(P_RESOURCE_ID, getXmlResourceId(objectNode));
           nrd.setProperty(P_PARENT_SET, getXmlParentSet(handler, objectNode));
       }
  -
  +    
       public static String getXmlResourceId(ObjectNode objectNode) throws XException {
           XMLValue r = new XMLValue();
           Element hrefElm = new Element( E_HREF, NamespaceCache.DEFAULT_NAMESPACE );
  @@ -332,14 +343,14 @@
           r.add( hrefElm );
           return r.toString();
       }
  -
  +    
       public static String getXmlParentSet(IDescriptorsHandler handler, ObjectNode objectNode) throws XException {
           XMLValue result;
           Element parent;
           Element child;
           Enumeration parentBindings;
           ObjectNode.Binding binding;
  -
  +        
           result = new XMLValue();
           parentBindings = objectNode.enumerateParentBindings();
           while (parentBindings.hasMoreElements()) {
  @@ -353,10 +364,10 @@
               parent.addContent(child);
               result.add(parent);
           }
  -
  +        
           return result.toString();
       }
  -
  +    
       /**
        ** @param uuri to obtain uuri for
        **/
  @@ -371,7 +382,7 @@
               return new XUri(childObjectNode.getUri()).getParent().toString();
           }
       }
  -
  +    
       public static String getOneUri(IDescriptorsHandler handler, String uuri) throws XException {
           IDescriptors desc;
           String result;
  @@ -379,7 +390,7 @@
           Enumeration en;
           ObjectNode.Binding binding;
           String segment;
  -
  +        
           result = "";
           while (!XUuri.isStoreUuri(uuri)) {
               desc = handler.lookup(null, uuri, XTLock.NO_LOCK);
  @@ -395,7 +406,7 @@
           }
           return XUuri.getStoreUri(uuri) + result;
       }
  -
  +    
       /**
        * @post result == nrd
        *
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org