From 7be4e3ef8388aa320611f99a84382178475013d3 Mon Sep 17 00:00:00 2001 From: David Caruana Date: Thu, 8 Dec 2005 18:57:52 +0000 Subject: [PATCH] System View Import git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2013 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/importer/DefaultContentHandler.java | 80 +++++++++++++++++-- .../repo/importer/ImportContentHandler.java | 33 +++++++- .../repo/importer/ImporterComponent.java | 16 +++- .../repo/importer/view/ParentContext.java | 1 - 4 files changed, 117 insertions(+), 13 deletions(-) diff --git a/source/java/org/alfresco/repo/importer/DefaultContentHandler.java b/source/java/org/alfresco/repo/importer/DefaultContentHandler.java index 1ee0c89c42..b52db6c6bb 100644 --- a/source/java/org/alfresco/repo/importer/DefaultContentHandler.java +++ b/source/java/org/alfresco/repo/importer/DefaultContentHandler.java @@ -26,9 +26,10 @@ import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; - /** - * Base Import Content Handler + * Default Import Content Handler + * + * Responsible for interacting with an Alfresco Importer. */ public class DefaultContentHandler implements ImportContentHandler, ErrorHandler @@ -37,34 +38,59 @@ public class DefaultContentHandler private Importer importer = null; + /** + * Construct + * + * @param targetHandler + */ public DefaultContentHandler(ImportContentHandler targetHandler) { ParameterCheck.mandatory("targetHandler", targetHandler); this.targetHandler = targetHandler; } + /* + * (non-Javadoc) + * @see org.alfresco.repo.importer.ImportContentHandler#setImporter(org.alfresco.repo.importer.Importer) + */ public void setImporter(Importer importer) { this.importer = importer; this.targetHandler.setImporter(importer); } + /* + * (non-Javadoc) + * @see org.alfresco.repo.importer.ImportContentHandler#importStream(java.lang.String) + */ public InputStream importStream(String content) { return targetHandler.importStream(content); } - + + /* + * (non-Javadoc) + * @see org.xml.sax.ContentHandler#setDocumentLocator(org.xml.sax.Locator) + */ public void setDocumentLocator(Locator locator) { targetHandler.setDocumentLocator(locator); } + /* + * (non-Javadoc) + * @see org.xml.sax.ContentHandler#startDocument() + */ public void startDocument() throws SAXException { importer.start(); targetHandler.startDocument(); } + /* + * (non-Javadoc) + * @see org.xml.sax.ContentHandler#endDocument() + */ public void endDocument() throws SAXException { try @@ -77,47 +103,82 @@ public class DefaultContentHandler } } + /* + * (non-Javadoc) + * @see org.xml.sax.ContentHandler#startPrefixMapping(java.lang.String, java.lang.String) + */ public void startPrefixMapping(String prefix, String uri) throws SAXException { targetHandler.startPrefixMapping(prefix, uri); } + /* + * (non-Javadoc) + * @see org.xml.sax.ContentHandler#endPrefixMapping(java.lang.String) + */ public void endPrefixMapping(String prefix) throws SAXException { targetHandler.endPrefixMapping(prefix); } + /* + * (non-Javadoc) + * @see org.xml.sax.ContentHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes) + */ public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException { targetHandler.startElement(uri, localName, qName, atts); } + /* + * (non-Javadoc) + * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String, java.lang.String) + */ public void endElement(String uri, String localName, String qName) throws SAXException { targetHandler.endElement(uri, localName, qName); } + /* + * (non-Javadoc) + * @see org.xml.sax.ContentHandler#characters(char[], int, int) + */ public void characters(char[] ch, int start, int length) throws SAXException { targetHandler.characters(ch, start, length); } + /* + * (non-Javadoc) + * @see org.xml.sax.ContentHandler#ignorableWhitespace(char[], int, int) + */ public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException { targetHandler.ignorableWhitespace(ch, start, length); } + /* + * (non-Javadoc) + * @see org.xml.sax.ContentHandler#processingInstruction(java.lang.String, java.lang.String) + */ public void processingInstruction(String target, String data) throws SAXException { targetHandler.processingInstruction(target, data); } + /* + * (non-Javadoc) + * @see org.xml.sax.ContentHandler#skippedEntity(java.lang.String) + */ public void skippedEntity(String name) throws SAXException { targetHandler.skippedEntity(name); } - + /* + * (non-Javadoc) + * @see org.xml.sax.ErrorHandler#error(org.xml.sax.SAXParseException) + */ public void error(SAXParseException exception) throws SAXException { try @@ -130,7 +191,10 @@ public class DefaultContentHandler } } - + /* + * (non-Javadoc) + * @see org.xml.sax.ErrorHandler#fatalError(org.xml.sax.SAXParseException) + */ public void fatalError(SAXParseException exception) throws SAXException { try @@ -143,11 +207,13 @@ public class DefaultContentHandler } } - + /* + * (non-Javadoc) + * @see org.xml.sax.ErrorHandler#warning(org.xml.sax.SAXParseException) + */ public void warning(SAXParseException exception) throws SAXException { targetHandler.warning(exception); } - } diff --git a/source/java/org/alfresco/repo/importer/ImportContentHandler.java b/source/java/org/alfresco/repo/importer/ImportContentHandler.java index c78970ca0c..bc312ced09 100644 --- a/source/java/org/alfresco/repo/importer/ImportContentHandler.java +++ b/source/java/org/alfresco/repo/importer/ImportContentHandler.java @@ -1,3 +1,19 @@ +/* + * Copyright (C) 2005 Alfresco, Inc. + * + * Licensed under the Mozilla Public License version 1.1 + * with a permitted attribution clause. You may obtain a + * copy of the License at + * + * http://www.alfresco.org/legal/license.txt + * + * 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.alfresco.repo.importer; import java.io.InputStream; @@ -6,10 +22,25 @@ import org.xml.sax.ContentHandler; import org.xml.sax.ErrorHandler; +/** + * Content Handler that interacts with an Alfresco Importer + * + * @author David Caruana + */ public interface ImportContentHandler extends ContentHandler, ErrorHandler { + /** + * Sets the Importer + * + * @param importer + */ public void setImporter(Importer importer); + /** + * Call-back for importing content streams + * + * @param content content stream identifier + * @return the input stream + */ public InputStream importStream(String content); - } diff --git a/source/java/org/alfresco/repo/importer/ImporterComponent.java b/source/java/org/alfresco/repo/importer/ImporterComponent.java index bd62d65861..c6b8ab7d0b 100644 --- a/source/java/org/alfresco/repo/importer/ImporterComponent.java +++ b/source/java/org/alfresco/repo/importer/ImporterComponent.java @@ -278,7 +278,7 @@ public class ImporterComponent } /** - * Perform the actual import + * Perform Import via Parser * * @param nodeRef node reference to import under * @param childAssocType the child association type to import under @@ -306,7 +306,16 @@ public class ImporterComponent } } - + /** + * Perform import via Content Handler + * + * @param nodeRef node reference to import under + * @param childAssocType the child association type to import under + * @param handler the import content handler + * @param binding import configuration + * @param progress import progress + * @return content handler to interact with + */ public ContentHandler handlerImport(NodeRef nodeRef, QName childAssocType, ImportContentHandler handler, ImporterBinding binding, ImporterProgress progress) { ParameterCheck.mandatory("Node Reference", nodeRef); @@ -318,8 +327,7 @@ public class ImporterComponent return defaultHandler; } - - + /** * Default Importer strategy * diff --git a/source/java/org/alfresco/repo/importer/view/ParentContext.java b/source/java/org/alfresco/repo/importer/view/ParentContext.java index 36a778e36b..70b9478f81 100644 --- a/source/java/org/alfresco/repo/importer/view/ParentContext.java +++ b/source/java/org/alfresco/repo/importer/view/ParentContext.java @@ -73,7 +73,6 @@ public class ParentContext extends ElementContext parentRef = parent.getNodeRef(); } - /** * Construct *