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 lu...@apache.org on 2005/03/11 17:30:29 UTC

cvs commit: jakarta-slide/src/share/org/apache/slide/macro MacroImpl.java MacroPropertyUpdater.java

luetzkendorf    2005/03/11 08:30:29

  Modified:    src/share/org/apache/slide/macro MacroImpl.java
                        MacroPropertyUpdater.java
  Added:       src/share/org/apache/slide/common HelperProvider.java
  Log:
  trial: way to provide more infos to event listeners
  
  Revision  Changes    Path
  1.1                  jakarta-slide/src/share/org/apache/slide/common/HelperProvider.java
  
  Index: HelperProvider.java
  ===================================================================
  package org.apache.slide.common;
  
  import org.apache.slide.content.Content;
  import org.apache.slide.lock.Lock;
  import org.apache.slide.macro.Macro;
  import org.apache.slide.search.Search;
  import org.apache.slide.security.Security;
  import org.apache.slide.structure.Structure;
  
  /**
   * Interface for classes that provide access to Slide helper classes.
   */
  public interface HelperProvider {
      /**
       * Get the data helper.
       *
       * @return Data Data helper
       */
      Structure getStructureHelper();
      
      
      /**
       * Get the version helper.
       *
       * @return Version Version helper
       */
      Content getContentHelper();
      
      
      /**
       * Get the lock helper.
       *
       * @return Lock Lock helper
       */
      Lock getLockHelper();
      
      
      /**
       * Get the lock helper.
       *
       * @return Lock Lock helper
       */
      Search getSearchHelper();
      
      
      /**
       * Get the security helper.
       *
       * @return Security Security helper
       */
      Security getSecurityHelper();
      
      
      /**
       * Get the macro helper.
       *
       * @return Macro Macro helper
       */
      Macro getMacroHelper();
  }
  
  
  
  1.56      +25 -5     jakarta-slide/src/share/org/apache/slide/macro/MacroImpl.java
  
  Index: MacroImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/macro/MacroImpl.java,v
  retrieving revision 1.55
  retrieving revision 1.56
  diff -u -r1.55 -r1.56
  --- MacroImpl.java	6 Jan 2005 18:08:56 -0000	1.55
  +++ MacroImpl.java	11 Mar 2005 16:30:29 -0000	1.56
  @@ -31,6 +31,7 @@
   import java.util.StringTokenizer;
   
   import org.apache.slide.common.Domain;
  +import org.apache.slide.common.HelperProvider;
   import org.apache.slide.common.Namespace;
   import org.apache.slide.common.NamespaceConfig;
   import org.apache.slide.common.PropertyName;
  @@ -52,6 +53,7 @@
   import org.apache.slide.lock.NodeLock;
   import org.apache.slide.lock.ObjectLockedException;
   import org.apache.slide.macro.CopyRouteRedirector.CopyRoute;
  +import org.apache.slide.search.Search;
   import org.apache.slide.security.AccessDeniedException;
   import org.apache.slide.security.NodePermission;
   import org.apache.slide.security.Security;
  @@ -70,7 +72,7 @@
    *
    * @version $Revision$
    */
  -public class MacroImpl implements Macro {
  +public class MacroImpl implements Macro, HelperProvider {
       
       private Namespace namespace;
       private NamespaceConfig namespaceConfig;
  @@ -900,11 +902,9 @@
       
       private boolean destinationExists(SlideToken token, String destinationUri) throws ServiceAccessException, LinkedObjectNotFoundException, RevisionDescriptorNotFoundException, ObjectLockedException, AccessDeniedException, VetoException {
           boolean destinationExists = true;
  -        NodeRevisionDescriptor destinationNrd = null;
           try {
  -            destinationNrd =
  -                contentHelper.retrieve(token,
  -                                       contentHelper.retrieve(token, destinationUri));
  +            contentHelper.retrieve(token, contentHelper.retrieve(token,
  +                    destinationUri));
           }
           catch (ObjectNotFoundException x) {
               destinationExists = false;
  @@ -1172,6 +1172,26 @@
       private boolean isLockNull( NodeRevisionDescriptor nrd ) {
           return nrd.propertyValueContains("resourcetype", "lock-null");
       }
  +    
  +    
  +    public Content getContentHelper() {
  +        return this.contentHelper;
  +    }
  +    public Lock getLockHelper() {
  +        return this.lockHelper;
  +    }
  +    public Macro getMacroHelper() {
  +        return this;
  +    }
  +    public Search getSearchHelper() {
  +        return null;
  +    }
  +    public Security getSecurityHelper() {
  +        return securityHelper;
  +    }
  +    public Structure getStructureHelper() {
  +        return structureHelper;
  +    }
   }
   
   
  
  
  
  1.9       +25 -32    jakarta-slide/src/share/org/apache/slide/macro/MacroPropertyUpdater.java
  
  Index: MacroPropertyUpdater.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/macro/MacroPropertyUpdater.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- MacroPropertyUpdater.java	15 Dec 2004 16:26:51 -0000	1.8
  +++ MacroPropertyUpdater.java	11 Mar 2005 16:30:29 -0000	1.9
  @@ -23,18 +23,14 @@
   package org.apache.slide.macro;
   
   import org.apache.slide.common.Domain;
  -import org.apache.slide.common.Uri;
  +import org.apache.slide.common.HelperProvider;
   import org.apache.slide.content.Content;
   import org.apache.slide.content.NodeRevisionDescriptor;
   import org.apache.slide.content.NodeRevisionDescriptors;
   import org.apache.slide.event.MacroEvent;
   import org.apache.slide.event.MacroListener;
   import org.apache.slide.event.VetoException;
  -import org.apache.slide.lock.Lock;
  -import org.apache.slide.security.Security;
  -import org.apache.slide.structure.Structure;
   import org.apache.slide.structure.SubjectNode;
  -import org.apache.slide.util.NamespaceConfigUtil;
   import org.apache.slide.util.conf.Configurable;
   import org.apache.slide.util.conf.Configuration;
   import org.apache.slide.util.conf.ConfigurationException;
  @@ -88,7 +84,7 @@
      public void copy(MacroEvent event) throws VetoException
      {
         try {
  -         Content helper = getContentHelper(event);
  +         Content helper = ((HelperProvider)event.getSource()).getContentHelper();
            
            NodeRevisionDescriptors destNrds = helper.retrieve(event.getToken(), 
                                                               event.getTargetURI());
  @@ -119,9 +115,7 @@
            }
   
            if (anyThingUpdated) {
  -            Uri target = event.getNamespace().getUri(event.getToken(), 
  -                  event.getTargetURI());
  -            target.getStore().storeRevisionDescriptor(target, destNrd);
  +            helper.store(event.getToken(), event.getTargetURI(), destNrd, null);
            }
            
         } 
  @@ -137,7 +131,7 @@
      public void move(MacroEvent event) throws VetoException
      {
         try {
  -         Content helper = getContentHelper(event);
  +         Content helper = ((HelperProvider)event.getSource()).getContentHelper();
            
            NodeRevisionDescriptors destNrds = helper.retrieve(event.getToken(), 
                                                               event.getTargetURI());
  @@ -168,8 +162,7 @@
            }
   
            if (anyThingUpdated) {
  -            Uri target = event.getNamespace().getUri(event.getToken(), event.getTargetURI());
  -            target.getStore().storeRevisionDescriptor(target, destNrd);
  +             helper.store(event.getToken(), event.getTargetURI(), destNrd, null);
            }
         } 
         catch (Exception e) {
  @@ -208,21 +201,21 @@
         }
     }
   
  -  private Content getContentHelper(MacroEvent event) {
  -     Security security = NamespaceConfigUtil.getSecurityImplementation(
  -             event.getNamespace());
  -     Lock lock = NamespaceConfigUtil.getLockImplementation(
  -             event.getNamespace(),
  -             security);
  -     Structure structure = NamespaceConfigUtil.getStructureImplementation(
  -             event.getNamespace(),
  -             security,
  -             lock);     
  -     Content helper = NamespaceConfigUtil.getContentImplementation(
  -             event.getNamespace(),
  -             security,
  -             structure,
  -             lock);
  -     return helper;
  -  }
  +//  private Content getContentHelper(MacroEvent event) {
  +//     Security security = NamespaceConfigUtil.getSecurityImplementation(
  +//             event.getNamespace());
  +//     Lock lock = NamespaceConfigUtil.getLockImplementation(
  +//             event.getNamespace(),
  +//             security);
  +//     Structure structure = NamespaceConfigUtil.getStructureImplementation(
  +//             event.getNamespace(),
  +//             security,
  +//             lock);     
  +//     Content helper = NamespaceConfigUtil.getContentImplementation(
  +//             event.getNamespace(),
  +//             security,
  +//             structure,
  +//             lock);
  +//     return helper;
  +//  }
   }
  
  
  

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