protected boolean shouldTestSerializer(XtextResource resource) { return !("org.eclipse.xtext.Xtext".equals(resource.getLanguageName()) // TODO: fix serializer issues in refactoring tests || "org.eclipse.xtext.ui.tests.refactoring.RefactoringTestLanguage".equals(resource.getLanguageName())); }
protected boolean shouldTestSerializer(XtextResource resource) { return !isSerializerTestDisabled && !("org.eclipse.xtext.Xtext".equals(resource.getLanguageName()) // TODO: fix serializer issues in refactoring tests || "org.eclipse.xtext.ui.tests.refactoring.RefactoringTestLanguage".equals(resource.getLanguageName())); }
protected boolean shouldTestSerializer(XtextResource resource) { return !isSerializerTestDisabled && !("org.eclipse.xtext.Xtext".equals(resource.getLanguageName()) // TODO: fix serializer issues in refactoring tests || "org.eclipse.xtext.ui.tests.refactoring.RefactoringTestLanguage".equals(resource.getLanguageName())); }
protected void assertLanguage(ResourceRecording change) { Resource resource = change.getResource(); if (resource instanceof XtextResource) { String resourceLanguage = ((XtextResource) resource).getLanguageName(); if (!serializerLanguage.equals(resourceLanguage)) { throw new IllegalArgumentException("Can't use serializer from language " + serializerLanguage + " to serialize a resource from language " + resourceLanguage + "."); } } }
protected String getCurrentLanguage(Map<Object, Object> context, EObject eObject) { String currentLanguage = (context != null) ? (String) context.get(CURRENT_LANGUAGE_NAME) : null; if(currentLanguage == null) { Resource resource = eObject.eResource(); if(resource instanceof XtextResource) currentLanguage = ((XtextResource) resource).getLanguageName(); else currentLanguage = ""; if(context != null) context.put(CURRENT_LANGUAGE_NAME, currentLanguage); } return currentLanguage; }
protected void checkLanguageResource(Resource eResource) { if (!LOG.isDebugEnabled()) return; if (eResource instanceof XtextResource) { String resourceLanguageName = ((XtextResource) eResource).getLanguageName(); if (!resourceLanguageName.equals(languageName)) { IllegalArgumentException e = new IllegalArgumentException("Expected language "+languageName+", but was "+resourceLanguageName); LOG.error(e.getMessage(), e); } } else if (eResource == null) { IllegalArgumentException e = new IllegalArgumentException("You tried to associate an element to a source element, that was not contained in a resource."); LOG.error(e.getMessage(), e); } else { IllegalArgumentException e = new IllegalArgumentException("Expected instanceof XtextResource, but was "+eResource); LOG.error(e.getMessage(), e); } }
/** * @since 2.4 */ protected void validate(Resource resource, EObject element, final CheckMode mode, final CancelIndicator monitor, IAcceptor<Issue> acceptor) { try { Map<Object, Object> options = Maps.newHashMap(); options.put(CheckMode.KEY, mode); options.put(CancelableDiagnostician.CANCEL_INDICATOR, monitor); // disable concrete syntax validation, since a semantic model that has been parsed // from the concrete syntax always complies with it - otherwise there are parse errors. options.put(ConcreteSyntaxEValidator.DISABLE_CONCRETE_SYNTAX_EVALIDATOR, Boolean.TRUE); // see EObjectValidator.getRootEValidator(Map<Object, Object>) options.put(EValidator.class, diagnostician); if (resource instanceof XtextResource) { options.put(AbstractInjectableValidator.CURRENT_LANGUAGE_NAME, ((XtextResource) resource).getLanguageName()); } Diagnostic diagnostic = diagnostician.validate(element, options); if (!diagnostic.getChildren().isEmpty()) { for (Diagnostic childDiagnostic : diagnostic.getChildren()) { issueFromEValidatorDiagnostic(childDiagnostic, acceptor); } } else { issueFromEValidatorDiagnostic(diagnostic, acceptor); } } catch (RuntimeException e) { log.error(e.getMessage(), e); } }
protected Adapter getOrInstall(Resource resource) { if (!(resource instanceof XtextResource)) { return new Adapter(); } if (resource instanceof JvmMemberInitializableResource) { ((JvmMemberInitializableResource) resource).ensureJvmMembersInitialized(); } String resourceLanguageName = ((XtextResource) resource).getLanguageName(); if (!languageName.equals(resourceLanguageName)){ return new Adapter(); } Adapter adapter = (Adapter) EcoreUtil.getAdapter(resource.eAdapters(), Adapter.class); if (adapter == null) { adapter = new Adapter(); resource.eAdapters().add(adapter); } return adapter; }