| //------------------------------------------------------------------------------ |
| // Copyright (c) 2005, 2006 IBM Corporation and others. |
| // All rights reserved. This program and the accompanying materials |
| // are made available under the terms of the Eclipse Public License v1.0 |
| // which accompanies this distribution, and is available at |
| // http://www.eclipse.org/legal/epl-v10.html |
| // |
| // Contributors: |
| // IBM Corporation - initial implementation |
| //------------------------------------------------------------------------------ |
| package org.eclipse.epf.library.layout; |
| |
| import java.io.File; |
| import java.io.PrintStream; |
| |
| import org.eclipse.epf.library.LibraryResources; |
| import org.eclipse.epf.library.util.LibraryUtil; |
| import org.eclipse.epf.uma.MethodConfiguration; |
| import org.eclipse.epf.uma.MethodElement; |
| import org.eclipse.osgi.util.NLS; |
| |
| /** |
| * default implementation for IContentValidator. This validator is used for browsing and preview |
| * |
| * @author Jinhua Xi |
| * |
| */ |
| public class DefaultContentValidator implements IContentValidator { |
| |
| protected PrintStream info; |
| |
| protected PrintStream warning; |
| |
| protected PrintStream error; |
| |
| protected String pubDir; |
| |
| protected boolean showBrokenLinks = true; |
| |
| private static boolean default_showExtraInfoForDescriptors = true; |
| |
| /** |
| * constructor |
| * |
| */ |
| public DefaultContentValidator() { |
| this(null); |
| } |
| |
| /** |
| * constructor |
| * @param pubDir |
| */ |
| public DefaultContentValidator(String pubDir) { |
| this.pubDir = pubDir; |
| info = System.out; |
| warning = System.out; |
| error = System.err; |
| } |
| |
| /** |
| * set publish dir |
| * @param pubDir String |
| */ |
| public void setPublishDir(String pubDir) { |
| this.pubDir = pubDir; |
| } |
| |
| public String getPublishDir() { |
| return this.pubDir; |
| } |
| |
| public void setShowBrokenLinks(boolean flag) { |
| showBrokenLinks = flag; |
| } |
| |
| public boolean showBrokenLinks() { |
| return showBrokenLinks; |
| } |
| public LinkInfo validateLink(MethodElement owner, String attributes, |
| String text, MethodConfiguration config) { |
| |
| LinkInfo info = new LinkInfo(owner, this, pubDir); |
| info.validateLink(attributes, text, config); |
| |
| return info; |
| } |
| |
| public void logInfo(MethodElement owner, String message) { |
| info |
| .println(NLS.bind(LibraryResources.DefaultContentValidator_MSG1, ((owner == null) ? "" : LibraryUtil.getTypeName(owner)) + ": " + message)); |
| info.flush(); |
| } |
| |
| public void logWarning(MethodElement owner, String message) { |
| warning |
| .println(NLS.bind(LibraryResources.DefaultContentValidator_MSG4, ((owner == null) ? "" : LibraryUtil.getTypeName(owner)) + ": " + message)); |
| warning.flush(); |
| } |
| |
| public void logError(MethodElement owner, String message, Throwable th) { |
| error |
| .println(NLS.bind(LibraryResources.DefaultContentValidator_MSG7, ((owner == null) ? "" : LibraryUtil.getTypeName(owner)) + ": " + message)); |
| if (th != null) { |
| th.printStackTrace(error); |
| } |
| error.flush(); |
| |
| } |
| |
| public void logInfo(String message) { |
| logInfo(null, message); |
| } |
| |
| public void logWarning(String message) { |
| logWarning(null, message); |
| } |
| |
| public void logError(String message, Throwable th) { |
| logError(null, message, th); |
| } |
| |
| public void logMissingReference(MethodElement owner, |
| MethodElement refElement) { |
| logWarning( |
| owner, |
| NLS.bind(LibraryResources.DefaultContentValidator_MSG10, LibraryUtil.getTypeName(refElement))); |
| } |
| |
| public void logMissingReference(MethodElement owner, String guid, |
| String linkedText) { |
| logWarning(owner, NLS.bind(LibraryResources.DefaultContentValidator_MSG11, guid)); |
| } |
| |
| public void logMissingResource(MethodElement owner, File resourceFile, |
| String url) { |
| String msg; |
| if (resourceFile != null) { |
| msg = NLS.bind(LibraryResources.DefaultContentValidator_MSG12, resourceFile.getPath(), url); |
| } else { |
| msg = NLS.bind(LibraryResources.DefaultContentValidator_MSG15, url); |
| } |
| |
| logWarning(owner, msg); |
| } |
| |
| public void logInvalidExternalLink(MethodElement owner, String url, |
| String message) { |
| String text; |
| if (message != null && message.length() > 0) { |
| text = NLS.bind(LibraryResources.DefaultContentValidator_MSG19, url, message); |
| } else { |
| text = NLS.bind(LibraryResources.DefaultContentValidator_MSG17, url); |
| } |
| logWarning(owner, text); |
| } |
| |
| /** |
| * check if the element is discarded or not |
| * discarded elements will be treated as out side the configursation |
| * |
| * @param owner MethodElement the owner of the element |
| * @param Object feature EStructuralFeature or OppositeFeature |
| * @param e MethodElement the element to be checked |
| */ |
| public boolean isDiscarded(MethodElement owner, Object feature, MethodElement e) { |
| return false; |
| } |
| |
| public void dispose() { |
| } |
| |
| public void addReferencedElement(MethodElement owner, MethodElement e) |
| { |
| } |
| |
| |
| public void setDiscardedElement(MethodElement e) { |
| |
| } |
| |
| public boolean showExtraInfoForDescriptors() { |
| return default_showExtraInfoForDescriptors; |
| } |
| |
| public static void setDefaultShowExtraInfoForDescriptors(boolean show) { |
| default_showExtraInfoForDescriptors = show; |
| } |
| |
| } |
| |