Changeset 5370 for CMDIValidator
- Timestamp:
- 06/18/14 23:13:07 (10 years ago)
- Location:
- CMDIValidator/trunk
- Files:
-
- 3 added
- 3 deleted
- 4 edited
- 1 copied
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
CMDIValidator/trunk/cmdi-validator-core/src/main/java/eu/clarin/cmdi/validator/CMDIValidator.java
r5204 r5370 84 84 private final XML11Configuration config; 85 85 private final DocumentBuilder builder; 86 private final List<CMDIValidat ionPlugin> plugins;86 private final List<CMDIValidatorExtension> extensions; 87 87 private final CMDIValidatorResultImpl result; 88 88 … … 91 91 final SchemaLoader schemaLoader, 92 92 XsltExecutable schematronExecutable, 93 List<CMDIValidat ionPlugin> plugins)93 List<CMDIValidatorExtension> extensions) 94 94 throws CMDIValidatorInitException { 95 95 if (processor == null) { … … 219 219 220 220 /* 221 * initialize plugins221 * extensions 222 222 */ 223 if ((plugins != null) && !plugins.isEmpty()) { 224 this.plugins = plugins; 225 } else { 226 this.plugins = null; 227 } 223 this.extensions = extensions; 228 224 229 225 /* … … 260 256 261 257 /* 262 * step 3: run plugins, if any258 * step 3: run extensions, if any 263 259 */ 264 if ( plugins != null) {265 for (CMDIValidat ionPlugin plugin : plugins) {266 plugin.validate(document, result);260 if (extensions != null) { 261 for (CMDIValidatorExtension extension : extensions) { 262 extension.validate(document, result); 267 263 } 268 264 } -
CMDIValidator/trunk/cmdi-validator-core/src/main/java/eu/clarin/cmdi/validator/CMDIValidatorFactory.java
r5204 r5370 5 5 import java.net.URL; 6 6 import java.util.ArrayList; 7 import java.util.Collections; 7 8 import java.util.List; 8 9 … … 37 38 private final SchemaLoader schemaLoader; 38 39 private final XsltExecutable schematronValidator; 39 private final List<CMDIValidationPluginFactory> pluginFactories; 40 private final List<CMDIValidatorExtension> extensions = 41 new ArrayList<CMDIValidatorExtension>(); 42 40 43 41 44 private CMDIValidatorFactory(File cacheDirectory, 42 File schematronSchemaFile, boolean disableSchematron, 43 List<CMDIValidationPluginFactory> pluginFactories) 45 File schematronSchemaFile, boolean disableSchematron) 44 46 throws CMDIValidatorInitException { 45 47 /* … … 50 52 if (SystemUtils.IS_OS_WINDOWS && 51 53 (SystemUtils.JAVA_IO_TMPDIR != null)) { 52 cacheDirectory = new File(SystemUtils.JAVA_IO_TMPDIR,53 "cmdi-validator");54 cacheDirectory = 55 new File(SystemUtils.JAVA_IO_TMPDIR, "cmdi-validator"); 54 56 } else if (SystemUtils.IS_OS_UNIX && 55 57 (SystemUtils.USER_HOME != null)) { 56 cacheDirectory = new File(SystemUtils.USER_HOME,57 ".cmdi-validator");58 cacheDirectory = 59 new File(SystemUtils.USER_HOME, ".cmdi-validator"); 58 60 } 59 61 if (cacheDirectory != null) { … … 154 156 this.schematronValidator = null; 155 157 } 156 157 /* 158 * store pluginFactories 159 */ 160 if ((pluginFactories != null) && !pluginFactories.isEmpty()) { 161 this.pluginFactories = pluginFactories; 162 } else { 163 this.pluginFactories = null; 164 } 158 } 159 160 161 public void registerExtension(CMDIValidatorExtension extension) 162 throws CMDIValidatorInitException { 163 if (extension == null) { 164 throw new NullPointerException("extension == null"); 165 } 166 extension.initalize(processor); 167 extensions.add(extension); 165 168 } 166 169 167 170 168 171 public CMDIValidator newValidator() throws CMDIValidatorInitException { 169 List<CMDIValidationPlugin> plugins = null; 170 if (pluginFactories != null) { 171 plugins = new ArrayList<CMDIValidationPlugin>(pluginFactories.size()); 172 for (CMDIValidationPluginFactory pluginFactory : pluginFactories) { 173 plugins.add(pluginFactory.newInstance(processor)); 174 } 175 } 176 172 List<CMDIValidatorExtension> ext = !extensions.isEmpty() 173 ? Collections.unmodifiableList(extensions) 174 : null; 177 175 return new CMDIValidator(processor, schemaLoader, 178 schematronValidator, plugins);176 schematronValidator, ext); 179 177 } 180 178 … … 182 180 public static CMDIValidatorFactory newInstance(File cacheDircetory, 183 181 File schematronSchemaFile, 184 boolean disableSchematron, 185 List<CMDIValidationPluginFactory> pluginFactories) 186 throws CMDIValidatorInitException { 182 boolean disableSchematron) throws CMDIValidatorInitException { 187 183 return new CMDIValidatorFactory(cacheDircetory, 188 184 schematronSchemaFile, 189 disableSchematron, 190 pluginFactories); 185 disableSchematron); 191 186 } 192 187 … … 194 189 public static CMDIValidatorFactory newInstance() 195 190 throws CMDIValidatorInitException { 196 return new CMDIValidatorFactory(null, null, false , null);191 return new CMDIValidatorFactory(null, null, false); 197 192 } 198 193 -
CMDIValidator/trunk/cmdi-validator-core/src/main/java/eu/clarin/cmdi/validator/CMDIValidatorResultImpl.java
r5204 r5370 7 7 8 8 9 public final class CMDIValidatorResultImpl implements CMDIValidatorResult {9 final class CMDIValidatorResultImpl implements CMDIValidatorWriteableResult { 10 10 private static class MessageImpl implements CMDIValidatorResult.Message { 11 11 private Severity severity; … … 147 147 148 148 149 @Override 149 150 public void reportInfo(int line, int col, String message) { 150 151 reportInfo(line, col, message, null); … … 152 153 153 154 155 @Override 154 156 public void reportInfo(int line, int col, String message, Throwable cause) { 155 157 entries.add(new MessageImpl(Severity.INFO, line, col, message, cause)); … … 157 159 158 160 161 @Override 159 162 public void reportWarning(int line, int col, String message) { 160 163 reportWarning(line, col, message, null); … … 162 165 163 166 167 @Override 164 168 public void reportWarning(int line, int col, String message, Throwable cause) { 165 169 switch (highestSeverity) { … … 175 179 176 180 181 @Override 177 182 public void reportError(int line, int col, String message) { 178 183 reportError(line, col, message, null); … … 180 185 181 186 187 @Override 182 188 public void reportError(int line, int col, String message, Throwable cause) { 183 189 switch (highestSeverity) { -
CMDIValidator/trunk/cmdi-validator-core/src/main/java/eu/clarin/cmdi/validator/utils/HandleResolver.java
r5338 r5370 1 package eu.clarin.cmdi.validator. plugins;1 package eu.clarin.cmdi.validator.utils; 2 2 3 3 import java.io.IOException; … … 5 5 import java.util.HashSet; 6 6 import java.util.Set; 7 7 8 import org.apache.http.HttpResponse; 8 9 import org.apache.http.StatusLine; … … 18 19 19 20 import eu.clarin.cmdi.validator.CMDIValidatorException; 20 import eu.clarin.cmdi.validator.utils.LRUCache;21 21 22 22 public class HandleResolver { 23 private static final Logger logger = LoggerFactory.getLogger(HandleResolver.class); 23 private static final Logger logger = 24 LoggerFactory.getLogger(HandleResolver.class); 24 25 public final int ERROR = -1; 25 26 private final LRUCache<URI, Integer> cache = … … 29 30 private long cacheHits = 0; 30 31 private long cacheMisses = 0; 31 32 public HandleResolver() {33 this(Runtime.getRuntime().availableProcessors());34 }35 32 36 33 … … 74 71 } // synchronized (pending) 75 72 } // synchronized (cache) 76 77 73 78 74 // either resolve in this thread of wait for pending resolve result -
CMDIValidator/trunk/cmdi-validator-tool/src/main/java/eu/clarin/cmdi/validator/tool/CMDIValidatorTool.java
r5351 r5370 5 5 import java.io.File; 6 6 import java.io.PrintWriter; 7 import java.util.ArrayList;8 import java.util.List;9 7 import java.util.Locale; 10 8 import java.util.concurrent.TimeUnit; … … 25 23 import org.slf4j.LoggerFactory; 26 24 27 import eu.clarin.cmdi.validator.CMDIValidationPluginFactory;28 25 import eu.clarin.cmdi.validator.CMDIValidator; 29 26 import eu.clarin.cmdi.validator.CMDIValidatorEngine; … … 36 33 import eu.clarin.cmdi.validator.CMDIValidatorResult.Message; 37 34 import eu.clarin.cmdi.validator.CMDIValidatorResult.Severity; 38 import eu.clarin.cmdi.validator. plugins.CheckPidPluginFactory;35 import eu.clarin.cmdi.validator.extensions.CheckHandlesExtension; 39 36 40 37 … … 181 178 } 182 179 183 List<CMDIValidationPluginFactory> pluginFactories =184 new ArrayList<CMDIValidationPluginFactory>();185 if (checkPids) {186 logger.info("performing PID checking");187 pluginFactories.add(new CheckPidPluginFactory());188 }189 190 180 final CMDIValidatorFactory factory = 191 181 CMDIValidatorFactory.newInstance(schemaCacheDir, 192 182 schematronFile, 193 disableSchematron, 194 pluginFactories); 183 disableSchematron); 184 185 if (checkPids) { 186 logger.info("performing PID checking"); 187 factory.registerExtension( 188 new CheckHandlesExtension(threadCount, true)); 189 } 190 195 191 196 192 /*
Note: See TracChangeset
for help on using the changeset viewer.