@Inject public ValidatorTester(T validator, EValidatorRegistrar registrar, @Named(Constants.LANGUAGE_NAME) final String languageName) { this.validator = validator; EValidator.Registry originalRegistry = registrar.getRegistry(); EValidatorRegistryImpl newRegistry = new EValidatorRegistryImpl(); registrar.setRegistry(newRegistry); this.validator.register(registrar); diagnostician = new Diagnostician(newRegistry) { @Override public java.util.Map<Object,Object> createDefaultContext() { java.util.Map<Object,Object> map = super.createDefaultContext(); map.put(AbstractInjectableValidator.CURRENT_LANGUAGE_NAME, languageName); return map; } }; registrar.setRegistry(originalRegistry); validatorCalled = false; }
@Inject public void register(EValidatorRegistrar registrar) { List<EPackage> packages = getEPackages(); if (packages.size()==0) { throw new IllegalStateException("No EPackages were registered for the validator "+getClass().getName()+" please override and implement getEPackages()."); } for (EPackage ePackage : packages) { registrar.register(ePackage, this); } }
public void register(EPackage ePackage, EValidator registerMe) { EValidator validator = getRegistry().getEValidator(ePackage); if (validator == null) { validator = compositeProvider.get(); } else if (!(validator instanceof CompositeEValidator)) { CompositeEValidator newValidator = compositeProvider.get(); newValidator.addValidator(validator); validator = newValidator; } ((CompositeEValidator) validator).addValidator(registerMe); getRegistry().put(ePackage, validator); }
@Inject public ValidatorTester(T validator, EValidatorRegistrar registrar, @Named(Constants.LANGUAGE_NAME) final String languageName) { this.validator = validator; EValidator.Registry originalRegistry = registrar.getRegistry(); EValidatorRegistryImpl newRegistry = new EValidatorRegistryImpl(); registrar.setRegistry(newRegistry); this.validator.register(registrar); diagnostician = new Diagnostician(newRegistry) { @Override public java.util.Map<Object,Object> createDefaultContext() { java.util.Map<Object,Object> map = super.createDefaultContext(); map.put(AbstractInjectableValidator.CURRENT_LANGUAGE_NAME, languageName); return map; } }; registrar.setRegistry(originalRegistry); validatorCalled = false; }
@Inject protected void register(final EValidatorRegistrar registrar, final IGrammarAccess grammarAccess) { final AbstractRule entryRule = IterableExtensions.<AbstractRule>head(grammarAccess.getGrammar().getRules()); if ((entryRule instanceof ParserRule)) { registrar.register(((ParserRule)entryRule).getType().getClassifier().getEPackage(), this); } }
@Inject public ValidatorTester(T validator, EValidatorRegistrar registrar, @Named(Constants.LANGUAGE_NAME) final String languageName) { this.validator = validator; EValidator.Registry originalRegistry = registrar.getRegistry(); EValidatorRegistryImpl newRegistry = new EValidatorRegistryImpl(); registrar.setRegistry(newRegistry); this.validator.register(registrar); diagnostician = new Diagnostician(newRegistry) { @Override public java.util.Map<Object,Object> createDefaultContext() { java.util.Map<Object,Object> map = super.createDefaultContext(); map.put(AbstractInjectableValidator.CURRENT_LANGUAGE_NAME, languageName); return map; } }; registrar.setRegistry(originalRegistry); validatorCalled = false; }