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 2006/08/11 20:43:02 UTC
svn commit: r430854 [2/3] - in /lenya/trunk/src:
impl/java/org/apache/lenya/cms/publication/
impl/test/org/apache/lenya/ac/impl/ impl/test/org/apache/lenya/cms/metadata/
impl/test/org/apache/lenya/cms/publication/
impl/test/org/apache/lenya/cms/publica...
Modified: lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentBuilder.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentBuilder.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentBuilder.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentBuilder.java Fri Aug 11 11:42:59 2006
@@ -36,7 +36,7 @@
* @return A document identifier.
* @throws DocumentBuildException if an error occurs.
*/
- DocumentLocator getLocator(String webappUrl) throws DocumentBuildException;
+ DocumentLocator getLocator(DocumentFactory factory, String webappUrl) throws DocumentBuildException;
/**
* Checks if an URL corresponds to a CMS document.
@@ -48,10 +48,11 @@
/**
* Builds an URL corresponding to a CMS document.
+ * @param factory The document factory.
* @param locator The locator.
* @return a String The corresponding URL.
*/
- String buildCanonicalUrl(DocumentLocator locator);
+ String buildCanonicalUrl(DocumentFactory factory, DocumentLocator locator);
/**
* Checks if a document name is valid.
Modified: lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentFactory.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentFactory.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentFactory.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentFactory.java Fri Aug 11 11:42:59 2006
@@ -104,5 +104,17 @@
* @throws DocumentBuildException if an error occurs.
*/
Document get(DocumentLocator locator) throws DocumentBuildException;
+
+ /**
+ * @param id The publication ID.
+ * @return A publication.
+ * @throws PublicationException if the publication does not exist.
+ */
+ Publication getPublication(String id) throws PublicationException;
+
+ /**
+ * @return All publications.
+ */
+ Publication[] getPublications();
}
Modified: lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentUtil.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentUtil.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentUtil.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/publication/DocumentUtil.java Fri Aug 11 11:42:59 2006
@@ -30,17 +30,17 @@
public class DocumentUtil {
/**
- * Creates a document identity map.
+ * Creates a document factory.
* @param manager The service manager.
* @param session The session.
- * @return if an error occurs.
+ * @return a document factory.
*/
public static DocumentFactory createDocumentFactory(ServiceManager manager, Session session) {
- DocumentFactory map;
+ DocumentFactory factory;
DocumentManager docManager = null;
try {
docManager = (DocumentManager) manager.lookup(DocumentManager.ROLE);
- map = docManager.createDocumentIdentityMap(session);
+ factory = docManager.createDocumentIdentityMap(session);
} catch (ServiceException e) {
throw new RuntimeException(e);
} finally {
@@ -48,7 +48,24 @@
manager.release(docManager);
}
}
- return map;
+ return factory;
+ }
+
+ /**
+ * Returns a document factory for the session which is attached to the request.
+ * If no session exists, it is created.
+ * @param manager The service manager.
+ * @param request The request.
+ * @return A document factory.
+ */
+ public static DocumentFactory getDocumentFactory(ServiceManager manager, Request request) {
+ Session session;
+ try {
+ session = RepositoryUtil.getSession(manager, request);
+ } catch (RepositoryException e) {
+ throw new RuntimeException(e);
+ }
+ return createDocumentFactory(manager, session);
}
/**
Modified: lenya/trunk/src/java/org/apache/lenya/cms/publication/Publication.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/publication/Publication.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/publication/Publication.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/publication/Publication.java Fri Aug 11 11:42:59 2006
@@ -216,5 +216,22 @@
* @return The resource types that are supported by this publication.
*/
String[] getResourceTypeNames();
+
+ /**
+ * @param name The name.
+ * @return An area object.
+ * @throws PublicationException if an error occurs.
+ */
+ Area getArea(String name) throws PublicationException;
+
+ /**
+ * @return The names of all available areas.
+ */
+ String[] getAreaNames();
+
+ /**
+ * @return The document factory.
+ */
+ public DocumentFactory getFactory();
}
Modified: lenya/trunk/src/java/org/apache/lenya/cms/publication/PublicationManager.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/publication/PublicationManager.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/publication/PublicationManager.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/publication/PublicationManager.java Fri Aug 11 11:42:59 2006
@@ -16,7 +16,6 @@
*/
package org.apache.lenya.cms.publication;
-
/**
* Publication manager.
*/
@@ -28,16 +27,18 @@
String ROLE = PublicationManager.class.getName();
/**
+ * @param factory The factory.
* @return All publications.
* @throws PublicationException if an error occurrs.
*/
- Publication[] getPublications() throws PublicationException;
+ Publication[] getPublications(DocumentFactory factory) throws PublicationException;
/**
+ * @param factory The factory.
* @param id The publication ID.
* @return A publication.
* @throws PublicationException if an error occurs.
*/
- Publication getPublication(String id) throws PublicationException;
+ Publication getPublication(DocumentFactory factory, String id) throws PublicationException;
}
Modified: lenya/trunk/src/java/org/apache/lenya/cms/publication/PublicationUtil.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/publication/PublicationUtil.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/publication/PublicationUtil.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/publication/PublicationUtil.java Fri Aug 11 11:42:59 2006
@@ -23,6 +23,9 @@
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Request;
+import org.apache.lenya.cms.repository.RepositoryException;
+import org.apache.lenya.cms.repository.RepositoryUtil;
+import org.apache.lenya.cms.repository.Session;
import org.apache.lenya.util.ServletHelper;
/**
@@ -44,28 +47,6 @@
}
/**
- * Create a new publication with the given publication-id.
- * @param manager The service manager.
- * @param id the publication id
- * @return a <code>Publication</code>
- * @throws PublicationException if there was a problem creating the publication.
- */
- public static Publication getPublication(ServiceManager manager, String id)
- throws PublicationException {
- PublicationManager pubManager = null;
- try {
- pubManager = (PublicationManager) manager.lookup(PublicationManager.ROLE);
- return pubManager.getPublication(id);
- } catch (ServiceException e) {
- throw new PublicationException(e);
- } finally {
- if (pubManager != null) {
- manager.release(pubManager);
- }
- }
- }
-
- /**
* Creates a new publication based on a request.
* @param manager The service manager.
* @param request A request.
@@ -74,35 +55,45 @@
*/
public static Publication getPublication(ServiceManager manager, Request request)
throws PublicationException {
+ Session session;
+ try {
+ session = RepositoryUtil.getSession(manager, request);
+ } catch (RepositoryException e) {
+ throw new PublicationException(e);
+ }
+ DocumentFactory factory = DocumentUtil.createDocumentFactory(manager, session);
String webappUrl = ServletHelper.getWebappURI(request);
- return getPublicationFromUrl(manager, webappUrl);
+ return getPublicationFromUrl(manager, factory, webappUrl);
}
/**
* Creates a publication from a webapp URL and a servlet context directory.
* @param manager The service manager.
+ * @param factory The factory.
* @param webappUrl The URL within the web application (without context prefix)
* @return A publication
* @throws PublicationException when something went wrong
*/
- public static Publication getPublicationFromUrl(ServiceManager manager, String webappUrl)
- throws PublicationException {
+ public static Publication getPublicationFromUrl(ServiceManager manager,
+ DocumentFactory factory, String webappUrl) throws PublicationException {
URLInformation info = new URLInformation(webappUrl);
String pubId = info.getPublicationId();
- return getPublication(manager, pubId);
+ return factory.getPublication(pubId);
}
/**
* Returns a list of all available publications.
* @param manager The service manager.
+ * @param factory The document factory.
* @return An array of publications.
* @throws PublicationException if an error occurs.
*/
- public static Publication[] getPublications(ServiceManager manager) throws PublicationException {
+ public static Publication[] getPublications(ServiceManager manager, DocumentFactory factory)
+ throws PublicationException {
PublicationManager pubManager = null;
try {
pubManager = (PublicationManager) manager.lookup(PublicationManager.ROLE);
- return pubManager.getPublications();
+ return pubManager.getPublications(factory);
} catch (ServiceException e) {
throw new PublicationException(e);
} finally {
Modified: lenya/trunk/src/java/org/apache/lenya/cms/publication/Resource.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/publication/Resource.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/publication/Resource.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/publication/Resource.java Fri Aug 11 11:42:59 2006
@@ -92,7 +92,7 @@
String pubBase = Node.LENYA_PROTOCOL + Publication.PUBLICATION_PREFIX_URI + "/";
String publicationsPath = document.getPublication().getSourceURI().substring(pubBase.length());
publicationId = publicationsPath.split("/")[0];
- Publication pub = PublicationUtil.getPublication(this.manager, publicationId);
+ Publication pub = getDocument().getFactory().getPublication(publicationId);
contentDir = pub.getContentDir();
} catch (Exception e) {
getLogger().error(e.getMessage());
Modified: lenya/trunk/src/java/org/apache/lenya/cms/publication/util/DocumentLanguagesHelper.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/publication/util/DocumentLanguagesHelper.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/publication/util/DocumentLanguagesHelper.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/publication/util/DocumentLanguagesHelper.java Fri Aug 11 11:42:59 2006
@@ -81,7 +81,7 @@
public String getLanguage() throws ProcessingException {
DocumentLocator locator;
try {
- locator = SiteUtil.getLocator(this.manager, url);
+ locator = SiteUtil.getLocator(this.manager, this.factory, url);
} catch (SiteException e) {
throw new ProcessingException(e);
}
@@ -97,7 +97,7 @@
List availableLanguages = new ArrayList();
try {
- DocumentLocator locator = SiteUtil.getLocator(this.manager, url);
+ DocumentLocator locator = SiteUtil.getLocator(this.manager, this.factory, url);
String[] languages = pub.getLanguages();
for (int i = 0; i < languages.length; i++) {
@@ -133,7 +133,7 @@
protected Document getDocument(String language) throws ProcessingException {
Document document;
try {
- DocumentLocator locator = SiteUtil.getLocator(this.manager, url);
+ DocumentLocator locator = SiteUtil.getLocator(this.manager, this.factory, url);
DocumentLocator version = locator.getLanguageVersion(language);
document = this.factory.get(version);
} catch (Exception e) {
Modified: lenya/trunk/src/java/org/apache/lenya/cms/repository/RepositoryUtil.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/repository/RepositoryUtil.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/repository/RepositoryUtil.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/repository/RepositoryUtil.java Fri Aug 11 11:42:59 2006
@@ -36,12 +36,23 @@
throws RepositoryException {
Session session = (Session) request.getAttribute(Session.class.getName());
if (session == null) {
- org.apache.cocoon.environment.Session cocoonSession = request.getSession();
- Identity identity = (Identity) cocoonSession.getAttribute(Identity.class.getName());
+ Identity identity = getIdentity(request);
session = createSession(manager, identity);
request.setAttribute(Session.class.getName(), session);
}
+ else if (session.getIdentity() == null) {
+ Identity identity = getIdentity(request);
+ if (identity != null) {
+ session.setIdentity(identity);
+ }
+ }
return session;
+ }
+
+ protected static Identity getIdentity(Request request) {
+ org.apache.cocoon.environment.Session cocoonSession = request.getSession();
+ Identity identity = (Identity) cocoonSession.getAttribute(Identity.class.getName());
+ return identity;
}
/**
Modified: lenya/trunk/src/java/org/apache/lenya/cms/repository/SessionImpl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/repository/SessionImpl.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/repository/SessionImpl.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/repository/SessionImpl.java Fri Aug 11 11:42:59 2006
@@ -27,6 +27,7 @@
import org.apache.lenya.transaction.Transactionable;
import org.apache.lenya.transaction.UnitOfWork;
import org.apache.lenya.transaction.UnitOfWorkImpl;
+import org.apache.lenya.util.Assert;
/**
* Repository session.
@@ -40,7 +41,10 @@
* @param logger The logger.
*/
public SessionImpl(IdentityMap map, Identity identity, Logger logger) {
- this.unitOfWork = new UnitOfWorkImpl(map, logger);
+
+ Assert.notNull("identity map", map);
+
+ this.unitOfWork = new UnitOfWorkImpl(map, identity, logger);
this.unitOfWork.setIdentity(identity);
ContainerUtil.enableLogging(this, logger);
}
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/Label.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/site/Label.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/Label.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/Label.java Fri Aug 11 11:42:59 2006
@@ -55,15 +55,6 @@
}
/**
- * Set the actual label of the label object.
- *
- * @param _label The label.
- */
- public void setLabel(String _label) {
- this.label = _label;
- }
-
- /**
* Get the language of this Label object
*
* @return the language
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/SiteUtil.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/site/SiteUtil.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/SiteUtil.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/SiteUtil.java Fri Aug 11 11:42:59 2006
@@ -31,7 +31,6 @@
import org.apache.lenya.cms.publication.DocumentFactory;
import org.apache.lenya.cms.publication.DocumentLocator;
import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.publication.PublicationUtil;
import org.apache.lenya.cms.publication.URLInformation;
import org.apache.lenya.cms.publication.util.DocumentSet;
import org.apache.lenya.util.Assert;
@@ -394,7 +393,7 @@
SiteManager siteManager = null;
try {
selector = (ServiceSelector) manager.lookup(SiteManager.ROLE + "Selector");
- Publication pub = PublicationUtil.getPublication(manager, locator.getPublicationId());
+ Publication pub = factory.getPublication(locator.getPublicationId());
siteManager = (SiteManager) selector.select(pub.getSiteManagerHint());
return siteManager.getAvailableLocator(factory, locator);
} catch (Exception e) {
@@ -541,7 +540,7 @@
try {
selector = (ServiceSelector) manager.lookup(SiteManager.ROLE + "Selector");
- Publication pub = PublicationUtil.getPublication(manager, locator.getPublicationId());
+ Publication pub = factory.getPublication(locator.getPublicationId());
String siteManagerHint = pub.getSiteManagerHint();
siteManager = (SiteManager) selector.select(siteManagerHint);
SiteStructure site = siteManager.getSiteStructure(factory, pub, locator.getArea());
@@ -567,12 +566,12 @@
DocumentBuilder builder = null;
ServiceSelector selector = null;
try {
- Publication pub = PublicationUtil.getPublication(manager, info.getPublicationId());
+ Publication pub = factory.getPublication(info.getPublicationId());
if (pub.exists()) {
selector = (ServiceSelector) manager.lookup(DocumentBuilder.ROLE + "Selector");
builder = (DocumentBuilder) selector.select(pub.getDocumentBuilderHint());
if (builder.isDocument(webappUrl)) {
- DocumentLocator locator = builder.getLocator(webappUrl);
+ DocumentLocator locator = builder.getLocator(factory, webappUrl);
return contains(manager, factory, locator);
}
}
@@ -594,7 +593,7 @@
public static Document getDocument(ServiceManager manager, DocumentFactory factory,
String webappUrl) throws SiteException {
- DocumentLocator locator = getLocator(manager, webappUrl);
+ DocumentLocator locator = getLocator(manager, factory, webappUrl);
if (contains(manager, factory, locator)) {
try {
return factory.get(locator);
@@ -606,17 +605,16 @@
}
}
- public static DocumentLocator getLocator(ServiceManager manager, String webappUrl)
+ public static DocumentLocator getLocator(ServiceManager manager, DocumentFactory factory, String webappUrl)
throws SiteException {
- DocumentLocator locator;
URLInformation info = new URLInformation(webappUrl);
DocumentBuilder builder = null;
ServiceSelector selector = null;
try {
- Publication pub = PublicationUtil.getPublication(manager, info.getPublicationId());
+ Publication pub = factory.getPublication(info.getPublicationId());
selector = (ServiceSelector) manager.lookup(DocumentBuilder.ROLE + "Selector");
builder = (DocumentBuilder) selector.select(pub.getDocumentBuilderHint());
- return builder.getLocator(webappUrl);
+ return builder.getLocator(factory, webappUrl);
} catch (SiteException e) {
throw e;
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/simple/DocumentStoreFactory.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/site/simple/DocumentStoreFactory.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/simple/DocumentStoreFactory.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/simple/DocumentStoreFactory.java Fri Aug 11 11:42:59 2006
@@ -23,7 +23,6 @@
import org.apache.lenya.cms.publication.DocumentFactory;
import org.apache.lenya.cms.publication.DocumentUtil;
import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.publication.PublicationUtil;
import org.apache.lenya.cms.repository.RepositoryException;
import org.apache.lenya.cms.repository.RepositoryItem;
import org.apache.lenya.cms.repository.RepositoryItemFactory;
@@ -70,10 +69,9 @@
String uuid = snippets[2];
DocumentStore store;
try {
- Publication publication = PublicationUtil.getPublication(this.manager, publicationId);
-
- DocumentFactory docMap = DocumentUtil.createDocumentFactory(this.manager, session);
- store = new DocumentStore(this.manager, docMap, publication, area, uuid, getLogger());
+ DocumentFactory factory = DocumentUtil.createDocumentFactory(this.manager, session);
+ Publication publication = factory.getPublication(publicationId);
+ store = new DocumentStore(this.manager, factory, publication, area, uuid, getLogger());
} catch (Exception e) {
throw new RepositoryException(e);
}
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/simple/SimpleLink.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/site/simple/SimpleLink.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/simple/SimpleLink.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/simple/SimpleLink.java Fri Aug 11 11:42:59 2006
@@ -38,5 +38,8 @@
throw new RuntimeException(e);
}
}
+
+ public void setLabel(String label) {
+ }
}
Modified: lenya/trunk/src/java/org/apache/lenya/transaction/UnitOfWorkImpl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/transaction/UnitOfWorkImpl.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/transaction/UnitOfWorkImpl.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/transaction/UnitOfWorkImpl.java Fri Aug 11 11:42:59 2006
@@ -26,6 +26,7 @@
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.logger.Logger;
import org.apache.lenya.ac.Identity;
+import org.apache.lenya.util.Assert;
/**
* Default implementation of a unit of work.
@@ -37,12 +38,17 @@
/**
* Ctor.
* @param map The identity map to use.
+ * @param identity The identity.
* @param logger The logger.
*/
- public UnitOfWorkImpl(IdentityMap map, Logger logger) {
+ public UnitOfWorkImpl(IdentityMap map, Identity identity, Logger logger) {
ContainerUtil.enableLogging(this, logger);
+
+ Assert.notNull(map);
this.identityMap = map;
this.identityMap.setUnitOfWork(this);
+
+ this.identity = identity;
}
private IdentityMap identityMap;
Modified: lenya/trunk/src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java (original)
+++ lenya/trunk/src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java Fri Aug 11 11:42:59 2006
@@ -29,6 +29,7 @@
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.ServiceSelector;
import org.apache.avalon.framework.service.Serviceable;
+import org.apache.cocoon.environment.Request;
import org.apache.lenya.ac.AccessControlException;
import org.apache.lenya.ac.Accreditable;
import org.apache.lenya.ac.AccreditableManager;
@@ -79,7 +80,8 @@
ContextUtility contextUtility = null;
try {
contextUtility = (ContextUtility) serviceManager.lookup(ContextUtility.ROLE);
- Session session = RepositoryUtil.getSession(this.serviceManager, contextUtility.getRequest());
+ Session session = RepositoryUtil.getSession(this.serviceManager,
+ contextUtility.getRequest());
DocumentFactory map = DocumentUtil.createDocumentFactory(this.serviceManager, session);
if (map.isDocument(webappUrl)) {
Document document = map.getFromURL(webappUrl);
@@ -123,10 +125,18 @@
protected Publication getPublication(String url) throws AccessControlException {
getLogger().debug("Building publication");
+ ContextUtility util = null;
try {
- return PublicationUtil.getPublicationFromUrl(this.serviceManager, url);
+ util = (ContextUtility) this.serviceManager.lookup(ContextUtility.ROLE);
+ Request request = util.getRequest();
+ DocumentFactory factory = DocumentUtil.getDocumentFactory(this.serviceManager, request);
+ return PublicationUtil.getPublicationFromUrl(this.serviceManager, factory, url);
} catch (Exception e) {
throw new AccessControlException(e);
+ } finally {
+ if (util != null) {
+ this.serviceManager.release(util);
+ }
}
}
Modified: lenya/trunk/src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/PublicationAccessControllerResolver.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/PublicationAccessControllerResolver.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/PublicationAccessControllerResolver.java (original)
+++ lenya/trunk/src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/PublicationAccessControllerResolver.java Fri Aug 11 11:42:59 2006
@@ -25,12 +25,16 @@
import org.apache.avalon.framework.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
+import org.apache.cocoon.environment.Request;
import org.apache.excalibur.source.Source;
import org.apache.excalibur.source.SourceResolver;
import org.apache.excalibur.source.SourceUtil;
import org.apache.lenya.ac.AccessControlException;
import org.apache.lenya.ac.AccessController;
import org.apache.lenya.ac.impl.AbstractAccessControllerResolver;
+import org.apache.lenya.cms.cocoon.components.context.ContextUtility;
+import org.apache.lenya.cms.publication.DocumentFactory;
+import org.apache.lenya.cms.publication.DocumentUtil;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.PublicationUtil;
import org.apache.lenya.cms.publication.URLInformation;
@@ -41,7 +45,8 @@
public class PublicationAccessControllerResolver extends AbstractAccessControllerResolver implements
Initializable {
- protected static final String AC_CONFIGURATION_FILE = "config/ac/ac.xconf".replace('/', File.separatorChar);
+ protected static final String AC_CONFIGURATION_FILE = "config/ac/ac.xconf".replace('/',
+ File.separatorChar);
protected static final String TYPE_ATTRIBUTE = "type";
/**
@@ -100,10 +105,20 @@
URLInformation info = new URLInformation(webappUrl);
String publicationId = info.getPublicationId();
+ ContextUtility util = null;
try {
- publication = PublicationUtil.getPublicationFromUrl(this.manager, webappUrl);
+ util = (ContextUtility) this.manager.lookup(ContextUtility.ROLE);
+ Request request = util.getRequest();
+ DocumentFactory factory = DocumentUtil.getDocumentFactory(manager, request);
+ publication = PublicationUtil.getPublicationFromUrl(this.manager,
+ factory,
+ webappUrl);
} catch (Exception e) {
throw new AccessControlException(e);
+ } finally {
+ if (util != null) {
+ this.manager.release(util);
+ }
}
if (publication.exists()) {
getLogger().debug("Publication [" + publicationId + "] exists.");
@@ -160,20 +175,20 @@
AccessController accessController = null;
- try {
- Configuration configuration = getConfiguration(publication);
- String type = configuration.getAttribute(TYPE_ATTRIBUTE);
-
- accessController = (AccessController) getManager().lookup(AccessController.ROLE
- + "/" + type);
+ try {
+ Configuration configuration = getConfiguration(publication);
+ String type = configuration.getAttribute(TYPE_ATTRIBUTE);
- if (accessController instanceof Configurable) {
- ((Configurable) accessController).configure(configuration);
- }
+ accessController = (AccessController) getManager().lookup(AccessController.ROLE + "/"
+ + type);
- } catch (Exception e) {
- throw new AccessControlException(e);
+ if (accessController instanceof Configurable) {
+ ((Configurable) accessController).configure(configuration);
}
+
+ } catch (Exception e) {
+ throw new AccessControlException(e);
+ }
return accessController;
}
Modified: lenya/trunk/src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/usecases/Login.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/usecases/Login.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/usecases/Login.java (original)
+++ lenya/trunk/src/modules-core/ac-impl/java/src/org/apache/lenya/cms/ac/usecases/Login.java Fri Aug 11 11:42:59 2006
@@ -46,7 +46,9 @@
Publication publication;
try {
- publication = PublicationUtil.getPublicationFromUrl(this.manager, getSourceURL());
+ publication = PublicationUtil.getPublicationFromUrl(this.manager,
+ getDocumentFactory(),
+ getSourceURL());
if (publication.exists()) {
setParameter(PUBLICATION_ID, publication.getId());
}
Modified: lenya/trunk/src/modules-core/ac-impl/java/test/org/apache/lenya/ac/impl/PolicyTest.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/ac-impl/java/test/org/apache/lenya/ac/impl/PolicyTest.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/ac-impl/java/test/org/apache/lenya/ac/impl/PolicyTest.java (original)
+++ lenya/trunk/src/modules-core/ac-impl/java/test/org/apache/lenya/ac/impl/PolicyTest.java Fri Aug 11 11:42:59 2006
@@ -30,7 +30,6 @@
import org.apache.lenya.ac.Role;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.PublicationException;
-import org.apache.lenya.cms.publication.PublicationUtil;
/**
* Policy Test
@@ -46,7 +45,7 @@
* @throws PublicationException
*/
public void testLoadPolicy() throws AccessControlException, PublicationException {
- Publication pub = PublicationUtil.getPublication(getManager(), "test");
+ Publication pub = getPublication("test");
String url = "/" + pub.getId() + URL;
Policy policy = getPolicy(url);
Role[] roles = policy.getRoles(getIdentity());
Modified: lenya/trunk/src/modules-core/janitor/java/src/org/apache/lenya/cms/janitor/ContentJanitor.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/janitor/java/src/org/apache/lenya/cms/janitor/ContentJanitor.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/janitor/java/src/org/apache/lenya/cms/janitor/ContentJanitor.java (original)
+++ lenya/trunk/src/modules-core/janitor/java/src/org/apache/lenya/cms/janitor/ContentJanitor.java Fri Aug 11 11:42:59 2006
@@ -8,14 +8,15 @@
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.avalon.framework.thread.ThreadSafe;
+import org.apache.cocoon.environment.Request;
+import org.apache.lenya.cms.cocoon.components.context.ContextUtility;
import org.apache.lenya.cms.cocoon.source.SourceUtil;
import org.apache.lenya.cms.observation.ObservationRegistry;
import org.apache.lenya.cms.observation.RepositoryEvent;
import org.apache.lenya.cms.observation.RepositoryListener;
-import org.apache.lenya.cms.publication.Document;
+import org.apache.lenya.cms.publication.DocumentFactory;
+import org.apache.lenya.cms.publication.DocumentUtil;
import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.publication.PublicationException;
-import org.apache.lenya.cms.publication.PublicationUtil;
/**
* The content janitor cleans up empty directories after a document is removed.
@@ -27,14 +28,21 @@
}
public void documentRemoved(RepositoryEvent event) {
+ ContextUtility util = null;
try {
- Publication pub = PublicationUtil
- .getPublication(this.manager, event.getPublicationId());
+ util = (ContextUtility) this.manager.lookup(ContextUtility.ROLE);
+ Request request = util.getRequest();
+ DocumentFactory factory = DocumentUtil.getDocumentFactory(this.manager, request);
+ Publication pub = factory.getPublication(event.getPublicationId());
File contentFile = pub.getContentDirectory(event.getArea());
String contentUri = contentFile.toURI().toString();
SourceUtil.deleteEmptyCollections(contentUri, this.manager);
} catch (Exception e) {
throw new RuntimeException(e);
+ } finally {
+ if (util != null) {
+ this.manager.release(util);
+ }
}
}
Modified: lenya/trunk/src/modules-core/ldap/java/test/org/apache/lenya/ac/ldap/AbstractLDAPUserTest.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/ldap/java/test/org/apache/lenya/ac/ldap/AbstractLDAPUserTest.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/ldap/java/test/org/apache/lenya/ac/ldap/AbstractLDAPUserTest.java (original)
+++ lenya/trunk/src/modules-core/ldap/java/test/org/apache/lenya/ac/ldap/AbstractLDAPUserTest.java Fri Aug 11 11:42:59 2006
@@ -31,7 +31,6 @@
import org.apache.lenya.ac.ldap.LDAPUser;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.PublicationException;
-import org.apache.lenya.cms.publication.PublicationUtil;
/**
* LDAP user test.
@@ -49,8 +48,7 @@
* @throws PublicationException if an error occurs
*/
final public Publication getPublication() throws PublicationException {
- String publicationId = "test";
- return PublicationUtil.getPublication(getManager(), publicationId);
+ return getPublication("test");
}
/**
Modified: lenya/trunk/src/modules-core/observation-impl/java/src/org/apache/lenya/cms/observation/ObservationManager.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/observation-impl/java/src/org/apache/lenya/cms/observation/ObservationManager.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/observation-impl/java/src/org/apache/lenya/cms/observation/ObservationManager.java (original)
+++ lenya/trunk/src/modules-core/observation-impl/java/src/org/apache/lenya/cms/observation/ObservationManager.java Fri Aug 11 11:42:59 2006
@@ -33,7 +33,6 @@
import org.apache.lenya.cms.publication.DocumentFactory;
import org.apache.lenya.cms.publication.DocumentUtil;
import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.publication.PublicationUtil;
import org.apache.lenya.cms.repository.Node;
import org.apache.lenya.cms.repository.RepositoryUtil;
import org.apache.lenya.cms.repository.Session;
@@ -173,11 +172,9 @@
try {
- Publication pub = PublicationUtil.getPublication(this.manager, pubId);
-
Session session = RepositoryUtil.createSession(manager, identity);
DocumentFactory factory = DocumentUtil.createDocumentFactory(this.manager, session);
-
+ Publication pub = factory.getPublication(pubId);
String docPath = path.substring((pubId + "/content/" + area).length());
String uuid;
Modified: lenya/trunk/src/modules-core/observation-impl/java/test/org/apache/lenya/cms/observation/ObservationTest.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/observation-impl/java/test/org/apache/lenya/cms/observation/ObservationTest.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/observation-impl/java/test/org/apache/lenya/cms/observation/ObservationTest.java (original)
+++ lenya/trunk/src/modules-core/observation-impl/java/test/org/apache/lenya/cms/observation/ObservationTest.java Fri Aug 11 11:42:59 2006
@@ -35,7 +35,7 @@
Session session = RepositoryUtil.getSession(getManager(), getRequest());
DocumentFactory factory = DocumentUtil.createDocumentFactory(getManager(), session);
- Publication publication = PublicationUtil.getPublication(getManager(), "test");
+ Publication publication = getPublication("test");
Document doc = factory.get(publication, Publication.AUTHORING_AREA, "/index", "en");
TestListener docListener = new TestListener();
Modified: lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/Create.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/Create.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/Create.java (original)
+++ lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/Create.java Fri Aug 11 11:42:59 2006
@@ -115,6 +115,12 @@
addErrorMessage("Please select a page layout.");
}
}
+
+ String path = getNewDocumentPath();
+ SiteStructure site = getPublication().getArea(getArea()).getSite();
+ if (!createVersion() && site.contains(path)) {
+ addErrorMessage("The path [" + path + "] already exists!");
+ }
String doctypeName = getDocumentTypeName();
if (doctypeName != null) {
@@ -368,6 +374,7 @@
if (this.publication == null) {
try {
this.publication = PublicationUtil.getPublicationFromUrl(this.manager,
+ getDocumentFactory(),
getSourceURL());
} catch (PublicationException e) {
throw new RuntimeException(e);
Modified: lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/EmptyTrash.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/EmptyTrash.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/EmptyTrash.java (original)
+++ lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/EmptyTrash.java Fri Aug 11 11:42:59 2006
@@ -37,11 +37,11 @@
/**
* Empty the trash.
- *
+ *
* @version $Id$
*/
public class EmptyTrash extends AbstractUsecase {
-
+
protected static final String DOCUMENTS = "documents";
/**
@@ -58,7 +58,7 @@
throw new RuntimeException(e);
}
}
-
+
/**
* Lock the following objects:
* <ul>
@@ -68,23 +68,26 @@
* @see org.apache.lenya.cms.usecase.AbstractUsecase#getNodesToLock()
*/
protected org.apache.lenya.cms.repository.Node[] getNodesToLock() throws UsecaseException {
- List nodes = new ArrayList();
+ List nodes = new ArrayList();
ServiceSelector selector = null;
SiteManager siteManager = null;
-
+
try {
- Publication publication = PublicationUtil.getPublicationFromUrl(this.manager, getSourceURL());
+ Publication publication = PublicationUtil.getPublicationFromUrl(this.manager,
+ getDocumentFactory(),
+ getSourceURL());
DocumentFactory identityMap = getDocumentFactory();
Document[] docs = getTrashDocuments();
for (int i = 0; i < docs.length; i++) {
nodes.add(docs[i].getRepositoryNode());
nodes.addAll(AssetUtil.getAssetNodes(docs[i], this.manager, getLogger()));
}
-
+
selector = (ServiceSelector) this.manager.lookup(SiteManager.ROLE + "Selector");
- siteManager = (SiteManager) selector.select(publication
- .getSiteManagerHint());
- SiteStructure structure = siteManager.getSiteStructure(identityMap, publication, Publication.TRASH_AREA);
+ siteManager = (SiteManager) selector.select(publication.getSiteManagerHint());
+ SiteStructure structure = siteManager.getSiteStructure(identityMap,
+ publication,
+ Publication.TRASH_AREA);
nodes.add(structure.getRepositoryNode());
} catch (Exception e) {
throw new UsecaseException(e);
@@ -99,43 +102,42 @@
return (org.apache.lenya.cms.repository.Node[]) nodes.toArray(new org.apache.lenya.cms.repository.Node[nodes.size()]);
}
-
/**
* @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
*/
protected void doExecute() throws Exception {
super.doExecute();
-
+
DocumentManager documentManager = null;
try {
documentManager = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
Document[] documents = getTrashDocuments();
DocumentSet set = new DocumentSet(documents);
documentManager.delete(set);
- }
- finally {
+ } finally {
if (documentManager != null) {
this.manager.release(documentManager);
}
}
}
-
+
/**
* @return The documents in the trash area.
* @throws PublicationException if an error occurs.
* @throws SiteException if an error occurs.
*/
protected Document[] getTrashDocuments() throws PublicationException, SiteException {
- Publication publication = PublicationUtil.getPublicationFromUrl(this.manager, getSourceURL());
+ Publication publication = PublicationUtil.getPublicationFromUrl(this.manager,
+ getDocumentFactory(),
+ getSourceURL());
DocumentFactory identityMap = getDocumentFactory();
Document[] documents;
-
+
ServiceSelector selector = null;
SiteManager siteManager = null;
try {
selector = (ServiceSelector) this.manager.lookup(SiteManager.ROLE + "Selector");
- siteManager = (SiteManager) selector.select(publication
- .getSiteManagerHint());
+ siteManager = (SiteManager) selector.select(publication.getSiteManagerHint());
documents = siteManager.getDocuments(identityMap, publication, Publication.TRASH_AREA);
} catch (ServiceException e) {
throw new RuntimeException(e);
@@ -147,7 +149,7 @@
this.manager.release(selector);
}
}
-
+
return documents;
}
}
Modified: lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/LinkRewriterImpl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/LinkRewriterImpl.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/LinkRewriterImpl.java (original)
+++ lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/LinkRewriterImpl.java Fri Aug 11 11:42:59 2006
@@ -228,7 +228,7 @@
} else {
newLocator = locator.getDescendant(childString);
}
- return builder.buildCanonicalUrl(newLocator);
+ return builder.buildCanonicalUrl(targetDocument.getFactory(), newLocator);
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
Modified: lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/SiteOverview.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/SiteOverview.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/SiteOverview.java (original)
+++ lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/SiteOverview.java Fri Aug 11 11:42:59 2006
@@ -97,7 +97,7 @@
for (int i = 0; i < documents.length; i++) {
Entry entry = new Entry();
- entry.setValue(KEY_DOCUMENT_ID, documents[i].getId());
+ entry.setValue(KEY_DOCUMENT_ID, documents[i].getUUID());
entry.setValue(KEY_RESOURCE_TYPE, documents[i].getResourceType().getName());
entry.setValue(KEY_LANGUAGE, documents[i].getLanguage());
entry.setValue(KEY_URL, documents[i].getCanonicalWebappURL());
@@ -229,7 +229,9 @@
* @throws PublicationException if an error occurs.
*/
protected Publication getPublication() throws PublicationException {
- return PublicationUtil.getPublicationFromUrl(this.manager, getSourceURL());
+ return PublicationUtil.getPublicationFromUrl(this.manager,
+ getDocumentFactory(),
+ getSourceURL());
}
/**
Modified: lenya/trunk/src/modules-core/templating-impl/java/src/org/apache/lenya/cms/publication/templating/PublicationTemplateManagerImpl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/templating-impl/java/src/org/apache/lenya/cms/publication/templating/PublicationTemplateManagerImpl.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/templating-impl/java/src/org/apache/lenya/cms/publication/templating/PublicationTemplateManagerImpl.java (original)
+++ lenya/trunk/src/modules-core/templating-impl/java/src/org/apache/lenya/cms/publication/templating/PublicationTemplateManagerImpl.java Fri Aug 11 11:42:59 2006
@@ -31,7 +31,6 @@
import org.apache.excalibur.source.SourceResolver;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.PublicationException;
-import org.apache.lenya.cms.publication.PublicationUtil;
/**
* Manager for publication templates.
@@ -181,7 +180,7 @@
String[] templateIds = publication.getTemplateIds();
for (int i = 0; i < templateIds.length; i++) {
try {
- Publication template = PublicationUtil.getPublication(this.manager, templateIds[i]);
+ Publication template = publication.getFactory().getPublication(templateIds[i]);
Publication[] templateTemplates = getPublications(template);
publications.addAll(Arrays.asList(templateTemplates));
} catch (PublicationException e) {
Modified: lenya/trunk/src/modules-core/templating-impl/java/src/org/apache/lenya/cms/publication/usecases/CreatePublicationFromTemplate.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/templating-impl/java/src/org/apache/lenya/cms/publication/usecases/CreatePublicationFromTemplate.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/templating-impl/java/src/org/apache/lenya/cms/publication/usecases/CreatePublicationFromTemplate.java (original)
+++ lenya/trunk/src/modules-core/templating-impl/java/src/org/apache/lenya/cms/publication/usecases/CreatePublicationFromTemplate.java Fri Aug 11 11:42:59 2006
@@ -21,7 +21,6 @@
import org.apache.avalon.framework.service.ServiceSelector;
import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.publication.PublicationException;
import org.apache.lenya.cms.publication.PublicationUtil;
import org.apache.lenya.cms.publication.templating.Instantiator;
import org.apache.lenya.cms.usecase.AbstractUsecase;
@@ -44,22 +43,15 @@
protected void initParameters() {
super.initParameters();
- try {
- Publication[] pubs = PublicationUtil.getPublications(this.manager);
- List templates = new ArrayList();
- for (int i = 0; i < pubs.length; i++) {
- if (pubs[i].getInstantiatorHint() != null) {
- templates.add(pubs[i].getId());
- }
+ Publication[] pubs = getDocumentFactory().getPublications();
+ List templates = new ArrayList();
+ for (int i = 0; i < pubs.length; i++) {
+ if (pubs[i].getInstantiatorHint() != null) {
+ templates.add(pubs[i].getId());
}
- setParameter(AVAILABLE_TEMPLATES, templates);
-
- setParameter(PUBLICATION_NAME, "New Publication");
-
- } catch (PublicationException e) {
- throw new RuntimeException(e);
}
-
+ setParameter(AVAILABLE_TEMPLATES, templates);
+ setParameter(PUBLICATION_NAME, "New Publication");
}
/**
@@ -70,10 +62,10 @@
String publicationId = getParameterAsString(PUBLICATION_ID).trim();
- if (!PublicationUtil.isValidPublicationID(publicationId)){
+ if (!PublicationUtil.isValidPublicationID(publicationId)) {
addErrorMessage("Please enter a valid publication ID!");
} else {
- Publication publication = PublicationUtil.getPublication(this.manager, publicationId);
+ Publication publication = getDocumentFactory().getPublication(publicationId);
if (publication.exists()) {
addErrorMessage("A publication with this ID already exists.");
}
@@ -93,7 +85,7 @@
try {
- Publication template = PublicationUtil.getPublication(this.manager, templateId);
+ Publication template = getDocumentFactory().getPublication(templateId);
String name = getParameterAsString(PUBLICATION_NAME);
selector = (ServiceSelector) this.manager.lookup(Instantiator.ROLE + "Selector");
Modified: lenya/trunk/src/modules-core/usecase-impl/java/src/org/apache/lenya/cms/usecase/UsecaseResolverImpl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/usecase-impl/java/src/org/apache/lenya/cms/usecase/UsecaseResolverImpl.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/usecase-impl/java/src/org/apache/lenya/cms/usecase/UsecaseResolverImpl.java (original)
+++ lenya/trunk/src/modules-core/usecase-impl/java/src/org/apache/lenya/cms/usecase/UsecaseResolverImpl.java Fri Aug 11 11:42:59 2006
@@ -23,8 +23,11 @@
import org.apache.avalon.framework.service.ServiceSelector;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.avalon.framework.thread.ThreadSafe;
+import org.apache.cocoon.environment.Request;
+import org.apache.lenya.cms.cocoon.components.context.ContextUtility;
+import org.apache.lenya.cms.publication.DocumentFactory;
+import org.apache.lenya.cms.publication.DocumentUtil;
import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.publication.PublicationUtil;
import org.apache.lenya.cms.publication.URLInformation;
import org.apache.lenya.cms.publication.templating.PublicationTemplateManager;
@@ -89,8 +92,7 @@
if (publication != null) {
PublicationTemplateManager templateManager = null;
try {
- templateManager = (PublicationTemplateManager) this.manager
- .lookup(PublicationTemplateManager.ROLE);
+ templateManager = (PublicationTemplateManager) this.manager.lookup(PublicationTemplateManager.ROLE);
newName = (String) templateManager.getSelectableHint(publication,
this.selector,
name);
@@ -99,8 +101,7 @@
this.manager.release(templateManager);
}
}
- }
- else {
+ } else {
newName = name;
}
@@ -114,18 +115,27 @@
*/
protected Publication getPublication(String webappUrl) {
Publication publication = null;
+ ContextUtility util = null;
try {
+ util = (ContextUtility) this.manager.lookup(ContextUtility.ROLE);
+ Request request = util.getRequest();
+ DocumentFactory factory = DocumentUtil.getDocumentFactory(this.manager, request);
+
URLInformation info = new URLInformation(webappUrl);
String publicationId = info.getPublicationId();
if (publicationId != null) {
- Publication pub = PublicationUtil.getPublicationFromUrl(this.manager, webappUrl);
+ Publication pub = factory.getPublication(publicationId);
if (pub.exists()) {
publication = pub;
}
}
} catch (Exception e) {
throw new RuntimeException(e);
+ } finally {
+ if (util != null) {
+ this.manager.release(util);
+ }
}
return publication;
}
Modified: lenya/trunk/src/modules-core/usecase-impl/java/src/org/apache/lenya/cms/usecase/gui/GUIManagerImpl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/usecase-impl/java/src/org/apache/lenya/cms/usecase/gui/GUIManagerImpl.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/usecase-impl/java/src/org/apache/lenya/cms/usecase/gui/GUIManagerImpl.java (original)
+++ lenya/trunk/src/modules-core/usecase-impl/java/src/org/apache/lenya/cms/usecase/gui/GUIManagerImpl.java Fri Aug 11 11:42:59 2006
@@ -41,6 +41,9 @@
import org.apache.lenya.ac.Role;
import org.apache.lenya.cms.ac.PolicyUtil;
import org.apache.lenya.cms.ac.usecase.UsecaseAuthorizer;
+import org.apache.lenya.cms.cocoon.components.context.ContextUtility;
+import org.apache.lenya.cms.publication.DocumentFactory;
+import org.apache.lenya.cms.publication.DocumentUtil;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.PublicationUtil;
import org.apache.lenya.cms.usecase.Usecase;
@@ -158,7 +161,21 @@
if (getLogger().isDebugEnabled()) {
getLogger().debug("Found usecase [" + tab.getUsecase() + "]");
}
+
+ DocumentFactory factory;
+ ContextUtility util = null;
+ try {
+ util = (ContextUtility) this.manager.lookup(ContextUtility.ROLE);
+ Request request = util.getRequest();
+ factory = DocumentUtil.getDocumentFactory(this.manager, request);
+ } finally {
+ if (util != null) {
+ this.manager.release(util);
+ }
+ }
+
Publication pub = PublicationUtil.getPublicationFromUrl(this.manager,
+ factory,
this.webappUrl);
if (!authorizer.authorizeUsecase(tab.getUsecase(), this.roles, pub, this.requestURI)) {
if (getLogger().isDebugEnabled()) {
Modified: lenya/trunk/src/modules-optional/jcrsource/java/src/org/apache/lenya/cms/jcr/usecases/Import.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-optional/jcrsource/java/src/org/apache/lenya/cms/jcr/usecases/Import.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules-optional/jcrsource/java/src/org/apache/lenya/cms/jcr/usecases/Import.java (original)
+++ lenya/trunk/src/modules-optional/jcrsource/java/src/org/apache/lenya/cms/jcr/usecases/Import.java Fri Aug 11 11:42:59 2006
@@ -29,8 +29,6 @@
import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.publication.DocumentFactory;
import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.publication.PublicationException;
-import org.apache.lenya.cms.publication.PublicationUtil;
import org.apache.lenya.cms.repository.Node;
import org.apache.lenya.cms.site.SiteManager;
import org.apache.lenya.cms.usecase.AbstractUsecase;
@@ -45,25 +43,21 @@
protected void initParameters() {
super.initParameters();
- try {
- Publication[] pubs = PublicationUtil.getPublications(this.manager);
- List pubList = Arrays.asList(pubs);
- setParameter(PUBLICATIONS, pubList);
- } catch (PublicationException e) {
- throw new RuntimeException(e);
- }
+ Publication[] pubs = getDocumentFactory().getPublications();
+ List pubList = Arrays.asList(pubs);
+ setParameter(PUBLICATIONS, pubList);
}
protected void doExecute() throws Exception {
super.doExecute();
String pubId = getParameterAsString(PUBLICATION);
- DocumentFactory map = getDocumentFactory();
+ DocumentFactory factory = getDocumentFactory();
ServiceSelector selector = null;
SiteManager siteManager = null;
SourceResolver resolver = null;
try {
resolver = (SourceResolver) this.manager.lookup(SourceResolver.ROLE);
- Publication pub = PublicationUtil.getPublication(this.manager, pubId);
+ Publication pub = factory.getPublication(pubId);
selector = (ServiceSelector) this.manager.lookup(SiteManager.ROLE + "Selector");
siteManager = (SiteManager) selector.select(pub.getSiteManagerHint());
@@ -73,20 +67,18 @@
String[] areas = { Publication.AUTHORING_AREA, Publication.LIVE_AREA,
Publication.TRASH_AREA, Publication.ARCHIVE_AREA };
for (int i = 0; i < areas.length; i++) {
- Document[] docs = siteManager.getDocuments(map, pub, areas[i]);
+ Document[] docs = siteManager.getDocuments(factory, pub, areas[i]);
for (int j = 0; j < docs.length; j++) {
nodes.add(docs[j].getRepositoryNode());
final String lenyaUri = docs[j].getSourceURI();
final String sourcePath = lenyaUri.substring("lenya://".length());
final String contextUri = "context://" + sourcePath + ".meta";
/*
- MetaDataManager meta = new MetaDataManager(contextUri,
- this.manager,
- getLogger());
- uri2meta.put(docs[j].getSourceURI(), meta);
- */
+ * MetaDataManager meta = new MetaDataManager(contextUri, this.manager,
+ * getLogger()); uri2meta.put(docs[j].getSourceURI(), meta);
+ */
}
- nodes.add(siteManager.getSiteStructure(map, pub, areas[i]).getRepositoryNode());
+ nodes.add(siteManager.getSiteStructure(factory, pub, areas[i]).getRepositoryNode());
}
for (Iterator i = nodes.iterator(); i.hasNext();) {
@@ -97,15 +89,11 @@
final String jcrUri = "jcr://" + sourcePath;
if (SourceUtil.exists(contextUri, this.manager)) {
SourceUtil.copy(resolver, contextUri, jcrUri);
-/*
- MetaDataManager sourceMgr = (MetaDataManager) uri2meta.get(lenyaUri);
- if (sourceMgr != null) {
- MetaDataManager jcrMgr = new JCRMetaDataManager(jcrUri,
- this.manager,
- getLogger());
- jcrMgr.replaceMetaData(sourceMgr);
- }
- */
+ /*
+ * MetaDataManager sourceMgr = (MetaDataManager) uri2meta.get(lenyaUri); if
+ * (sourceMgr != null) { MetaDataManager jcrMgr = new JCRMetaDataManager(jcrUri,
+ * this.manager, getLogger()); jcrMgr.replaceMetaData(sourceMgr); }
+ */
} else {
addInfoMessage("The source [" + contextUri + "] does not exist.");
}
Modified: lenya/trunk/src/modules/lenyadoc/java/src/org/apache/lenya/cms/cocoon/source/LenyaDocSourceFactory.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/lenyadoc/java/src/org/apache/lenya/cms/cocoon/source/LenyaDocSourceFactory.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules/lenyadoc/java/src/org/apache/lenya/cms/cocoon/source/LenyaDocSourceFactory.java (original)
+++ lenya/trunk/src/modules/lenyadoc/java/src/org/apache/lenya/cms/cocoon/source/LenyaDocSourceFactory.java Fri Aug 11 11:42:59 2006
@@ -115,6 +115,10 @@
+ "]");
}
+ Map objectModel = ContextHelper.getObjectModel(this.context);
+ Request request = ObjectModelHelper.getRequest(objectModel);
+ DocumentFactory factory = DocumentUtil.getDocumentFactory(this.manager, request);
+
// Absolute vs. relative
start = end + 1;
if (location.startsWith("//", start)) {
@@ -127,7 +131,7 @@
}
String publicationId = location.substring(start, end);
try {
- pub = PublicationUtil.getPublication(this.manager, publicationId);
+ pub = factory.getPublication(publicationId);
} catch (PublicationException e) {
throw new MalformedURLException("Malformed lenyadoc: Publication [" + publicationId
+ "] does not exist or could not be initialized");
@@ -148,8 +152,6 @@
} else if (location.startsWith("/", start)) {
end += 1;
// Relative: get publication id and area from page envelope
- Map objectModel = ContextHelper.getObjectModel(this.context);
- Request request = ObjectModelHelper.getRequest(objectModel);
try {
pub = PublicationUtil.getPublication(this.manager, objectModel);
} catch (PublicationException e) {
@@ -180,7 +182,6 @@
start = end + 1;
uuid = location.substring(start);
- Request request = ContextHelper.getRequest(this.context);
Session session;
try {
session = RepositoryUtil.getSession(this.manager, request);
@@ -191,10 +192,9 @@
if (getLogger().isDebugEnabled()) {
getLogger().debug("Creating repository source for URI [" + location + "]");
}
- DocumentFactory map = DocumentUtil.createDocumentFactory(this.manager, session);
Document document;
try {
- document = map.get(pub, area, uuid, language);
+ document = factory.get(pub, area, uuid, language);
} catch (DocumentBuildException e) {
throw new MalformedURLException("Malformed lenyadoc: Document [" + uuid + ":"
+ language + "] could not be created.");
Modified: lenya/trunk/src/modules/lucene/java/src/org/apache/cocoon/components/search/components/impl/IndexManagerImpl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/lucene/java/src/org/apache/cocoon/components/search/components/impl/IndexManagerImpl.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules/lucene/java/src/org/apache/cocoon/components/search/components/impl/IndexManagerImpl.java (original)
+++ lenya/trunk/src/modules/lucene/java/src/org/apache/cocoon/components/search/components/impl/IndexManagerImpl.java Fri Aug 11 11:42:59 2006
@@ -37,9 +37,13 @@
import org.apache.cocoon.components.search.fieldmodel.DateFieldDefinition;
import org.apache.cocoon.components.search.fieldmodel.FieldDefinition;
import org.apache.cocoon.components.search.utils.SourceHelper;
+import org.apache.cocoon.environment.Request;
import org.apache.excalibur.source.Source;
import org.apache.excalibur.source.SourceResolver;
import org.apache.excalibur.source.SourceUtil;
+import org.apache.lenya.cms.cocoon.components.context.ContextUtility;
+import org.apache.lenya.cms.publication.DocumentFactory;
+import org.apache.lenya.cms.publication.DocumentUtil;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.PublicationException;
import org.apache.lenya.cms.publication.PublicationManager;
@@ -50,20 +54,19 @@
* @author Maisonneuve Nicolas
* @version 1.0
*/
-public class IndexManagerImpl extends AbstractLogEnabled implements
- IndexManager, Serviceable, ThreadSafe, Configurable {
+public class IndexManagerImpl extends AbstractLogEnabled implements IndexManager, Serviceable,
+ ThreadSafe, Configurable {
-
/**
- * indexer element
+ * indexer element
*/
public static final String INDEXER_ELEMENT = "indexer";
-
+
/**
- * indexer element
+ * indexer element
*/
public static final String INDEXER_ROLE_ATTRIBUTE = "role";
-
+
/**
* set of indexes
*/
@@ -102,8 +105,7 @@
/**
* type of the field: "text, "keyword", "date" (see
*
- * @see org.apache.cocoon.components.search.fieldmodel.FieldDefinition
- * class)
+ * @see org.apache.cocoon.components.search.fieldmodel.FieldDefinition class)
*/
public static final String TYPE_ATTRIBUTE = "type";
@@ -116,39 +118,41 @@
* The date Format when the field type is a date
*/
public static final String DATEFORMAT_ATTRIBUTE = "dateformat";
-
+
public static final String INDEX_CONF_FILE = "lucene_index.xconf";
/**
- * check the config file each time the getIndex is called to update if
- * necessary the configuration
+ * check the config file each time the getIndex is called to update if necessary the
+ * configuration
*/
// public static final String CHECK_ATTRIBUTE = "check";
-
/**
* Source of the index configuration file
*/
// public static final String CONFIG_ATTRIBUTE = "config";
-
/**
- * Check or not the configuration file (automatic update if the file is
- * changed)
+ * Check or not the configuration file (automatic update if the file is changed)
*/
// private boolean check;
-
/**
* Index configuration file
*/
// private Source configfile;
-
private ServiceManager manager;
- private Map indexes;
-
+ private Map indexMap;
+
+ protected Map indexes() {
+ if(this.indexMap == null) {
+ this.indexMap = new HashMap();
+ loadIndexes();
+ }
+ return this.indexMap;
+ }
+
private String indexerRole = null;
public IndexManagerImpl() {
- indexes = new HashMap();
}
/*
@@ -158,7 +162,7 @@
*/
public boolean contains(String id) {
if (id != null) {
- return this.indexes.get(id) != null;
+ return this.indexes().get(id) != null;
}
return false;
}
@@ -174,9 +178,10 @@
throw new IndexException(" index with no name was called");
}
- Index index = (Index) this.indexes.get(id);
+ Index index = (Index) this.indexes().get(id);
if (index == null) {
- throw new IndexException("Index " + id + " doesn't exist. Check if configuration " + INDEX_CONF_FILE + " exists for this publication!");
+ throw new IndexException("Index " + id + " doesn't exist. Check if configuration "
+ + INDEX_CONF_FILE + " exists for this publication!");
}
return index;
@@ -188,7 +193,7 @@
* @see org.apache.cocoon.components.search.components.IndexManager#addIndex(org.apache.cocoon.components.search.Index)
*/
public void addIndex(Index base) {
- this.indexes.put(base.getID(), base);
+ this.indexes().put(base.getID(), base);
}
/*
@@ -197,44 +202,40 @@
* @see org.apache.cocoon.components.search.components.IndexManager#remove(java.lang.String)
*/
public void remove(String id) {
- this.indexes.remove(id);
+ this.indexes().remove(id);
}
- /*
- * (non-Javadoc)
- *
- * @see org.apache.avalon.framework.configuration.Configurable#configure(org.apache.avalon.framework.configuration.Configuration)
- */
- public void configure(Configuration configuration)
- throws ConfigurationException {
-
+ protected void loadIndexes() {
// configure the index manager:
- this.indexerRole = configuration.getChild(INDEXER_ELEMENT).getAttribute(INDEXER_ROLE_ATTRIBUTE);
-
+
// now check all publications and add their indexes:
PublicationManager pubManager = null;
SourceResolver resolver = null;
Source confSource = null;
+ ContextUtility util = null;
try {
- pubManager = (PublicationManager) this.manager
- .lookup(PublicationManager.ROLE);
- Publication[] publications = pubManager.getPublications();
+ util = (ContextUtility) this.manager.lookup(ContextUtility.ROLE);
+ Request request = util.getRequest();
+ DocumentFactory factory = DocumentUtil.getDocumentFactory(this.manager, request);
+ pubManager = (PublicationManager) this.manager.lookup(PublicationManager.ROLE);
+ Publication[] publications = pubManager.getPublications(factory);
resolver = (SourceResolver) this.manager.lookup(SourceResolver.ROLE);
-
+
for (int i = 0; i < publications.length; i++) {
- String uri = "context://" + Publication.PUBLICATION_PREFIX_URI+"/"+publications[i].getId()+
- "/"+Publication.CONFIGURATION_PATH + "/" + INDEX_CONF_FILE;
+ String uri = "context://" + Publication.PUBLICATION_PREFIX_URI + "/"
+ + publications[i].getId() + "/" + Publication.CONFIGURATION_PATH + "/"
+ + INDEX_CONF_FILE;
confSource = resolver.resolveURI(uri);
if (confSource.exists()) {
addIndexes(confSource);
}
}
} catch (IOException e) {
- throw new ConfigurationException("Config file error", e);
+ throw new RuntimeException("Config file error", e);
} catch (ServiceException e) {
- throw new ConfigurationException("PublicationManager lookup error", e);
+ throw new RuntimeException("PublicationManager lookup error", e);
} catch (PublicationException e) {
- throw new ConfigurationException("Publication error", e);
+ throw new RuntimeException("Publication error", e);
} finally {
if (pubManager != null) {
this.manager.release(pubManager);
@@ -245,33 +246,44 @@
}
this.manager.release(resolver);
}
+ if (util != null) {
+ this.manager.release(util);
+ }
}
-
+
getLogger().info("Search Engine - Index Manager configured.");
}
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.avalon.framework.configuration.Configurable#configure(org.apache.avalon.framework.configuration.Configuration)
+ */
+ public void configure(Configuration configuration) throws ConfigurationException {
+ this.indexerRole = configuration.getChild(INDEXER_ELEMENT)
+ .getAttribute(INDEXER_ROLE_ATTRIBUTE);
+ }
/**
* Adds indexes from the given configuration file to the index manager.
* @param confSource
* @throws ConfigurationException
*/
- public void addIndexes(Source confSource) throws ConfigurationException {
+ public void addIndexes(Source confSource) {
try {
Configuration indexConfiguration = SourceHelper.build(confSource);
addIndexes(indexConfiguration);
} catch (ConfigurationException e) {
- throw new ConfigurationException("Error with configuration file "+confSource.getURI(), e);
+ throw new RuntimeException("Error with configuration file " + confSource.getURI(), e);
}
}
-
+
/**
* Adds indexes from the given configuration object to the index manager.
* @param configuration
* @throws ConfigurationException
*/
- private void addIndexes(Configuration configuration)
- throws ConfigurationException {
+ private void addIndexes(Configuration configuration) throws ConfigurationException {
AnalyzerManager analyzerManager = null;
Configuration[] confs = configuration.getChildren(INDEX_ELEMENT);
@@ -279,84 +291,75 @@
throw new ConfigurationException("no index is defined !");
}
try {
- analyzerManager = (AnalyzerManager) this.manager
- .lookup(AnalyzerManager.ROLE);
+ analyzerManager = (AnalyzerManager) this.manager.lookup(AnalyzerManager.ROLE);
// configure each index
for (int i = 0; i < confs.length; i++) {
String id = confs[i].getAttribute(ID_ATTRIBUTE);
- String analyzerid = confs[i]
- .getAttribute(INDEX_DEFAULTANALZER_ATTRIBUTE);
+ String analyzerid = confs[i].getAttribute(INDEX_DEFAULTANALZER_ATTRIBUTE);
String directory = confs[i].getAttribute(INDEX_DIRECTORY_ATTRIBUTE);
if (!analyzerManager.exist(analyzerid)) {
- throw new ConfigurationException("Analyzer " + analyzerid
- + " no found");
+ throw new ConfigurationException("Analyzer " + analyzerid + " no found");
}
-
+
Configuration[] fields = confs[i].getChild(STRUCTURE_ELEMENT)
.getChildren(FIELD_ELEMENT);
-
+
IndexStructure docdecl = new IndexStructure();
for (int j = 0; j < fields.length; j++) {
-
+
FieldDefinition fielddecl;
-
+
// field id attribute
String id_field = fields[j].getAttribute(ID_ATTRIBUTE);
-
+
// field type attribute
String typeS = fields[j].getAttribute(TYPE_ATTRIBUTE, "");
int type = FieldDefinition.stringTotype(typeS);
try {
fielddecl = FieldDefinition.create(id_field, type);
} catch (IllegalArgumentException e) {
- throw new ConfigurationException("field " + id_field
- + " type " + typeS, e);
+ throw new ConfigurationException("field " + id_field + " type " + typeS, e);
}
-
+
// field store attribute
boolean store;
if (fielddecl.getType() == FieldDefinition.TEXT) {
- store = fields[j].getAttributeAsBoolean(STORE_ATTRIBUTE,
- false);
+ store = fields[j].getAttributeAsBoolean(STORE_ATTRIBUTE, false);
} else {
- store = fields[j].getAttributeAsBoolean(STORE_ATTRIBUTE,
- true);
+ store = fields[j].getAttributeAsBoolean(STORE_ATTRIBUTE, true);
}
fielddecl.setStore(store);
-
+
// field dateformat attribute
if (fielddecl.getType() == FieldDefinition.DATE) {
- String dateformat_field = fields[j]
- .getAttribute(DATEFORMAT_ATTRIBUTE);
- ((DateFieldDefinition) fielddecl)
- .setDateFormat(new SimpleDateFormat(
- dateformat_field));
+ String dateformat_field = fields[j].getAttribute(DATEFORMAT_ATTRIBUTE);
+ ((DateFieldDefinition) fielddecl).setDateFormat(new SimpleDateFormat(dateformat_field));
}
-
+
this.getLogger().debug("field added: " + fielddecl);
docdecl.addFieldDef(fielddecl);
}
-
+
Index index = new Index();
index.setID(id);
index.setIndexer(indexerRole);
-
+
// if the directory path is relative, prepend context path:
if (!directory.startsWith(File.separator)) {
directory = getServletContextPath() + File.separator + directory;
}
-
+
if (index.setDirectory(directory)) {
- this.getLogger().warn(
- "directory " + directory + " was locked ");
+ this.getLogger().warn("directory " + directory + " was locked ");
}
index.setDefaultAnalyzerID(analyzerid);
index.setStructure(docdecl);
index.setManager(manager);
this.addIndex(index);
- this.getLogger().info("add index " + index.getID() + " for directory " + directory);
+ this.getLogger()
+ .info("add index " + index.getID() + " for directory " + directory);
}
} catch (ServiceException e) {
throw new ConfigurationException("AnalyzerManager lookup error", e);
@@ -385,16 +388,17 @@
}
}
}
-
- /* (non-Javadoc)
+
+ /*
+ * (non-Javadoc)
* @see org.apache.cocoon.components.search.components.IndexManager#getIndex()
*/
public Index[] getIndex() {
- return (Index[]) this.indexes.values().toArray(
- new Index[indexes.size()]);
+ return (Index[]) this.indexes().values().toArray(new Index[indexes().size()]);
}
- /* (non-Javadoc)
+ /*
+ * (non-Javadoc)
* @see org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
*/
public void service(ServiceManager manager) throws ServiceException {
Modified: lenya/trunk/src/modules/lucene/java/test/org/apache/lenya/cms/lucene/IndexUpdaterTest.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/lucene/java/test/org/apache/lenya/cms/lucene/IndexUpdaterTest.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules/lucene/java/test/org/apache/lenya/cms/lucene/IndexUpdaterTest.java (original)
+++ lenya/trunk/src/modules/lucene/java/test/org/apache/lenya/cms/lucene/IndexUpdaterTest.java Fri Aug 11 11:42:59 2006
@@ -23,10 +23,8 @@
import org.apache.lenya.cms.publication.DocumentFactory;
import org.apache.lenya.cms.publication.DocumentUtil;
import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.publication.PublicationUtil;
import org.apache.lenya.cms.repository.RepositoryUtil;
import org.apache.lenya.cms.repository.Session;
-import org.apache.lenya.xml.DocumentHelper;
public class IndexUpdaterTest extends AbstractAccessControlTest {
@@ -35,7 +33,7 @@
Session session = RepositoryUtil.getSession(getManager(), getRequest());
DocumentFactory factory = DocumentUtil.createDocumentFactory(getManager(), session);
- Publication publication = PublicationUtil.getPublication(getManager(), "test");
+ Publication publication = getPublication("test");
Document sourceDoc = factory.get(publication, Publication.AUTHORING_AREA, "/tutorial", "en");
Document destDoc = factory.get(publication, Publication.AUTHORING_AREA, "/concepts", "en");
Modified: lenya/trunk/src/modules/migration/java/test/org/apache/lenya/cms/migration/MigrateUuidsTest.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/migration/java/test/org/apache/lenya/cms/migration/MigrateUuidsTest.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules/migration/java/test/org/apache/lenya/cms/migration/MigrateUuidsTest.java (original)
+++ lenya/trunk/src/modules/migration/java/test/org/apache/lenya/cms/migration/MigrateUuidsTest.java Fri Aug 11 11:42:59 2006
@@ -26,7 +26,6 @@
import org.apache.lenya.cms.publication.DocumentManager;
import org.apache.lenya.cms.publication.DocumentUtil;
import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.publication.PublicationUtil;
import org.apache.lenya.cms.repository.Node;
import org.apache.lenya.cms.repository.RepositoryUtil;
import org.apache.lenya.cms.repository.Session;
@@ -41,7 +40,7 @@
Session session = RepositoryUtil.getSession(getManager(), getRequest());
DocumentFactory factory = DocumentUtil.createDocumentFactory(getManager(), session);
- Publication[] pubs = PublicationUtil.getPublications(getManager());
+ Publication[] pubs = factory.getPublications();
for (int i = 0; i < pubs.length; i++) {
this.migratedDocs.clear();
migratePublication(pubs[i], factory);
Modified: lenya/trunk/src/modules/resource/java/test/org/apache/lenya/cms/publication/ResourceWrapperTest.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/resource/java/test/org/apache/lenya/cms/publication/ResourceWrapperTest.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules/resource/java/test/org/apache/lenya/cms/publication/ResourceWrapperTest.java (original)
+++ lenya/trunk/src/modules/resource/java/test/org/apache/lenya/cms/publication/ResourceWrapperTest.java Fri Aug 11 11:42:59 2006
@@ -55,7 +55,7 @@
Session session = RepositoryUtil.getSession(getManager(), getRequest());
DocumentFactory factory = DocumentUtil.createDocumentFactory(getManager(), session);
- Publication pub = PublicationUtil.getPublication(getManager(), "test");
+ Publication pub = getPublication("test");
Document doc = createResource(factory, pub, documentId, getManager(), getLogger());
Modified: lenya/trunk/src/modules/resource/java/test/org/apache/lenya/cms/site/usecases/ResourceLinkRewriterTest.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/resource/java/test/org/apache/lenya/cms/site/usecases/ResourceLinkRewriterTest.java?rev=430854&r1=430853&r2=430854&view=diff
==============================================================================
--- lenya/trunk/src/modules/resource/java/test/org/apache/lenya/cms/site/usecases/ResourceLinkRewriterTest.java (original)
+++ lenya/trunk/src/modules/resource/java/test/org/apache/lenya/cms/site/usecases/ResourceLinkRewriterTest.java Fri Aug 11 11:42:59 2006
@@ -19,7 +19,6 @@
import org.apache.lenya.cms.publication.DocumentFactory;
import org.apache.lenya.cms.publication.DocumentUtil;
import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.publication.PublicationUtil;
import org.apache.lenya.cms.publication.ResourceWrapperTest;
import org.apache.lenya.cms.repository.RepositoryUtil;
import org.apache.lenya.cms.repository.Session;
@@ -39,8 +38,7 @@
Session session = RepositoryUtil.getSession(getManager(), getRequest());
DocumentFactory factory = DocumentUtil.createDocumentFactory(getManager(), session);
- Publication pub = PublicationUtil.getPublication(getManager(), "test");
-
+ Publication pub = getPublication("test");
ResourceWrapperTest.createResource(factory, pub, documentId, getManager(), getLogger());
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org