svn commit: r633195 - in /lenya/sandbox/modules/forrest/java: src/org/apache/lenya/modules/forrest/Importer.java src/org/apache/lenya/modules/forrest/UpdateChanges.java test/org/apache/lenya/modules/forrest/ImportTest.java

[email protected]
Newsgroups gmane.comp.cms.lenya.cvs
Message-ID <[email protected]>
Author: andreas
Date: Mon Mar  3 09:40:33 2008
New Revision: 633195

URL: http://svn.apache.org/viewvc?rev=633195&view=rev
Log:
Replacing linkdocument and foldernode modules with sitemeta module.

Modified:
    lenya/sandbox/modules/forrest/java/src/org/apache/lenya/modules/forrest/Importer.java
    lenya/sandbox/modules/forrest/java/src/org/apache/lenya/modules/forrest/UpdateChanges.java
    lenya/sandbox/modules/forrest/java/test/org/apache/lenya/modules/forrest/ImportTest.java

Modified: lenya/sandbox/modules/forrest/java/src/org/apache/lenya/modules/forrest/Importer.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/modules/forrest/java/src/org/apache/lenya/modules/forrest/Importer.java?rev=633195&r1=633194&r2=633195&view=diff
==============================================================================
--- lenya/sandbox/modules/forrest/java/src/org/apache/lenya/modules/forrest/Importer.java (original)
+++ lenya/sandbox/modules/forrest/java/src/org/apache/lenya/modules/forrest/Importer.java Mon Mar  3 09:40:33 2008
@@ -38,6 +38,7 @@
 import org.apache.excalibur.source.SourceResolver;
 import org.apache.lenya.cms.cocoon.source.SourceUtil;
 import org.apache.lenya.cms.linking.Link;
+import org.apache.lenya.cms.metadata.MetaDataException;
 import org.apache.lenya.cms.publication.Area;
 import org.apache.lenya.cms.publication.Document;
 import org.apache.lenya.cms.publication.DocumentFactory;
@@ -50,6 +51,7 @@
 import org.apache.lenya.modules.externallinks.ExternalLinksRewriter;
 import org.apache.lenya.modules.foldernode.FolderNodeTransformer;
 import org.apache.lenya.modules.linkdocument.LinkDocument;
+import org.apache.lenya.modules.sitemeta.SiteMetaDataTransformer;
 import org.apache.lenya.xml.DocumentHelper;
 import org.apache.lenya.xml.NamespaceHelper;
 import org.apache.xpath.XPathAPI;
@@ -76,7 +78,7 @@
 
     static {
         blockedPaths.add("/index/changes/");
-        
+
         changedPaths.put("/project-information", pathToRemove);
         changedPaths.put("/project-information/indexpm", "/index");
         changedPaths.put("/project-information/", "/index/");
@@ -101,7 +103,7 @@
     protected static final String LANGUAGE = "en";
     protected static final String EXTENSION = "xml";
     protected static final String SITE_PROTOCOL = "site:";
-    
+
     private static final int DEBUG = 0;
     private static final int INFO = 1;
     private static final int WARN = 2;
@@ -125,21 +127,18 @@
         ResourceType forrestResourceType = null;
         ResourceType mediaResourceType = null;
         ResourceType faqResourceType = null;
-        ResourceType linkResourceType = null;
         DocumentManager docMgr = null;
         try {
             selector = (ServiceSelector) this.manager.lookup(ResourceType.ROLE + "Selector");
             forrestResourceType = (ResourceType) selector.select(RESOURCE_TYPE_NAME_FORREST);
             faqResourceType = (ResourceType) selector.select(RESOURCE_TYPE_NAME_FAQ);
             mediaResourceType = (ResourceType) selector.select(RESOURCE_TYPE_NAME_MEDIA);
-            linkResourceType = (ResourceType) selector.select(LinkDocument.RESOURCE_TYPE);
             docMgr = (DocumentManager) this.manager.lookup(DocumentManager.ROLE);
 
             ImportInfo info = new ImportInfo();
             info.area = area;
             info.forrestResourceType = forrestResourceType;
             info.faqResourceType = faqResourceType;
-            info.linkResourceType = linkResourceType;
             info.mediaResourceType = mediaResourceType;
             info.helper = helper;
             info.docMgr = docMgr;
@@ -170,9 +169,6 @@
                 if (mediaResourceType != null) {
                     selector.release(mediaResourceType);
                 }
-                if (linkResourceType != null) {
-                    selector.release(linkResourceType);
-                }
                 this.manager.release(selector);
             }
         }
@@ -211,9 +207,9 @@
                 path = newPrefix + path.substring(prefix.length());
             }
         }
-        
+
         boolean blocked = false;
-        for (Iterator i = blockedPaths.iterator(); i.hasNext(); ) {
+        for (Iterator i = blockedPaths.iterator(); i.hasNext();) {
             String prefix = (String) i.next();
             if (path.startsWith(prefix)) {
                 log("Blocking path " + path, INFO);
@@ -235,19 +231,17 @@
             if (href.startsWith("http:")) {
                 log("HTTP link: " + href, DEBUG);
                 info.links.put(linkName, href);
-                String[] samples = info.linkResourceType.getSampleNames();
-                sourceUri = info.linkResourceType.getSample(samples[0]).getUri();
-                Document doc = createDocument(info, info.linkResourceType, sourceUri, path,
+                String sampleUri = getForrestSampleUri(info);
+                Document doc = createDocument(info, info.forrestResourceType, sampleUri, path,
                         linkName, title);
-                LinkDocument linkDoc = new LinkDocument(doc);
-                linkDoc.setHref(href);
+                setExternalLink(doc, href);
             } else if (info.externalLinksRewriter.matches(href)) {
                 log("External link: " + href, DEBUG);
                 String externalUri = info.externalLinksRewriter.rewrite(href);
-                Document doc = createDocument(info, info.linkResourceType, sourceUri, path,
+                String sampleUri = getForrestSampleUri(info);
+                Document doc = createDocument(info, info.forrestResourceType, sampleUri, path,
                         linkName, title);
-                LinkDocument linkDoc = new LinkDocument(doc);
-                linkDoc.setHref(externalUri);
+                setExternalLink(doc, externalUri);
             } else if (sourceUri.endsWith(".png") || sourceUri.endsWith(".gif")) {
                 log("Image: " + sourceUri, DEBUG);
                 createDocument(info, info.mediaResourceType, sourceUri, path, linkName, title);
@@ -291,6 +285,17 @@
 
     }
 
+    protected String getForrestSampleUri(ImportInfo info) {
+        String[] samples = info.forrestResourceType.getSampleNames();
+        String sampleUri = info.forrestResourceType.getSample(samples[0]).getUri();
+        return sampleUri;
+    }
+
+    protected void setExternalLink(Document doc, String href) throws MetaDataException {
+        doc.getMetaData(SiteMetaDataTransformer.NAMESPACE).setValue(
+                SiteMetaDataTransformer.ELEM_EXTERNAL_LINK, href);
+    }
+
     protected ResourceType getResourceType(org.w3c.dom.Document xml, ImportInfo info) {
         String localName = xml.getDocumentElement().getLocalName();
         ResourceType type;
@@ -375,7 +380,7 @@
                 log("Created " + extension.toUpperCase() + " document (" + info.counterToString()
                         + ") [" + path + "] from [" + sourceUri + "]", INFO);
             }
-            
+
             Link link = new Link();
             link.setUuid(doc.getUUID());
             info.links.put(linkName, link.getUri());
@@ -404,7 +409,6 @@
     protected class ImportInfo {
         protected int number = 0;
         protected int counter = 0;
-        protected ResourceType linkResourceType;
         protected ResourceType mediaResourceType;
         protected ResourceType forrestResourceType;
         protected ResourceType faqResourceType;

Modified: lenya/sandbox/modules/forrest/java/src/org/apache/lenya/modules/forrest/UpdateChanges.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/modules/forrest/java/src/org/apache/lenya/modules/forrest/UpdateChanges.java?rev=633195&r1=633194&r2=633195&view=diff
==============================================================================
--- lenya/sandbox/modules/forrest/java/src/org/apache/lenya/modules/forrest/UpdateChanges.java (original)
+++ lenya/sandbox/modules/forrest/java/src/org/apache/lenya/modules/forrest/UpdateChanges.java Mon Mar  3 09:40:33 2008
@@ -40,8 +40,7 @@
 import org.apache.lenya.cms.site.SiteNode;
 import org.apache.lenya.cms.site.SiteStructure;
 import org.apache.lenya.cms.usecase.AbstractUsecase;
-import org.apache.lenya.modules.foldernode.FolderNodeTransformer;
-import org.apache.lenya.modules.linkdocument.LinkDocument;
+import org.apache.lenya.modules.sitemeta.SiteMetaDataTransformer;
 import org.tmatesoft.svn.core.ISVNLogEntryHandler;
 import org.tmatesoft.svn.core.SVNException;
 import org.tmatesoft.svn.core.SVNLogEntry;
@@ -187,8 +186,8 @@
             SiteStructure site = this.parent.getStructure();
             if (!site.contains(yearPath)) {
                 Document doc = getDocument(yearPath, "forrestDocument20", yearString);
-                doc.getMetaData(FolderNodeTransformer.NAMESPACE).setValue(
-                        FolderNodeTransformer.ELEM_FOLDERNODE, Boolean.toString(true));
+                doc.getMetaData(SiteMetaDataTransformer.NAMESPACE).setValue(
+                        SiteMetaDataTransformer.ELEM_FOLDER_NODE, Boolean.toString(true));
                 // SiteNode node = createNodeAtBeginning(site, yearPath);
                 // node.addLink(site.getPublication().getDefaultLanguage(),
                 // yearString);

Modified: lenya/sandbox/modules/forrest/java/test/org/apache/lenya/modules/forrest/ImportTest.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/modules/forrest/java/test/org/apache/lenya/modules/forrest/ImportTest.java?rev=633195&r1=633194&r2=633195&view=diff
==============================================================================
--- lenya/sandbox/modules/forrest/java/test/org/apache/lenya/modules/forrest/ImportTest.java (original)
+++ lenya/sandbox/modules/forrest/java/test/org/apache/lenya/modules/forrest/ImportTest.java Mon Mar  3 09:40:33 2008
@@ -33,10 +33,8 @@
 import org.apache.lenya.cms.publication.ResourceType;
 import org.apache.lenya.cms.repository.RepositoryException;
 import org.apache.lenya.cms.repository.Session;
-import org.apache.lenya.cms.site.SiteException;
 import org.apache.lenya.cms.site.SiteNode;
 import org.apache.lenya.cms.site.SiteStructure;
-import org.apache.lenya.cms.usecase.UsecaseException;
 import org.apache.lenya.cms.usecase.UsecaseInvoker;
 import org.apache.lenya.cms.workflow.WorkflowUtil;
 import org.apache.lenya.workflow.Workflowable;
@@ -58,16 +56,14 @@
         Session session = getFreshSession();
         Publication pub = getPublication(session, PUB_ID);
         Area area = pub.getArea("authoring");
-        /*
+        
         Importer importer = new Importer(getManager(), getLogger());
         importer.importSite(area);
         session.commit();
-*/
+        
         assertTrue(area.getSite().contains("/index"));
         
-        /*
         updateChanges();
-         */
         publish();
     }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.