You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by at...@apache.org on 2008/04/18 13:24:41 UTC
svn commit: r649467 - in /portals/jetspeed-2/portal/trunk:
components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/page/
jetspeed-api/src/main/java/org/apache/jetspeed/page/
Author: ate
Date: Fri Apr 18 04:24:29 2008
New Revision: 649467
URL: http://svn.apache.org/viewvc?rev=649467&view=rev
Log:
Adding export functionality to the PageSerializer (by swapping src/dest) and default settings initialization.
Also, adding a JetspeedPageSerializerApplication interface for usage from the command line and maven plugins (implementation will follow shortly)
Added:
portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/page/JetspeedPageSerializerApplication.java (with props)
Modified:
portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/page/PageSerializerImpl.java
portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/page/PageSerializer.java
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/page/PageSerializerImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/page/PageSerializerImpl.java?rev=649467&r1=649466&r2=649467&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/page/PageSerializerImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/page/PageSerializerImpl.java Fri Apr 18 04:24:29 2008
@@ -50,7 +50,7 @@
protected boolean overwriteFolders;
- protected boolean fullImport;
+ protected boolean all;
protected transient ToolsLogger logger;
@@ -84,17 +84,17 @@
return overwriteFolders;
}
- public boolean isFullImport()
+ public boolean isSerializeAll()
{
- return fullImport;
+ return all;
}
- public Context(String folder, boolean overwritePages, boolean overwriteFolders, boolean fullImport, ToolsLogger logger)
+ public Context(String folder, boolean overwritePages, boolean overwriteFolders, boolean all, ToolsLogger logger)
{
this.folder = folder;
this.overwritePages = overwritePages;
this.overwriteFolders = overwriteFolders;
- this.fullImport = fullImport;
+ this.all = all;
this.logger = logger;
}
}
@@ -107,7 +107,7 @@
private Boolean defaultOverwriteFolders = Boolean.TRUE;
private Boolean defaultOverwritePages = Boolean.TRUE;
- private Boolean defaultFullImport = Boolean.TRUE;
+ private Boolean defaultAll = Boolean.TRUE;
public PageSerializerImpl(PageManager sourceManager, PageManager destManager)
{
@@ -115,13 +115,13 @@
this.destManager = destManager;
}
- public PageSerializerImpl(PageManager sourceManager, PageManager destManager, boolean defaultOverwriteFolders, boolean defaultOverwritePages, boolean defaultFullImport)
+ public PageSerializerImpl(PageManager sourceManager, PageManager destManager, boolean defaultOverwriteFolders, boolean defaultOverwritePages, boolean defaultAll)
{
this.sourceManager = sourceManager;
this.destManager = destManager;
this.defaultOverwriteFolders = new Boolean(defaultOverwriteFolders);
this.defaultOverwritePages = new Boolean(defaultOverwritePages);
- this.defaultFullImport = new Boolean(defaultFullImport);
+ this.defaultAll = new Boolean(defaultAll);
}
private boolean boolValue(Boolean bool, Boolean defaultValue)
@@ -134,26 +134,49 @@
*/
public Result importPages(ToolsLogger logger, String rootFolder) throws JetspeedException
{
- return importPages(logger, rootFolder, defaultOverwriteFolders, defaultOverwritePages, defaultFullImport);
+ return importPages(logger, rootFolder, defaultOverwriteFolders, defaultOverwritePages, defaultAll);
}
/* (non-Javadoc)
+ * @see org.apache.jetspeed.page.PageSerializer#exportPages(org.apache.jetspeed.tools.ToolsLogger, java.lang.String)
+ */
+ public Result exportPages(ToolsLogger logger, String rootFolder) throws JetspeedException
+ {
+ return exportPages(logger, rootFolder, defaultOverwriteFolders, defaultOverwritePages, defaultAll);
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.page.PageSerializer#importPages(java.lang.String, Boolean, Boolean, Boolean, org.apache.commons.logging.Log)
+ */
+ public Result importPages(ToolsLogger logger, String rootFolder, Boolean overwriteFolders, Boolean overwritePages, Boolean all) throws JetspeedException
+ {
+ return execute(sourceManager, destManager, new Context(rootFolder, boolValue(overwritePages, defaultOverwritePages), boolValue(overwriteFolders, defaultOverwriteFolders), boolValue(all, defaultAll),logger), true);
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.jetspeed.page.PageSerializer#exportPages(java.lang.String, Boolean, Boolean, Boolean, org.apache.commons.logging.Log)
+ */
+ public Result exportPages(ToolsLogger logger, String rootFolder, Boolean overwriteFolders, Boolean overwritePages, Boolean all) throws JetspeedException
+ {
+ return execute(destManager, sourceManager, new Context(rootFolder, boolValue(overwritePages, defaultOverwritePages), boolValue(overwriteFolders, defaultOverwriteFolders), boolValue(all, defaultAll),logger), false);
+ }
+
+ /* (non-Javadoc)
* @see org.apache.jetspeed.page.PageSerializer#importPages(java.lang.String, Boolean, Boolean, Boolean, org.apache.commons.logging.Log)
*/
- public Result importPages(ToolsLogger logger, String rootFolder, Boolean overwriteFolders, Boolean overwritePages, Boolean fullImport) throws JetspeedException
+ private Result execute(PageManager src, PageManager dest, Context context, boolean importing) throws JetspeedException
{
- Context context = new Context(rootFolder, boolValue(overwritePages, defaultOverwritePages), boolValue(overwriteFolders, defaultOverwriteFolders), boolValue(fullImport, defaultFullImport),logger);
- context.logger.info("Starting " + (context.fullImport ? "full" : "") + " import of folder: " + rootFolder
- + " (overwriting folders: " + overwriteFolders + ", pages: " + overwritePages + ")");
- importFolder(sourceManager.getFolder(rootFolder), context);
+ context.logger.info("Starting " + (context.all ? "complete" : "") + " " + (importing?"import":"export") + " of folder: " + context.folder
+ + " (overwriting folders: " + context.overwriteFolders + ", pages: " + context.overwritePages + ")");
+ processFolder(src.getFolder(context.folder), dest, context);
- if (context.fullImport)
+ if (context.all)
{
// create the root page security
PageSecurity sourcePageSecurity = null;
try
{
- sourcePageSecurity = sourceManager.getPageSecurity();
+ sourcePageSecurity = src.getPageSecurity();
}
catch (DocumentNotFoundException e)
{
@@ -162,32 +185,32 @@
if (sourcePageSecurity != null)
{
- context.logger.info("Importing page security");
- PageSecurity rootSecurity = destManager.copyPageSecurity(sourcePageSecurity);
- destManager.updatePageSecurity(rootSecurity);
+ context.logger.info((importing?"Importing":"Exporting")+" page security");
+ PageSecurity rootSecurity = dest.copyPageSecurity(sourcePageSecurity);
+ dest.updatePageSecurity(rootSecurity);
}
else
{
context.logger.info("Skipping page security: not found");
}
}
- context.logger.info("Import finished: processed " + context.folderCount + " folder(s), " + context.pageCount
+ context.logger.info((importing?"Import":"Export")+" finished: processed " + context.folderCount + " folder(s), " + context.pageCount
+ " page(s), " + context.linkCount + " link(s).");
context.logger = null;
return context;
}
-
- private Folder importFolder(Folder srcFolder, Context context) throws JetspeedException
+
+ private Folder processFolder(Folder srcFolder, PageManager dest, Context context) throws JetspeedException
{
- Folder dstFolder = lookupFolder(srcFolder.getPath());
+ Folder dstFolder = lookupFolder(dest, srcFolder.getPath());
if (null != dstFolder)
{
if (context.overwriteFolders)
{
context.logger.info("overwriting folder " + srcFolder.getPath());
- destManager.removeFolder(dstFolder);
- dstFolder = destManager.copyFolder(srcFolder, srcFolder.getPath());
- destManager.updateFolder(dstFolder);
+ dest.removeFolder(dstFolder);
+ dstFolder = dest.copyFolder(srcFolder, srcFolder.getPath());
+ dest.updateFolder(dstFolder);
context.folderCount++;
}
@@ -198,24 +221,24 @@
}
else
{
- context.logger.info("importing new folder " + srcFolder.getPath());
- dstFolder = destManager.copyFolder(srcFolder, srcFolder.getPath());
- destManager.updateFolder(dstFolder);
+ context.logger.info("processing new folder " + srcFolder.getPath());
+ dstFolder = dest.copyFolder(srcFolder, srcFolder.getPath());
+ dest.updateFolder(dstFolder);
context.folderCount++;
}
Iterator pages = srcFolder.getPages().iterator();
while (pages.hasNext())
{
Page srcPage = (Page) pages.next();
- Page dstPage = lookupPage(srcPage.getPath());
+ Page dstPage = lookupPage(dest, srcPage.getPath());
if (null != dstPage)
{
if (context.overwritePages)
{
context.logger.info("overwriting page " + srcPage.getPath());
- destManager.removePage(dstPage);
- dstPage = destManager.copyPage(srcPage, srcPage.getPath());
- destManager.updatePage(dstPage);
+ dest.removePage(dstPage);
+ dstPage = dest.copyPage(srcPage, srcPage.getPath());
+ dest.updatePage(dstPage);
context.pageCount++;
}
else
@@ -225,9 +248,9 @@
}
else
{
- context.logger.info("importing new page " + srcPage.getPath());
- dstPage = destManager.copyPage(srcPage, srcPage.getPath());
- destManager.updatePage(dstPage);
+ context.logger.info("processing new page " + srcPage.getPath());
+ dstPage = dest.copyPage(srcPage, srcPage.getPath());
+ dest.updatePage(dstPage);
context.pageCount++;
}
}
@@ -236,15 +259,15 @@
while (links.hasNext())
{
Link srcLink = (Link) links.next();
- Link dstLink = lookupLink(srcLink.getPath());
+ Link dstLink = lookupLink(dest, srcLink.getPath());
if (null != dstLink)
{
if (context.overwritePages)
{
context.logger.info("overwriting link " + srcLink.getPath());
- destManager.removeLink(dstLink);
- dstLink = destManager.copyLink(srcLink, srcLink.getPath());
- destManager.updateLink(dstLink);
+ dest.removeLink(dstLink);
+ dstLink = dest.copyLink(srcLink, srcLink.getPath());
+ dest.updateLink(dstLink);
context.linkCount++;
}
else
@@ -254,9 +277,9 @@
}
else
{
- context.logger.info("importing new link " + srcLink.getPath());
- dstLink = destManager.copyLink(srcLink, srcLink.getPath());
- destManager.updateLink(dstLink);
+ context.logger.info("processing new link " + srcLink.getPath());
+ dstLink = dest.copyLink(srcLink, srcLink.getPath());
+ dest.updateLink(dstLink);
context.linkCount++;
}
}
@@ -265,17 +288,17 @@
while (folders.hasNext())
{
Folder folder = (Folder) folders.next();
- importFolder(folder, context);
+ processFolder(folder, dest, context);
}
return dstFolder;
}
- private Page lookupPage(String path)
+ private static Page lookupPage(PageManager mgr, String path)
{
try
{
- return destManager.getPage(path);
+ return mgr.getPage(path);
}
catch (Exception e)
{
@@ -283,11 +306,11 @@
}
}
- private Link lookupLink(String path)
+ private static Link lookupLink(PageManager mgr, String path)
{
try
{
- return destManager.getLink(path);
+ return mgr.getLink(path);
}
catch (Exception e)
{
@@ -295,11 +318,11 @@
}
}
- private Folder lookupFolder(String path)
+ private static Folder lookupFolder(PageManager mgr, String path)
{
try
{
- return destManager.getFolder(path);
+ return mgr.getFolder(path);
}
catch (Exception e)
{
Added: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/page/JetspeedPageSerializerApplication.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/page/JetspeedPageSerializerApplication.java?rev=649467&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/page/JetspeedPageSerializerApplication.java (added)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/page/JetspeedPageSerializerApplication.java Fri Apr 18 04:24:29 2008
@@ -0,0 +1,41 @@
+/*
+ * 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.jetspeed.page;
+
+import java.util.Properties;
+
+import org.apache.jetspeed.exception.JetspeedException;
+import org.apache.jetspeed.page.PageSerializer.Result;
+import org.apache.jetspeed.tools.ToolsLogger;
+
+/**
+ * Standalone execution of JetspeedPageSerializer
+ *
+ * @version $Id$
+ *
+ */
+public interface JetspeedPageSerializerApplication
+{
+
+ Result importPages(ToolsLogger logger, String applicationRootPath, String categories,
+ String filterPropertiesFileName, Properties initProperties, String rootFolder) throws JetspeedException;
+
+ Result exportPages(ToolsLogger logger, String applicationRootPath, String categories,
+ String filterPropertiesFileName, Properties initProperties, String rootFolder) throws JetspeedException;
+
+}
\ No newline at end of file
Propchange: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/page/JetspeedPageSerializerApplication.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/page/JetspeedPageSerializerApplication.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/page/JetspeedPageSerializerApplication.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/page/PageSerializer.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/page/PageSerializer.java?rev=649467&r1=649466&r2=649467&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/page/PageSerializer.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/page/PageSerializer.java Fri Apr 18 04:24:29 2008
@@ -37,7 +37,11 @@
int getLinkCount();
boolean isOverwritePages();
boolean isOverwriteFolders();
+ boolean isSerializeAll();
}
- Result importPages(ToolsLogger logger, String rootFolder, boolean overwriteFolders, boolean overwritePages, boolean fullImport) throws JetspeedException;
+ Result importPages(ToolsLogger logger, String rootFolder) throws JetspeedException;
+ Result exportPages(ToolsLogger logger, String rootFolder) throws JetspeedException;
+ Result importPages(ToolsLogger logger, String rootFolder, Boolean overwriteFolders, Boolean overwritePages, Boolean all) throws JetspeedException;
+ Result exportPages(ToolsLogger logger, String rootFolder, Boolean overwriteFolders, Boolean overwritePages, Boolean all) throws JetspeedException;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org