package org.jboss.tools.seam.core.test.validation; import java.util.List; import java.util.Set; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IMarker; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IStatus; import org.eclipse.wst.validation.internal.core.ValidationException; import org.eclipse.wst.validation.internal.provisional.core.IMessage; import org.eclipse.wst.validation.internal.provisional.core.IReporter; import org.jboss.tools.common.text.ITextSourceReference; import org.jboss.tools.common.validation.ContextValidationHelper; import org.jboss.tools.common.validation.IProjectValidationContext; import org.jboss.tools.common.validation.IValidatingProjectTree; import org.jboss.tools.common.validation.IValidationErrorManager; import org.jboss.tools.common.validation.IValidator; import org.jboss.tools.common.validation.ValidationErrorManager; import org.jboss.tools.common.validation.ValidatorManager; import org.jboss.tools.seam.core.SeamCoreBuilder; import org.jboss.tools.seam.internal.core.validation.SeamProjectPropertyValidator; import org.jboss.tools.seam.internal.core.validation.SeamValidationErrorManager; public class SeamProjectPropertyValidatorWrapper extends SeamProjectPropertyValidator implements IValidatorSupport, IValidator, IValidationErrorManager{ ValidatorSupport support; SeamValidationErrorManager errorManager; public SeamProjectPropertyValidatorWrapper(IProject project) { this.support = new ValidatorSupport(project,(IValidator)this); } public void validate() throws ValidationException { support.validate(); } public void add(IMarker marker) { support.add(marker); } public boolean isMessageCreated(String template, Object[] parameters) { return support.isMessageCreated(template, parameters); } public void addFile(IFile o) { support.addFile(o); } public List<IMarker> getMarkers() { return support.getMarkers(); } public void addMessage(org.eclipse.wst.validation.internal.provisional.core.IValidator origin, IMessage message) { support.addMessage(origin, message); } public void validate(IFile file) throws ValidationException { support.validate(file); } public boolean isMessageCreatedOnLine(String markerTemplate, Object[] parameters, int lineNumber) throws CoreException { return support.isMessageCreatedOnLine(markerTemplate, parameters, lineNumber); } public IStatus validate(Set<IFile> changedFiles, IProject project, ContextValidationHelper validationHelper, IProjectValidationContext context, ValidatorManager manager, IReporter reporter) throws ValidationException { errorManager = new SeamValidationErrorManager() { /* (non-Javadoc) * @see org.jboss.tools.jst.web.kb.internal.validation.ValidationErrorManager#getMarkerOwner() */ protected Class getMarkerOwner() { return SeamProjectPropertyValidatorWrapper.this.getClass(); } /* (non-Javadoc) * @see org.jboss.tools.jst.web.kb.internal.validation.ValidationErrorManager#init(org.eclipse.core.resources.IProject, org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper, org.eclipse.wst.validation.internal.provisional.core.IValidator, org.eclipse.wst.validation.internal.provisional.core.IReporter) */ public void init(IProject project, ContextValidationHelper validationHelper, IProjectValidationContext validationContext, org.eclipse.wst.validation.internal.provisional.core.IValidator manager, IReporter reporter) { setProject(project); setValidationContext(validationContext); setValidationManager(manager); setReporter(reporter); setMarkerId(SeamValidationErrorManager.MARKED_SEAM_PROJECT_MESSAGE_GROUP); } @Override protected void registerPreferenceInfo() { // TODO Auto-generated method stub } }; //errorManager.init(project, null, this, reporter); return validateInJob(validationHelper, reporter); } public IStatus validateAll(IProject project, ContextValidationHelper validationHelper, IProjectValidationContext context, ValidatorManager manager, IReporter reporter) throws ValidationException { return null; } public String getId() { return "id"; } public String getBuilderId() { return SeamCoreBuilder.BUILDER_ID; } public IValidatingProjectTree getValidatingProjects(IProject project) { return null; } public boolean shouldValidate(IProject project) { return true; } public boolean isEnabled(IProject project) { return true; } protected IValidationErrorManager getTestValidationErrorManager(){ return this; } /* * (non-Javadoc) * @see org.jboss.tools.jst.web.kb.validation.IValidationErrorManager#init(org.eclipse.core.resources.IProject, org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper, org.jboss.tools.jst.web.kb.validation.IProjectValidationContext, org.eclipse.wst.validation.internal.provisional.core.IValidator, org.eclipse.wst.validation.internal.provisional.core.IReporter) */ public void init( IProject project, ContextValidationHelper validationHelper, IProjectValidationContext validationContext, org.eclipse.wst.validation.internal.provisional.core.IValidator manager, IReporter reporter) { ContextValidationHelper vh = new ContextValidationHelper(); vh.initialize(); errorManager.init(project, vh, validationContext, manager, reporter); } public IMarker addError(String message, String preferenceKey, String[] messageArguments, ITextSourceReference location, IResource target) { IMarker marker = errorManager.addError(message, preferenceKey, messageArguments, location, target); support.add(marker); return marker; } public IMarker addError(String message, String preferenceKey, String[] messageArguments, IResource target) { IMarker marker = errorManager.addError(message, preferenceKey, messageArguments, target); support.add(marker); return marker; } public IMarker addError(String message, String preferenceKey, ITextSourceReference location, IResource target) { IMarker marker = errorManager.addError(message, preferenceKey, location, target); support.add(marker); return marker; } public IMarker addError(String message, String preferenceKey, String[] messageArguments, int length, int offset, IResource target) { IMarker marker = errorManager.addError(message, preferenceKey, messageArguments, length, offset, target); support.add(marker); return marker; } public IMarker addError(String message, int severity, String[] messageArguments, int lineNumber, int length, int offset, IResource target) { IMarker marker = errorManager.addError(message, severity, messageArguments, lineNumber, length, offset, target); support.add(marker); return marker; } public void displaySubtask(String message) { errorManager.displaySubtask(message); } public void displaySubtask(String message, String[] messageArguments) { errorManager.displaySubtask(message, messageArguments); } public void removeMessagesFromResources(Set<IResource> resources) { errorManager.removeMessagesFromResources(resources); } public void removeAllMessagesFromResource(IResource resource) { errorManager.removeAllMessagesFromResource(resource); } public IMarker addError(String message, String preferenceKey, String[] messageArguments, int lineNumber, int length, int offset, IResource target) { IMarker marker = errorManager.addError(message, preferenceKey, messageArguments, lineNumber, length, offset, target); support.add(marker); return marker; } @Override public void init( IProject project, ContextValidationHelper validationHelper, IProjectValidationContext validationContext, org.eclipse.wst.validation.internal.provisional.core.IValidator manager, IReporter reporter, boolean asYouTypeValidation) { this.init(project, validationHelper, validationContext, manager, reporter, false); } @Override public void setProblemType(String problemType) { // TODO Auto-generated method stub } @Override public void registerPreferenceInfo() { // TODO Auto-generated method stub } }