/** * Return description * @return Description of failure */ public String toString() { return getMessage(); }
public void handleValidationWarning(String message) { ValidatorFailure vf = new ValidatorFailure(message); vf.setStatus(Status.WARNING); this.addItem(vf); }
public void collectInvalidObjects(Collection<LanguageObject> invalidObjects) { for (ValidatorFailure failure : getItems()) { if(failure.getInvalidObjectCount() > 0) { invalidObjects.addAll(failure.getInvalidObjects()); } } }
public String getFailureMessage() { Collection<ValidatorFailure> failures = getItems(); if(failures.size() == 0) { return QueryPlugin.Util.getString("ERR.015.012.0064"); //$NON-NLS-1$ } else if(failures.size() == 1) { return failures.iterator().next().toString(); } else { StringBuffer err = new StringBuffer(); err.append(QueryPlugin.Util.getString("ERR.015.012.0063")); //$NON-NLS-1$ Iterator<ValidatorFailure> iter = failures.iterator(); while(iter.hasNext()) { ValidatorFailure next = iter.next(); if (next.getStatus() != Status.ERROR) { err.append(next.getStatus()).append(" "); //$NON-NLS-1$ } err.append(next.getMessage()); if (iter.hasNext()) { err.append(", "); //$NON-NLS-1$ } } return err.toString(); } }
public void handleValidationError(String message) { this.addItem(new ValidatorFailure(message)); }
private void processReport(ModelMetaData model, AbstractMetadataRecord record, ValidatorReport report, ValidatorReport resolverReport) { if(resolverReport != null && resolverReport.hasItems()) { for (ValidatorFailure v:resolverReport.getItems()) { log(report, model, v.getStatus() == ValidatorFailure.Status.ERROR?Severity.ERROR:Severity.WARNING, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31080, record.getFullName(), v.getMessage())); } } }
public ValidatorFailure(String description) { super(VALIDATOR_FAILURE); setMessage(description); this.invalidObjects = Collections.emptyList(); }
private String printError(ValidatorReport report) { StringBuilder sb = new StringBuilder(); for (ValidatorFailure v:report.getItems()) { if (v.getStatus() == ValidatorFailure.Status.ERROR) { sb.append(v); sb.append("\n"); } } return sb.toString(); }
private void helpTest(String sql, QueryMetadataInterface metadata, String[] expectedInaccesible, VDBMetaData vdb, DataPolicyMetadata... roles) throws QueryParserException, QueryResolverException, TeiidComponentException { QueryParser parser = QueryParser.getQueryParser(); Command command = parser.parseCommand(sql); QueryResolver.resolveCommand(command, metadata); DataRolePolicyDecider dataRolePolicyDecider = createPolicyDecider(metadata, vdb, roles); AuthorizationValidationVisitor visitor = new AuthorizationValidationVisitor(dataRolePolicyDecider, context); //$NON-NLS-1$ ValidatorReport report = Validator.validate(command, metadata, visitor); if(report.hasItems()) { ValidatorFailure firstFailure = report.getItems().iterator().next(); // strings Set<String> expected = new HashSet<String>(Arrays.asList(expectedInaccesible)); // elements Set<String> actual = new HashSet<String>(); for (LanguageObject obj : firstFailure.getInvalidObjects()) { if (obj instanceof ElementSymbol) { actual.add(((ElementSymbol)obj).getName()); } else { actual.add(obj.toString()); } } assertEquals(expected, actual); } else if(expectedInaccesible.length > 0) { fail("Expected inaccessible objects, but got none."); //$NON-NLS-1$ } }
@Test public void testProcMetadataValidationError() throws Exception { String ddl = "create virtual procedure proc1(IN e1 varchar) RETURNS (e1 integer, e2 varchar(12)) AS begin create local temporary table x (e1 integer, e2 varchar not null); insert into x (e1) values (1); select * from x; end;"; buildModel("vm1", false, this.vdb, this.store, ddl); buildTransformationMetadata(); ValidatorReport report = new ValidatorReport(); new MetadataValidator.ResolveQueryPlans().execute(vdb, store, report, new MetadataValidator()); assertEquals("TEIID31080 vm1.proc1 validation error: Element x.e2 of x is neither nullable nor has a default value. A value must be specified in the insert.", report.getItems().iterator().next().toString()); }
public String getFailureMessage() { Collection<ValidatorFailure> failures = getItems(); if(failures.size() == 0) { return QueryPlugin.Util.getString("ERR.015.012.0064"); //$NON-NLS-1$ } else if(failures.size() == 1) { return failures.iterator().next().toString(); } else { StringBuffer err = new StringBuffer(); err.append(QueryPlugin.Util.getString("ERR.015.012.0063")); //$NON-NLS-1$ Iterator<ValidatorFailure> iter = failures.iterator(); while(iter.hasNext()) { ValidatorFailure next = iter.next(); if (next.getStatus() != Status.ERROR) { err.append(next.getStatus()).append(" "); //$NON-NLS-1$ } err.append(next.getMessage()); if (iter.hasNext()) { err.append(", "); //$NON-NLS-1$ } } return err.toString(); } }
public void handleValidationError(String message, Collection<? extends LanguageObject> invalidObjs) { this.addItem(new ValidatorFailure(message, invalidObjs)); }
private void processReport(ModelMetaData model, AbstractMetadataRecord record, ValidatorReport report, ValidatorReport resolverReport) { if(resolverReport != null && resolverReport.hasItems()) { for (ValidatorFailure v:resolverReport.getItems()) { log(report, model, v.getStatus() == ValidatorFailure.Status.ERROR?Severity.ERROR:Severity.WARNING, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31080, record.getFullName(), v.getMessage())); } } }
public ValidatorFailure(String description) { super(VALIDATOR_FAILURE); setMessage(description); this.invalidObjects = Collections.emptyList(); }
public String getFailureMessage() { Collection<ValidatorFailure> failures = getItems(); if(failures.size() == 0) { return QueryPlugin.Util.getString("ERR.015.012.0064"); //$NON-NLS-1$ } else if(failures.size() == 1) { return failures.iterator().next().toString(); } else { StringBuffer err = new StringBuffer(); err.append(QueryPlugin.Util.getString("ERR.015.012.0063")); //$NON-NLS-1$ Iterator<ValidatorFailure> iter = failures.iterator(); while(iter.hasNext()) { ValidatorFailure next = iter.next(); if (next.getStatus() != Status.ERROR) { err.append(next.getStatus()).append(" "); //$NON-NLS-1$ } err.append(next.getMessage()); if (iter.hasNext()) { err.append(", "); //$NON-NLS-1$ } } return err.toString(); } }
protected void handleValidationError(String message) { this.report.addItem(new ValidatorFailure(message)); }
private void processReport(ModelMetaData model, AbstractMetadataRecord record, ValidatorReport report, ValidatorReport resolverReport) { if(resolverReport != null && resolverReport.hasItems()) { for (ValidatorFailure v:resolverReport.getItems()) { log(report, model, v.getStatus() == ValidatorFailure.Status.ERROR?Severity.ERROR:Severity.WARNING, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31080, record.getFullName(), v.getMessage())); } } }
/** * Return description * @return Description of failure */ public String toString() { return getMessage(); }
public void handleValidationWarning(String message) { ValidatorFailure vf = new ValidatorFailure(message); vf.setStatus(Status.WARNING); this.addItem(vf); }
public void collectInvalidObjects(Collection<LanguageObject> invalidObjects) { for (ValidatorFailure failure : getItems()) { if(failure.getInvalidObjectCount() > 0) { invalidObjects.addAll(failure.getInvalidObjects()); } } }