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>Preferences>Java>Code Generation>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