public AppModule(ClassLoader classLoader, String jarLocation) { this.classLoader = classLoader; this.jarLocation = jarLocation; File file = new File(jarLocation); this.moduleId = file.getName(); this.validation = new ValidationContext(AppModule.class, jarLocation); }
protected void visit(final Service service) { if (service.getPorts().values().size() != 1) { context.addFailure(new ValidationFailure("A lightweight RPC/Encoded service must contain only one Port")); } } }
private void logResults(final ValidationContext context, final Level level) { for (final ValidationError e : context.getErrors()) { logger.error(e.getPrefix() + " ... " + e.getComponentName() + ":\t" + e.getMessage(level.ordinal() + 1)); } for (final ValidationFailure e : context.getFailures()) { logger.error(e.getPrefix() + " ... " + e.getComponentName() + ":\t" + e.getMessage(level.ordinal() + 1)); } for (final ValidationWarning e : context.getWarnings()) { logger.warning(e.getPrefix() + " ... " + e.getComponentName() + ":\t" + e.getMessage(level.ordinal() + 1)); } if (context.hasErrors() || context.hasFailures()) { final DeploymentModule module = context.getModule(); logger.error(String.format("Invalid %s(name=%s, path=%s)", context.getModuleType(), module.getModuleId(), module.getFile())); // logger.error("Validation: "+errors.length + " errors, "+failures.length+ " failures, in "+context.getModuleType()+"(path="+context.getJarPath()+")"); } else if (context.hasWarnings()) { if (context.getWarnings().length == 1) { logger.warning(context.getWarnings().length + " warning for " + context.getModuleType() + "(path=" + context.getName() + ")"); } else { logger.warning(context.getWarnings().length + " warnings for " + context.getModuleType() + "(path=" + context.getName() + ")"); } } }
public boolean isValid() { ValidationContext context = validate(); return !context.hasFailures() && !context.hasErrors(); }
private void logResults(ValidationContext context, Level level) { for (ValidationError e : context.getErrors()) { logger.error(e.getPrefix() + " ... " + e.getComponentName() + ":\t" + e.getMessage(level.ordinal() + 1)); } for (ValidationFailure e : context.getFailures()) { logger.error(e.getPrefix() + " ... " + e.getComponentName() + ":\t" + e.getMessage(level.ordinal() + 1)); } for (ValidationWarning e : context.getWarnings()) { logger.warning(e.getPrefix() + " ... " + e.getComponentName() + ":\t" + e.getMessage(level.ordinal() + 1)); } if (context.hasErrors() || context.hasFailures()) { logger.error("Invalid "+context.getModuleType()+"(path="+context.getJarPath()+")"); // logger.error("Validation: "+errors.length + " errors, "+failures.length+ " failures, in "+context.getModuleType()+"(path="+context.getJarPath()+")"); } else if (context.hasWarnings()) { if (context.getWarnings().length == 1) { logger.warning(context.getWarnings().length +" warning for "+context.getModuleType()+"(path="+context.getJarPath()+")"); } else { logger.warning(context.getWarnings().length +" warnings for "+context.getModuleType()+"(path="+context.getJarPath()+")"); } } }
ValidationContext uberContext = new ValidationContext(AppModule.class, appModule.getValidation().getJarPath()); for (ValidationContext context : contexts) { for (ValidationError error : context.getErrors()) { uberContext.addError(error); for (ValidationFailure failure : context.getFailures()) { uberContext.addFailure(failure); for (ValidationWarning warning : context.getWarnings()) { uberContext.addWarning(warning); validationFailedException = new ValidationFailedException("Module failed validation. "+uberContext.getModuleType()+"(path="+uberContext.getJarPath()+")", uberContext, validationFailedException);
private void fail(final String component, final String key, final Object... details) { getValidationContext().fail(component, key, details); }
public boolean hasErrors() { if (validation.hasErrors()) return true; for (EjbModule module : ejbModules) { if (module.getValidation().hasErrors()) return true; } for (ClientModule module : clientModules) { if (module.getValidation().hasErrors()) return true; } for (ConnectorModule module : connectorModules) { if (module.getValidation().hasErrors()) return true; } for (WebModule module : webModules) { if (module.getValidation().hasErrors()) return true; } return false; }
public boolean hasFailures() { if (validation.hasFailures()) return true; for (EjbModule module : ejbModules) { if (module.getValidation().hasFailures()) return true; } for (ClientModule module : clientModules) { if (module.getValidation().hasFailures()) return true; } for (ConnectorModule module : connectorModules) { if (module.getValidation().hasFailures()) return true; } for (WebModule module : webModules) { if (module.getValidation().hasFailures()) return true; } return false; }
public AppModule validate(final AppModule appModule) { final ClassLoader loader = Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(appModule.getClassLoader()); // be sure to not mix classloaders try { final ValidationRule[] rules = getValidationRules(); for (int i = 0; i < rules.length; i++) { rules[i].validate(appModule); } } catch (final Throwable e) { e.printStackTrace(System.out); final ValidationError err = new ValidationError("cannot.validate"); err.setCause(e); err.setDetails(e.getMessage()); appModule.getValidation().addError(err); } finally { Thread.currentThread().setContextClassLoader(loader); } return appModule; }
public void warn(final String component, final String key, final Object... details) { final ValidationWarning warning = new ValidationWarning(key); warning.setDetails(details); warning.setComponentName(component); addWarning(warning); }
private void error(final String componentName, final String key, final Object... details) { module.getValidation().error(componentName, key, details); }
final ValidationContext uberContext = new ValidationContext(appModule); for (final ValidationContext context : contexts) { for (final ValidationError error : context.getErrors()) { uberContext.addError(error); for (final ValidationFailure failure : context.getFailures()) { uberContext.addFailure(failure); for (final ValidationWarning warning : context.getWarnings()) { uberContext.addWarning(warning); throw new ValidationFailedException("Module failed validation. " + uberContext.getModuleType() + "(name=" + uberContext.getName() + ")", uberContext, validationFailedException);
public boolean isValid() { ValidationContext context = validate(); return !context.hasFailures() && !context.hasErrors(); }
private void fail(String component, String key, Object... details) { getValidationContext().fail(component, key, details); }
public boolean hasErrors() { if (validation.hasErrors()) { return true; } for (final EjbModule module : ejbModules) { if (module.getValidation().hasErrors()) { return true; } } for (final ClientModule module : clientModules) { if (module.getValidation().hasErrors()) { return true; } } for (final ConnectorModule module : connectorModules) { if (module.getValidation().hasErrors()) { return true; } } for (final WebModule module : webModules) { if (module.getValidation().hasErrors()) { return true; } } return false; }
public boolean hasFailures() { if (validation.hasFailures()) { return true; } for (final EjbModule module : ejbModules) { if (module.getValidation().hasFailures()) { return true; } } for (final ClientModule module : clientModules) { if (module.getValidation().hasFailures()) { return true; } } for (final ConnectorModule module : connectorModules) { if (module.getValidation().hasFailures()) { return true; } } for (final WebModule module : webModules) { if (module.getValidation().hasFailures()) { return true; } } return false; }
public void error(final String component, final String key, final Object... details) { final ValidationError error = new ValidationError(key); error.setDetails(details); error.setComponentName(component); addError(error); }