You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2009/02/10 12:57:52 UTC

svn commit: r742944 - in /lenya/trunk: org.apache.lenya.core.ac/src/main/resources/META-INF/cocoon/spring/ org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/observation/ org.apache.lenya.core.impl/ org.apache.lenya.core.impl/src/main/java/or...

Author: andreas
Date: Tue Feb 10 11:56:52 2009
New Revision: 742944

URL: http://svn.apache.org/viewvc?rev=742944&view=rev
Log:
Remove dependencies from observation and sourcerepository modules to core-impl to avoid circular dependencies, continued with test configuration.

Added:
    lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/observation/
    lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/observation/DocumentEventSource.java
    lenya/trunk/org.apache.lenya.core.impl/src/test/resources/
    lenya/trunk/org.apache.lenya.core.impl/src/test/resources/org/
    lenya/trunk/org.apache.lenya.core.impl/src/test/resources/org/apache/
    lenya/trunk/org.apache.lenya.core.impl/src/test/resources/org/apache/lenya/
    lenya/trunk/org.apache.lenya.core.impl/src/test/resources/org/apache/lenya/cms/
    lenya/trunk/org.apache.lenya.core.impl/src/test/resources/org/apache/lenya/cms/publication/
    lenya/trunk/org.apache.lenya.core.impl/src/test/resources/org/apache/lenya/cms/publication/DocumentManagerTest.spring.xml
    lenya/trunk/org.apache.lenya.core.repository/src/main/java/org/apache/lenya/cms/observation/RepositoryEventDescriptor.java
Removed:
    lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/observation/DocumentEvent.java
    lenya/trunk/org.apache.lenya.core.repository/src/main/java/org/apache/lenya/cms/observation/Observeable.java
Modified:
    lenya/trunk/org.apache.lenya.core.ac/src/main/resources/META-INF/cocoon/spring/lenya-core-ac-components.xml
    lenya/trunk/org.apache.lenya.core.impl/pom.xml
    lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/observation/RepositoryEventFactory.java
    lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/DocumentImpl.java
    lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/SessionImpl.java
    lenya/trunk/org.apache.lenya.core.impl/src/main/resources/META-INF/cocoon/spring/lenya-core-impl-components.xml
    lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/ac/impl/AbstractAccessControlTest.java
    lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/LenyaTestCase.java
    lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/publication/DefaultDocumentTest.java
    lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/publication/file/FilePublicationTest.java
    lenya/trunk/org.apache.lenya.core.janitor/src/main/java/org/apache/lenya/cms/janitor/ContentJanitor.java
    lenya/trunk/org.apache.lenya.core.observation/pom.xml
    lenya/trunk/org.apache.lenya.core.observation/src/main/java/org/apache/lenya/cms/observation/ObservationManager.java
    lenya/trunk/org.apache.lenya.core.repository/src/main/java/org/apache/lenya/cms/observation/ObservationRegistry.java
    lenya/trunk/org.apache.lenya.core.repository/src/main/java/org/apache/lenya/cms/observation/RepositoryEvent.java
    lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/WorkflowNotifier.java
    lenya/trunk/org.apache.lenya.module.lucene/src/main/java/org/apache/lenya/cms/lucene/IndexUpdaterImpl.java
    lenya/trunk/org.apache.lenya.module.notification/src/main/java/org/apache/lenya/notification/Message.java
    lenya/trunk/org.apache.lenya.module.simplesite/src/main/java/org/apache/lenya/cms/site/simple/DocumentStore.java
    lenya/trunk/org.apache.lenya.module.sourcerepository/pom.xml
    lenya/trunk/org.apache.lenya.module.sourcerepository/src/main/java/org/apache/lenya/cms/repository/SourceNode.java
    lenya/trunk/org.apache.lenya.module.sourcerepository/src/main/java/org/apache/lenya/cms/repository/SourceNodeRCML.java

Modified: lenya/trunk/org.apache.lenya.core.ac/src/main/resources/META-INF/cocoon/spring/lenya-core-ac-components.xml
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.ac/src/main/resources/META-INF/cocoon/spring/lenya-core-ac-components.xml?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.ac/src/main/resources/META-INF/cocoon/spring/lenya-core-ac-components.xml (original)
+++ lenya/trunk/org.apache.lenya.core.ac/src/main/resources/META-INF/cocoon/spring/lenya-core-ac-components.xml Tue Feb 10 11:56:52 2009
@@ -21,11 +21,13 @@
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
   
   <!-- Resolvers -->
-  <bean name="org.apache.lenya.ac.AccessControllerResolver/publication"
+  <bean name="org.apache.lenya.ac.AccessControllerResolver"
     class="org.apache.lenya.cms.ac.PublicationAccessControllerResolver">
     <property name="sourceResolver" ref="org.apache.excalibur.source.SourceResolver"/>
     <property name="repository" ref="org.apache.lenya.cms.publication.Repository"/>
   </bean>
+  <!-- alternative resolvers, uncomment to change the resolver -->
+  <!--
   <bean name="org.apache.lenya.cms.ac.AccessControllerResolver/global"
     class="org.apache.lenya.ac.impl.ConfigurableAccessControllerResolver">
     <property name="sourceResolver" ref="org.apache.excalibur.source.SourceResolver"/>
@@ -40,6 +42,7 @@
       </list>
     </property>
   </bean>
+  -->
   
   <!-- Authenticators -->
   <bean name="org.apache.lenya.ac.Authenticator"

Added: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/observation/DocumentEventSource.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/observation/DocumentEventSource.java?rev=742944&view=auto
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/observation/DocumentEventSource.java (added)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/observation/DocumentEventSource.java Tue Feb 10 11:56:52 2009
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+package org.apache.lenya.cms.observation;
+
+import org.apache.commons.lang.Validate;
+import org.apache.lenya.cms.publication.Document;
+import org.apache.lenya.cms.publication.DocumentIdentifier;
+import org.apache.lenya.cms.publication.ResourceType;
+
+public class DocumentEventSource {
+    
+    private DocumentIdentifier identifier;
+    private ResourceType resourceType;
+
+    public DocumentEventSource(Document doc) {
+        Validate.notNull(doc, "document");
+        this.identifier = doc.getIdentifier();
+    }
+    
+    public DocumentIdentifier getIdentifier() {
+        return this.identifier;
+    }
+
+    public ResourceType getResourceType() {
+        return resourceType;
+    }
+
+}

Modified: lenya/trunk/org.apache.lenya.core.impl/pom.xml
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.impl/pom.xml?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.impl/pom.xml (original)
+++ lenya/trunk/org.apache.lenya.core.impl/pom.xml Tue Feb 10 11:56:52 2009
@@ -52,8 +52,23 @@
     </dependency>
     <dependency>
       <groupId>org.apache.lenya</groupId>
+      <artifactId>lenya-core-observation</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.lenya</groupId>
+      <artifactId>lenya-module-sourcerepository</artifactId>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.lenya</groupId>
       <artifactId>lenya-core-repository</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.apache.excalibur.components</groupId>
+      <artifactId>excalibur-sourceresolve</artifactId>
+      <version>2.2.3</version>
+    </dependency>
     
     <!-- Tests -->
     <dependency>
@@ -75,6 +90,11 @@
       <scope>test</scope>
       <type>test-jar</type>
     </dependency>
+    <dependency>
+      <groupId>org.apache.lenya</groupId>
+      <artifactId>lenya-core-ac</artifactId>
+      <scope>test</scope>
+    </dependency>
     
   </dependencies>
 </project>

Modified: lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/observation/RepositoryEventFactory.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/observation/RepositoryEventFactory.java?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/observation/RepositoryEventFactory.java (original)
+++ lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/observation/RepositoryEventFactory.java Tue Feb 10 11:56:52 2009
@@ -20,7 +20,6 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.lenya.cms.publication.Document;
-import org.apache.lenya.cms.publication.DocumentException;
 import org.apache.lenya.cms.publication.DocumentImpl;
 import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.repository.Node;
@@ -30,11 +29,11 @@
  * Factory to create repository events.
  */
 public class RepositoryEventFactory {
-    
+
     private static final Log logger = LogFactory.getLog(RepositoryEventFactory.class);
 
     /**
-     * Creates a repository event for a node.
+     * Creates a repository event without source..
      * @param session The session.
      * @param descriptor The descriptor.
      * @return An event.
@@ -49,21 +48,16 @@
      * @param descriptor The descriptor.
      * @return An event.
      */
-    public static final DocumentEvent createEvent(Document doc, Object descriptor) {
-        try {
-            Node node = ((DocumentImpl) doc).getRepositoryNode();
-            DocumentEvent event = new DocumentEvent(node.getRepositorySession(), doc.getPublication()
-                    .getId(), doc.getArea(), doc.getUUID(), doc.getLanguage(), doc
-                    .getResourceType(), descriptor);
-            event.setNodeUri(node.getSourceURI());
-            int[] revisions = node.getHistory().getRevisionNumbers();
-            if (revisions.length > 0) {
-                event.setRevision(revisions[0]);
-            }
-            return event;
-        } catch (DocumentException e) {
-            throw new RuntimeException(e);
+    public static final RepositoryEvent createEvent(Document doc, Object descriptor) {
+        Node node = ((DocumentImpl) doc).getRepositoryNode();
+        RepositoryEvent event = new RepositoryEvent(node.getRepositorySession(),
+                new DocumentEventSource(doc), descriptor);
+        event.setNodeUri(node.getSourceURI());
+        int[] revisions = node.getHistory().getRevisionNumbers();
+        if (revisions.length > 0) {
+            event.setRevision(revisions[0]);
         }
+        return event;
 
     }
 
@@ -115,7 +109,8 @@
 
         try {
 
-            org.apache.lenya.cms.publication.Session session = (org.apache.lenya.cms.publication.Session) node.getRepositorySession();
+            org.apache.lenya.cms.publication.Session session = (org.apache.lenya.cms.publication.Session) node
+                    .getRepositorySession();
             Publication pub = session.getPublication(pubId);
             String docPath = path.substring((pubId + "/content/" + area).length());
 

Modified: lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/DocumentImpl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/DocumentImpl.java?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/DocumentImpl.java (original)
+++ lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/DocumentImpl.java Tue Feb 10 11:56:52 2009
@@ -35,7 +35,6 @@
 import org.apache.lenya.cms.metadata.MetaDataCache;
 import org.apache.lenya.cms.metadata.MetaDataException;
 import org.apache.lenya.cms.metadata.MetaDataWrapper;
-import org.apache.lenya.cms.observation.Observeable;
 import org.apache.lenya.cms.publication.util.DocumentVisitor;
 import org.apache.lenya.cms.repository.ContentHolder;
 import org.apache.lenya.cms.repository.Node;
@@ -50,7 +49,7 @@
  * A typical CMS document.
  * @version $Id$
  */
-public class DocumentImpl implements Document, RepositoryItem, Observeable {
+public class DocumentImpl implements Document, RepositoryItem {
 
     private static final Log logger = LogFactory.getLog(DocumentImpl.class);
 

Modified: lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/SessionImpl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/SessionImpl.java?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/SessionImpl.java (original)
+++ lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/SessionImpl.java Tue Feb 10 11:56:52 2009
@@ -27,7 +27,6 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.lenya.ac.Identity;
-import org.apache.lenya.cms.observation.DocumentEvent;
 import org.apache.lenya.cms.observation.ObservationRegistry;
 import org.apache.lenya.cms.observation.RepositoryEvent;
 import org.apache.lenya.cms.observation.RepositoryEventFactory;
@@ -152,7 +151,8 @@
     }
 
     public void enqueueEvent(Document document, Object descriptor) {
-        DocumentEvent event = RepositoryEventFactory.createEvent(document, descriptor);
+        RepositoryEvent event = RepositoryEventFactory.createEvent(document, descriptor);
+        getRepositorySession().enqueueEvent(event);
     }
 
     public boolean isModifiable() {

Modified: lenya/trunk/org.apache.lenya.core.impl/src/main/resources/META-INF/cocoon/spring/lenya-core-impl-components.xml
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.impl/src/main/resources/META-INF/cocoon/spring/lenya-core-impl-components.xml?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.impl/src/main/resources/META-INF/cocoon/spring/lenya-core-impl-components.xml (original)
+++ lenya/trunk/org.apache.lenya.core.impl/src/main/resources/META-INF/cocoon/spring/lenya-core-impl-components.xml Tue Feb 10 11:56:52 2009
@@ -31,8 +31,6 @@
   </bean>
   <bean name="org.apache.lenya.cms.publication.PublicationManager"
     class="org.apache.lenya.cms.publication.PublicationManagerImpl">
-    <property name="documentFactoryBuilder"
-      ref="org.apache.lenya.cms.publication.DocumentFactoryBuilder"/>
     <property name="nodeFactory" ref="org.apache.lenya.cms.repository.NodeFactory"/>
   </bean>
   <bean name="org.apache.lenya.cms.metadata.MetaDataCache"

Modified: lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/ac/impl/AbstractAccessControlTest.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/ac/impl/AbstractAccessControlTest.java?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/ac/impl/AbstractAccessControlTest.java (original)
+++ lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/ac/impl/AbstractAccessControlTest.java Tue Feb 10 11:56:52 2009
@@ -22,7 +22,6 @@
 
 import javax.servlet.http.HttpSession;
 
-import org.apache.avalon.framework.service.ServiceSelector;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.lenya.ac.AccessControlException;
@@ -43,17 +42,15 @@
  * Generation>Code and Comments
  */
 public class AbstractAccessControlTest extends LenyaTestCase {
-    
+
     private static final Log logger = LogFactory.getLog(AbstractAccessControlTest.class);
 
     protected static final String TEST_PUB_ID = "test";
-    private ServiceSelector accessControllerResolverSelector;
     private AccessControllerResolver accessControllerResolver;
     private AccessController accessController;
     private Repository repository;
-    
-    protected Session login(String userId)
-            throws AccessControlException {
+
+    protected Session login(String userId) throws AccessControlException {
         return login(userId, TEST_PUB_ID);
     }
 
@@ -75,8 +72,8 @@
         if (!identity.contains(user)) {
             User oldUser = identity.getUser();
             if (oldUser != null) {
-                if (getLogger().isDebugEnabled()) {
-                    getLogger().debug("Removing user [" + oldUser + "] from identity.");
+                if (logger.isDebugEnabled()) {
+                    logger.debug("Removing user [" + oldUser + "] from identity.");
                 }
                 identity.removeIdentifiable(oldUser);
             }
@@ -87,7 +84,7 @@
 
         Accreditable[] accrs = identity.getAccreditables();
         for (int i = 0; i < accrs.length; i++) {
-            getLogger().info("Accreditable: " + accrs[i]);
+            logger.info("Accreditable: " + accrs[i]);
         }
 
         Session session = getRepository().startSession(identity, true);
@@ -95,38 +92,24 @@
         return session;
     }
 
-    protected AccessController getAccessController() {
+    protected AccessController getAccessController() throws AccessControlException {
         return getAccessController(getSession(), TEST_PUB_ID);
     }
 
-    protected AccessController getAccessController(Session session, String pubId) {
+    protected AccessController getAccessController(Session session, String pubId) throws AccessControlException {
         AccessController controller;
-        try {
-            this.accessControllerResolverSelector = (ServiceSelector) getManager().lookup(
-                    AccessControllerResolver.ROLE + "Selector");
-            assertNotNull(this.accessControllerResolverSelector);
-
-            this.accessControllerResolver = (AccessControllerResolver) this.accessControllerResolverSelector
-                    .select(AccessControllerResolver.DEFAULT_RESOLVER);
-
-            assertNotNull(this.accessControllerResolver);
-            getLogger().info(
-                    "Using access controller resolver: ["
-                            + this.accessControllerResolver.getClass() + "]");
-
-            Publication pub = session.getPublication(pubId);
-            getLogger().info("Resolve access controller");
-            getLogger().info(
-                    "Publication directory: [" + pub.getDirectory().getAbsolutePath() + "]");
-
-            String url = "/" + pubId + "/authoring/index.html";
-            controller = this.accessControllerResolver.resolveAccessController(url);
-
-            assertNotNull(controller);
-            getLogger().info("Resolved access controller: [" + controller.getClass() + "]");
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
+        logger.info("Using access controller resolver: ["
+                getAccessControllerResolver().getClass() + "]");
+
+        Publication pub = session.getPublication(pubId);
+        logger.info("Resolve access controller");
+        logger.info("Publication directory: [" + pub.getDirectory().getAbsolutePath() + "]");
+
+        String url = "/" + pubId + "/authoring/index.html";
+        controller = this.getAccessControllerResolver().resolveAccessController(url);
+
+        assertNotNull(controller);
+        logger.info("Resolved access controller: [" + controller.getClass() + "]");
         return controller;
     }
 
@@ -135,15 +118,8 @@
      * @exception Exception if an error occurs
      */
     public void tearDown() throws Exception {
-
-        if (this.accessControllerResolverSelector != null) {
-            if (this.accessControllerResolver != null) {
-                if (this.accessController != null) {
-                    this.accessControllerResolver.release(this.accessController);
-                }
-                this.accessControllerResolverSelector.release(this.accessControllerResolver);
-            }
-            getManager().release(this.accessControllerResolverSelector);
+        if (this.accessController != null) {
+            this.getAccessControllerResolver().release(this.accessController);
         }
         super.tearDown();
     }
@@ -153,16 +129,18 @@
     /**
      * Returns the policy manager.
      * @return A policy manager.
+     * @throws AccessControlException 
      */
-    protected PolicyManager getPolicyManager() {
+    protected PolicyManager getPolicyManager() throws AccessControlException {
         return getAccessController().getPolicyManager();
     }
 
     /**
      * Returns the accreditable manager.
      * @return An accreditable manager.
+     * @throws AccessControlException 
      */
-    protected AccreditableManager getAccreditableManager() {
+    protected AccreditableManager getAccreditableManager() throws AccessControlException {
         return getAccessController().getAccreditableManager();
     }
 
@@ -192,6 +170,21 @@
     }
 
     public Repository getRepository() {
+        if (this.repository == null) {
+            this.repository = (Repository) getBeanFactory().getBean(Repository.class.getName());
+        }
         return repository;
     }
+
+    public void setAccessControllerResolver(AccessControllerResolver accessControllerResolver) {
+        this.accessControllerResolver = accessControllerResolver;
+    }
+
+    protected AccessControllerResolver getAccessControllerResolver() {
+        if (this.accessControllerResolver == null) {
+            this.accessControllerResolver = (AccessControllerResolver) getBeanFactory().getBean(AccessControllerResolver.ROLE);
+        }
+        return this.accessControllerResolver;
+    }
+
 }

Modified: lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/LenyaTestCase.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/LenyaTestCase.java?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/LenyaTestCase.java (original)
+++ lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/LenyaTestCase.java Tue Feb 10 11:56:52 2009
@@ -25,6 +25,7 @@
 
 import org.apache.avalon.framework.container.ContainerUtil;
 import org.apache.avalon.framework.context.DefaultContext;
+import org.apache.cocoon.AbstractTestCase;
 import org.apache.cocoon.Constants;
 import org.apache.cocoon.components.ContextHelper;
 import org.apache.cocoon.core.container.ContainerTestCase;
@@ -34,6 +35,8 @@
 import org.apache.cocoon.environment.mock.MockEnvironment;
 import org.apache.cocoon.util.IOUtils;
 import org.apache.commons.lang.SystemUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.excalibur.source.SourceResolver;
 import org.apache.excalibur.xml.EntityResolver;
 import org.apache.lenya.xml.DocumentHelper;
@@ -42,6 +45,8 @@
  * Base class for Lenya tests which need the context information.
  */
 public class LenyaTestCase extends ContainerTestCase {
+    
+    private static final Log logger = LogFactory.getLog(LenyaTestCase.class);
 
     protected DefaultContext context;
     
@@ -168,7 +173,7 @@
         // buildClassPath.append(File.pathSeparatorChar)
         // .append(getExtraClassPath(context));
 
-        getLogger().info("Context classpath: " + buildClassPath);
+        logger.info("Context classpath: " + buildClassPath);
         return buildClassPath.toString();
     }
     

Modified: lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/publication/DefaultDocumentTest.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/publication/DefaultDocumentTest.java?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/publication/DefaultDocumentTest.java (original)
+++ lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/publication/DefaultDocumentTest.java Tue Feb 10 11:56:52 2009
@@ -45,12 +45,12 @@
      */
     protected void doDocumentTest(DocumentTestSet testSet) throws PublicationException {
         Document document = getDocument(testSet);
-        getLogger().info("UUID:         " + document.getUUID());
-        getLogger().info("Area:         " + document.getArea());
-        getLogger().info("Language:     " + document.getLanguage());
-        getLogger().info("Document URL: " + document.getCanonicalDocumentURL());
-        getLogger().info("Complete URL: " + document.getCanonicalWebappURL());
-        getLogger().info("Extension:    " + document.getExtension());
+        logger.info("UUID:         " + document.getUUID());
+        logger.info("Area:         " + document.getArea());
+        logger.info("Language:     " + document.getLanguage());
+        logger.info("Document URL: " + document.getCanonicalDocumentURL());
+        logger.info("Complete URL: " + document.getCanonicalWebappURL());
+        logger.info("Extension:    " + document.getExtension());
 
         Publication publication = getSession().getPublication("test");
         assertEquals(document.getPublication(), publication);
@@ -62,7 +62,7 @@
                 + document.getArea() + testSet.getUrl());
         assertEquals(document.getExtension(), testSet.getExtension());
 
-        getLogger().info("-----------------------------------------------");
+        logger.info("-----------------------------------------------");
     }
 
     /**

Modified: lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/publication/file/FilePublicationTest.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/publication/file/FilePublicationTest.java?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/publication/file/FilePublicationTest.java (original)
+++ lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/publication/file/FilePublicationTest.java Tue Feb 10 11:56:52 2009
@@ -20,6 +20,8 @@
 
 package org.apache.lenya.cms.publication.file;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.lenya.ac.impl.AbstractAccessControlTest;
 import org.apache.lenya.cms.publication.Document;
 import org.apache.lenya.cms.publication.DocumentException;
@@ -33,6 +35,8 @@
  * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
  */
 public class FilePublicationTest extends AbstractAccessControlTest {
+    
+    private static final Log logger = LogFactory.getLog(FilePublicationTest.class);
 
     /**
      * <code>sourceDocumentId</code> The source document id
@@ -81,13 +85,13 @@
             String _destinationLanguage) throws PublicationException, DocumentException,
             SiteException {
 
-        getLogger().info("Copy document");
-        getLogger().info("    Source area:             [" + sourceArea + "]");
-        getLogger().info("    Source document ID:      [" + _sourceDocumentId + "]");
-        getLogger().info("    Source language:         [" + _sourceLanguage + "]");
-        getLogger().info("    Destination area:        [" + destinationArea + "]");
-        getLogger().info("    Destination document ID: [" + _destinationDocumentId + "]");
-        getLogger().info("    Destination language:    [" + _destinationLanguage + "]");
+        logger.info("Copy document");
+        logger.info("    Source area:             [" + sourceArea + "]");
+        logger.info("    Source document ID:      [" + _sourceDocumentId + "]");
+        logger.info("    Source language:         [" + _sourceLanguage + "]");
+        logger.info("    Destination area:        [" + destinationArea + "]");
+        logger.info("    Destination document ID: [" + _destinationDocumentId + "]");
+        logger.info("    Destination language:    [" + _destinationLanguage + "]");
 
         Session session = getSession();
         Publication publication = session.getPublication("test");

Added: lenya/trunk/org.apache.lenya.core.impl/src/test/resources/org/apache/lenya/cms/publication/DocumentManagerTest.spring.xml
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.impl/src/test/resources/org/apache/lenya/cms/publication/DocumentManagerTest.spring.xml?rev=742944&view=auto
==============================================================================
--- lenya/trunk/org.apache.lenya.core.impl/src/test/resources/org/apache/lenya/cms/publication/DocumentManagerTest.spring.xml (added)
+++ lenya/trunk/org.apache.lenya.core.impl/src/test/resources/org/apache/lenya/cms/publication/DocumentManagerTest.spring.xml Tue Feb 10 11:56:52 2009
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
+  
+  <bean name="org.apache.excalibur.source.SourceResolver"
+    class="org.apache.cocoon.components.source.CocoonSourceResolver"/>
+  
+  <import resource="classpath:META-INF/cocoon/spring/lenya-core-ac-components.xml"/>
+  <import resource="classpath:META-INF/cocoon/spring/lenya-core-impl-components.xml"/>
+  <import resource="classpath:META-INF/cocoon/spring/lenya-core-observation-components.xml"/>
+  <import resource="classpath:META-INF/cocoon/spring/lenya-module-sourcerepository-components.xml"/>
+  
+</beans>

Modified: lenya/trunk/org.apache.lenya.core.janitor/src/main/java/org/apache/lenya/cms/janitor/ContentJanitor.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.janitor/src/main/java/org/apache/lenya/cms/janitor/ContentJanitor.java?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.janitor/src/main/java/org/apache/lenya/cms/janitor/ContentJanitor.java (original)
+++ lenya/trunk/org.apache.lenya.core.janitor/src/main/java/org/apache/lenya/cms/janitor/ContentJanitor.java Tue Feb 10 11:56:52 2009
@@ -24,8 +24,10 @@
 import org.apache.excalibur.source.SourceResolver;
 import org.apache.lenya.cms.cocoon.source.SourceUtil;
 import org.apache.lenya.cms.observation.AbstractRepositoryListener;
-import org.apache.lenya.cms.observation.DocumentEvent;
+import org.apache.lenya.cms.observation.RepositoryEventDescriptor;
+import org.apache.lenya.cms.observation.DocumentEventSource;
 import org.apache.lenya.cms.observation.RepositoryEvent;
+import org.apache.lenya.cms.publication.DocumentIdentifier;
 import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.publication.Repository;
 import org.apache.lenya.cms.publication.Session;
@@ -40,12 +42,13 @@
 
     public void eventFired(RepositoryEvent repoEvent) {
         
-        if (!(repoEvent instanceof DocumentEvent)) {
+        if (!(repoEvent.getDescriptor() instanceof RepositoryEventDescriptor)) {
             return;
         }
-        DocumentEvent event = (DocumentEvent) repoEvent;
+        DocumentEventSource source = (DocumentEventSource) repoEvent.getSource();
+        DocumentIdentifier id = source.getIdentifier();
         
-        if (!event.getDescriptor().equals(DocumentEvent.REMOVED)) {
+        if (repoEvent.getDescriptor() != RepositoryEventDescriptor.REMOVED) {
             return;
         }
         
@@ -53,8 +56,8 @@
             ProcessInfoProvider process = (ProcessInfoProvider) WebAppContextUtils
                     .getCurrentWebApplicationContext().getBean(ProcessInfoProvider.ROLE);
             Session session = this.repository.getSession(process.getRequest());
-            Publication pub = session.getPublication(event.getPublicationId());
-            File contentFile = pub.getContentDirectory(event.getArea());
+            Publication pub = session.getPublication(id.getPublicationId());
+            File contentFile = pub.getContentDirectory(id.getArea());
             String contentUri = contentFile.toURI().toString();
             SourceUtil.deleteEmptyCollections(contentUri, this.sourceResolver);
         } catch (Exception e) {

Modified: lenya/trunk/org.apache.lenya.core.observation/pom.xml
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.observation/pom.xml?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.observation/pom.xml (original)
+++ lenya/trunk/org.apache.lenya.core.observation/pom.xml Tue Feb 10 11:56:52 2009
@@ -25,10 +25,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.lenya</groupId>
-      <artifactId>lenya-core-impl</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.lenya</groupId>
       <artifactId>lenya-core-repository</artifactId>
     </dependency>
   </dependencies>

Modified: lenya/trunk/org.apache.lenya.core.observation/src/main/java/org/apache/lenya/cms/observation/ObservationManager.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.observation/src/main/java/org/apache/lenya/cms/observation/ObservationManager.java?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.observation/src/main/java/org/apache/lenya/cms/observation/ObservationManager.java (original)
+++ lenya/trunk/org.apache.lenya.core.observation/src/main/java/org/apache/lenya/cms/observation/ObservationManager.java Tue Feb 10 11:56:52 2009
@@ -36,7 +36,7 @@
     private Map identifier2listeners = new HashMap();
     private Set listeners = new HashSet();
 
-    public synchronized void registerListener(RepositoryListener listener, Observeable observeable)
+    public synchronized void registerListener(RepositoryListener listener, Object observeable)
             throws ObservationException {
         Document doc = (Document) observeable;
         Set listeners = getListeners(doc.getIdentifier());
@@ -64,14 +64,6 @@
         this.listeners.add(listener);
     }
 
-    protected DocumentIdentifier getIdentifier(DocumentEvent event)
-    {
-        Validate.notNull(event);
-        DocumentIdentifier id = new DocumentIdentifier(event.getPublicationId(), event.getArea(),
-                event.getUuid(), event.getLanguage());
-        return id;
-    }
-
     protected Set getAllListeners(DocumentIdentifier doc) {
         Set allListeners = new HashSet();
         synchronized (this) {
@@ -82,17 +74,18 @@
     }
 
     protected void notify(Set listeners, RepositoryEvent event) {
-            for (Iterator i = listeners.iterator(); i.hasNext();) {
-                RepositoryListener listener = (RepositoryListener) i.next();
-                listener.eventFired(event);
-            }
+        for (Iterator i = listeners.iterator(); i.hasNext();) {
+            RepositoryListener listener = (RepositoryListener) i.next();
+            listener.eventFired(event);
+        }
     }
 
     public void eventFired(RepositoryEvent event) {
         Validate.notNull(event);
         Set listeners;
-        if (event instanceof DocumentEvent) {
-            DocumentIdentifier id = getIdentifier((DocumentEvent) event);
+        Object source = event.getSource();
+        if (source instanceof DocumentEventSource) {
+            DocumentIdentifier id = ((DocumentEventSource) source).getIdentifier();
             listeners = getAllListeners(id);
         } else {
             listeners = this.listeners;

Modified: lenya/trunk/org.apache.lenya.core.repository/src/main/java/org/apache/lenya/cms/observation/ObservationRegistry.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.repository/src/main/java/org/apache/lenya/cms/observation/ObservationRegistry.java?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.repository/src/main/java/org/apache/lenya/cms/observation/ObservationRegistry.java (original)
+++ lenya/trunk/org.apache.lenya.core.repository/src/main/java/org/apache/lenya/cms/observation/ObservationRegistry.java Tue Feb 10 11:56:52 2009
@@ -29,10 +29,10 @@
 
     /**
      * @param listener The listener.
-     * @param observeable The observeable to listen to.
-     * @throws ObservationException if the listener is already registered for this observeable.
+     * @param source The event source to listen to.
+     * @throws ObservationException if the listener is already registered for this event source.
      */
-    void registerListener(RepositoryListener listener, Observeable observeable) throws ObservationException;
+    void registerListener(RepositoryListener listener, Object source) throws ObservationException;
     
     /**
      * Registers a listener which is notified for all events.

Modified: lenya/trunk/org.apache.lenya.core.repository/src/main/java/org/apache/lenya/cms/observation/RepositoryEvent.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.repository/src/main/java/org/apache/lenya/cms/observation/RepositoryEvent.java?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.repository/src/main/java/org/apache/lenya/cms/observation/RepositoryEvent.java (original)
+++ lenya/trunk/org.apache.lenya.core.repository/src/main/java/org/apache/lenya/cms/observation/RepositoryEvent.java Tue Feb 10 11:56:52 2009
@@ -28,10 +28,23 @@
     private Session session;
     private Object descriptor = null;
     private int revision = -1;
+    private Object source;
 
     /**
      * Ctor.
      * @param session The session.
+     * @param source The source of the event.
+     * @param descriptor More information about the event.
+     */
+    public RepositoryEvent(Session session, Object source, Object descriptor) {
+        this(session, descriptor);
+        Validate.notNull(source);
+        this.source = source;
+    }
+    
+    /**
+     * Ctor.
+     * @param session The session.
      * @param descriptor More information about the event.
      */
     public RepositoryEvent(Session session, Object descriptor) {
@@ -40,7 +53,7 @@
         this.session = session;
         this.descriptor = descriptor;
     }
-    
+
     /**
      * @return The session.
      */
@@ -89,4 +102,8 @@
         return this.revision;
     }
 
+    public Object getSource() {
+        return source;
+    }
+
 }

Added: lenya/trunk/org.apache.lenya.core.repository/src/main/java/org/apache/lenya/cms/observation/RepositoryEventDescriptor.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.repository/src/main/java/org/apache/lenya/cms/observation/RepositoryEventDescriptor.java?rev=742944&view=auto
==============================================================================
--- lenya/trunk/org.apache.lenya.core.repository/src/main/java/org/apache/lenya/cms/observation/RepositoryEventDescriptor.java (added)
+++ lenya/trunk/org.apache.lenya.core.repository/src/main/java/org/apache/lenya/cms/observation/RepositoryEventDescriptor.java Tue Feb 10 11:56:52 2009
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+package org.apache.lenya.cms.observation;
+
+public class RepositoryEventDescriptor {
+
+    public static final RepositoryEventDescriptor CHANGED = new RepositoryEventDescriptor("changed");
+    public static final RepositoryEventDescriptor REMOVED = new RepositoryEventDescriptor("removed");
+    
+    private String name;
+    
+    private RepositoryEventDescriptor(String name) {
+        this.name = name;
+    }
+    
+    public String toString() {
+        return this.name;
+    }
+
+}

Modified: lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/WorkflowNotifier.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/WorkflowNotifier.java?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/WorkflowNotifier.java (original)
+++ lenya/trunk/org.apache.lenya.core.workflow/src/main/java/org/apache/lenya/cms/workflow/WorkflowNotifier.java Tue Feb 10 11:56:52 2009
@@ -18,7 +18,7 @@
 package org.apache.lenya.cms.workflow;
 
 import org.apache.lenya.cms.observation.AbstractRepositoryListener;
-import org.apache.lenya.cms.observation.DocumentEvent;
+import org.apache.lenya.cms.observation.DocumentEventSource;
 import org.apache.lenya.cms.observation.RepositoryEvent;
 import org.apache.lenya.workflow.Version;
 
@@ -28,15 +28,15 @@
 public class WorkflowNotifier extends AbstractRepositoryListener {
 
     public void eventFired(RepositoryEvent event) {
-        if (!(event instanceof DocumentEvent)) {
+        Object source = event.getSource();
+        if (!(source instanceof DocumentEventSource)) {
             return;
         }
-        DocumentEvent docEvent = (DocumentEvent) event;
-        if (!(docEvent.getDescriptor() instanceof WorkflowEventDescriptor)) {
+        if (!(event.getDescriptor() instanceof WorkflowEventDescriptor)) {
             return;
         }
 
-        WorkflowEventDescriptor descriptor = (WorkflowEventDescriptor) docEvent.getDescriptor();
+        WorkflowEventDescriptor descriptor = (WorkflowEventDescriptor) event.getDescriptor();
         Version version = descriptor.getVersion();
     }
 

Modified: lenya/trunk/org.apache.lenya.module.lucene/src/main/java/org/apache/lenya/cms/lucene/IndexUpdaterImpl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.lucene/src/main/java/org/apache/lenya/cms/lucene/IndexUpdaterImpl.java?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.lucene/src/main/java/org/apache/lenya/cms/lucene/IndexUpdaterImpl.java (original)
+++ lenya/trunk/org.apache.lenya.module.lucene/src/main/java/org/apache/lenya/cms/lucene/IndexUpdaterImpl.java Tue Feb 10 11:56:52 2009
@@ -27,10 +27,12 @@
 import org.apache.cocoon.components.search.IndexException;
 import org.apache.cocoon.util.AbstractLogEnabled;
 import org.apache.lenya.cms.cocoon.source.SourceUtil;
-import org.apache.lenya.cms.observation.DocumentEvent;
+import org.apache.lenya.cms.observation.RepositoryEventDescriptor;
+import org.apache.lenya.cms.observation.DocumentEventSource;
 import org.apache.lenya.cms.observation.ObservationRegistry;
 import org.apache.lenya.cms.observation.RepositoryEvent;
 import org.apache.lenya.cms.publication.Area;
+import org.apache.lenya.cms.publication.DocumentIdentifier;
 import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.publication.ResourceType;
 import org.apache.lenya.cms.repository.Session;
@@ -41,20 +43,23 @@
 public class IndexUpdaterImpl extends AbstractLogEnabled implements IndexUpdater, Startable,
         Serviceable, ThreadSafe {
 
-    public void eventFired(RepositoryEvent repoEvent) {
+    public void eventFired(RepositoryEvent event) {
 
-        if (!(repoEvent instanceof DocumentEvent)) {
+        Object descriptor = event.getDescriptor();
+        if (!(descriptor instanceof RepositoryEventDescriptor)) {
             return;
         }
-        DocumentEvent event = (DocumentEvent) repoEvent;
+
+        DocumentEventSource source = (DocumentEventSource) event.getSource();
+        DocumentIdentifier id = source.getIdentifier();
 
         try {
-            if (event.getDescriptor().equals(DocumentEvent.CHANGED)) {
-                index(event.getSession(), event.getResourceType(), event.getPublicationId(), event
-                        .getArea(), event.getUuid(), event.getLanguage());
-            } else if (event.getDescriptor().equals(DocumentEvent.REMOVED)) {
-                delete(event.getSession(), event.getResourceType(), event.getPublicationId(), event
-                        .getArea(), event.getUuid(), event.getLanguage());
+            if (descriptor == RepositoryEventDescriptor.CHANGED) {
+                index(event.getSession(), source.getResourceType(), id.getPublicationId(), id
+                        .getArea(), id.getUUID(), id.getLanguage());
+            } else if (event.getDescriptor().equals(RepositoryEventDescriptor.REMOVED)) {
+                delete(event.getSession(), source.getResourceType(), id.getPublicationId(), id
+                        .getArea(), id.getUUID(), id.getLanguage());
             }
 
         } catch (IndexException e) {

Modified: lenya/trunk/org.apache.lenya.module.notification/src/main/java/org/apache/lenya/notification/Message.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.notification/src/main/java/org/apache/lenya/notification/Message.java?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.notification/src/main/java/org/apache/lenya/notification/Message.java (original)
+++ lenya/trunk/org.apache.lenya.module.notification/src/main/java/org/apache/lenya/notification/Message.java Tue Feb 10 11:56:52 2009
@@ -20,6 +20,7 @@
 import java.util.Arrays;
 import java.util.Date;
 
+import org.apache.commons.lang.Validate;
 import org.apache.lenya.ac.Identifiable;
 
 /**

Modified: lenya/trunk/org.apache.lenya.module.simplesite/src/main/java/org/apache/lenya/cms/site/simple/DocumentStore.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.simplesite/src/main/java/org/apache/lenya/cms/site/simple/DocumentStore.java?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.simplesite/src/main/java/org/apache/lenya/cms/site/simple/DocumentStore.java (original)
+++ lenya/trunk/org.apache.lenya.module.simplesite/src/main/java/org/apache/lenya/cms/site/simple/DocumentStore.java Tue Feb 10 11:56:52 2009
@@ -32,7 +32,6 @@
 import org.apache.lenya.cms.publication.DocumentBuildException;
 import org.apache.lenya.cms.publication.DocumentException;
 import org.apache.lenya.cms.publication.DocumentImpl;
-import org.apache.lenya.cms.publication.History;
 import org.apache.lenya.cms.publication.LockException;
 import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.publication.RepositoryException;
@@ -212,8 +211,8 @@
     public Link add(String path, Document document) throws SiteException {
         Validate.notNull(path);
         Validate.notNull(document);
-        Validate.isTrue(!contains(document), "Document contained already", document);
         try {
+            Validate.isTrue(!contains(document), "Document contained already", document);
             String key = getKey(document.getUUID(), document.getLanguage());
             if (!doc2path().containsKey(key)) {
                 doc2path().put(key, path);

Modified: lenya/trunk/org.apache.lenya.module.sourcerepository/pom.xml
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.sourcerepository/pom.xml?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.sourcerepository/pom.xml (original)
+++ lenya/trunk/org.apache.lenya.module.sourcerepository/pom.xml Tue Feb 10 11:56:52 2009
@@ -19,15 +19,6 @@
       <groupId>org.apache.cocoon</groupId>
       <artifactId>cocoon-core</artifactId>
     </dependency>
-    <!-- TODO: remove dependency to Lenya core API and impl -->
-    <dependency>
-      <groupId>org.apache.lenya</groupId>
-      <artifactId>lenya-core-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.lenya</groupId>
-      <artifactId>lenya-core-impl</artifactId>
-    </dependency>
     <dependency>
       <groupId>org.apache.lenya</groupId>
       <artifactId>lenya-core-repository</artifactId>

Modified: lenya/trunk/org.apache.lenya.module.sourcerepository/src/main/java/org/apache/lenya/cms/repository/SourceNode.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.sourcerepository/src/main/java/org/apache/lenya/cms/repository/SourceNode.java?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.sourcerepository/src/main/java/org/apache/lenya/cms/repository/SourceNode.java (original)
+++ lenya/trunk/org.apache.lenya.module.sourcerepository/src/main/java/org/apache/lenya/cms/repository/SourceNode.java Tue Feb 10 11:56:52 2009
@@ -25,11 +25,8 @@
 import org.apache.commons.logging.Log;
 import org.apache.excalibur.source.SourceResolver;
 import org.apache.excalibur.source.TraversableSource;
-import org.apache.lenya.ac.User;
-import org.apache.lenya.cms.observation.DocumentEvent;
+import org.apache.lenya.cms.observation.RepositoryEventDescriptor;
 import org.apache.lenya.cms.observation.RepositoryEvent;
-import org.apache.lenya.cms.observation.RepositoryEventFactory;
-import org.apache.lenya.cms.publication.IdentityWrapper;
 import org.apache.lenya.cms.rc.CheckInEntry;
 import org.apache.lenya.cms.rc.RCML;
 import org.apache.lenya.cms.rc.RCMLEntry;
@@ -84,15 +81,7 @@
     }
 
     protected String getUserId() {
-        String userId = null;
-        IdentityWrapper identity = (IdentityWrapper) getRepositorySession().getIdentity();
-        if (identity != null) {
-            User user = identity.getIdentity().getUser();
-            if (user != null) {
-                userId = user.getId();
-            }
-        }
-        return userId;
+        return getRepositorySession().getIdentity().getUserId();
     }
 
     /**
@@ -341,7 +330,7 @@
         try {
             if (!getRepositorySession().isDirty(this)) {
                 getRepositorySession().registerDirty(this);
-                enqueueEvent(DocumentEvent.CHANGED);
+                enqueueEvent(RepositoryEventDescriptor.CHANGED);
             }
         } catch (TransactionException e) {
             throw new RepositoryException(e);
@@ -349,14 +338,14 @@
     }
 
     protected void enqueueEvent(Object descriptor) {
-        RepositoryEvent event = RepositoryEventFactory.createEvent(this, descriptor);
+        RepositoryEvent event = new RepositoryEvent(getRepositorySession(), this, descriptor);
         getRepositorySession().enqueueEvent(event);
     }
 
     public void registerRemoved() throws RepositoryException {
         try {
             getRepositorySession().registerRemoved(this);
-            enqueueEvent(DocumentEvent.REMOVED);
+            enqueueEvent(RepositoryEventDescriptor.REMOVED);
         } catch (Exception e) {
             throw new RepositoryException(e);
         }

Modified: lenya/trunk/org.apache.lenya.module.sourcerepository/src/main/java/org/apache/lenya/cms/repository/SourceNodeRCML.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.sourcerepository/src/main/java/org/apache/lenya/cms/repository/SourceNodeRCML.java?rev=742944&r1=742943&r2=742944&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.sourcerepository/src/main/java/org/apache/lenya/cms/repository/SourceNodeRCML.java (original)
+++ lenya/trunk/org.apache.lenya.module.sourcerepository/src/main/java/org/apache/lenya/cms/repository/SourceNodeRCML.java Tue Feb 10 11:56:52 2009
@@ -32,7 +32,6 @@
 import org.apache.commons.lang.Validate;
 import org.apache.excalibur.source.SourceResolver;
 import org.apache.lenya.cms.cocoon.source.SourceUtil;
-import org.apache.lenya.cms.publication.IdentityWrapper;
 import org.apache.lenya.cms.rc.CheckInEntry;
 import org.apache.lenya.cms.rc.CheckOutEntry;
 import org.apache.lenya.cms.rc.RCML;
@@ -144,8 +143,7 @@
     public synchronized void checkOutIn(Node node, short type, long time, boolean backup,
             boolean newVersion, boolean restrictedToSession) throws RevisionControlException {
 
-        IdentityWrapper wrapper = (IdentityWrapper) node.getRepositorySession().getIdentity();
-        String identity = wrapper.getIdentity().getUser().getId();
+        String identity = node.getRepositorySession().getIdentity().getUserId();
 
         Vector entries = getEntries();
         if (entries.size() == 0) {



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org