Author: dennyxu
Date: 2009-08-04 02:21:53 -0400 (Tue, 04 Aug 2009)
New Revision: 16954
Modified:
trunk/bpel/plugins/org.eclipse.bpel.validator/src/org/eclipse/bpel/validator/Validator.java
Log:
JBIDE-4699: hook bpel validator with project build action
Modified:
trunk/bpel/plugins/org.eclipse.bpel.validator/src/org/eclipse/bpel/validator/Validator.java
===================================================================
---
trunk/bpel/plugins/org.eclipse.bpel.validator/src/org/eclipse/bpel/validator/Validator.java 2009-08-03
22:29:19 UTC (rev 16953)
+++
trunk/bpel/plugins/org.eclipse.bpel.validator/src/org/eclipse/bpel/validator/Validator.java 2009-08-04
06:21:53 UTC (rev 16954)
@@ -10,9 +10,15 @@
*******************************************************************************/
package org.eclipse.bpel.validator;
+import java.util.ArrayList;
+import java.util.List;
+
import org.eclipse.bpel.validator.model.IProblem;
+import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceVisitor;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IAdapterManager;
@@ -75,7 +81,12 @@
String s[] = helper.getURIs();
if (s.length < 1) {
- return ;
+ if(helper instanceof ValidatorHelper){
+ s = getURIsByProject(((ValidatorHelper)helper).getProject());
+ }
+ else{
+ return ;
+ }
}
for (String f : s) {
@@ -108,9 +119,32 @@
}
}
+ private String[] getURIsByProject(IProject project){
+
+ final List<String> bpelFolders = new ArrayList<String>();
+ IResourceVisitor bpelFolderFinder = new IResourceVisitor() {
+
+ public boolean visit(IResource resource) throws CoreException {
+ if( resource.getType() == IResource.FILE){
+ if("bpel".equals(resource.getFileExtension())){
+ bpelFolders.add(resource.getFullPath().toOSString());
+ return false;
+ }
+ }
+ return true;
+ }
+ };
+ try {
+ project.accept(bpelFolderFinder);
+ } catch (CoreException e) {
+ e.printStackTrace();
+ }
+
+ String[] URIs = new String[bpelFolders.size()];
+ return bpelFolders.toArray(URIs);
+ }
-
void p(String msg) {
if (bDebug) {
System.out.printf("[%1$s]>> %2$s\n", getClass().getName(),msg);
Show replies by date