[jboss-svn-commits] JBL Code SVN: r35324 - in labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools: utils and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Sep 28 02:09:03 EDT 2010


Author: dennyxu
Date: 2010-09-28 02:09:03 -0400 (Tue, 28 Sep 2010)
New Revision: 35324

Modified:
   labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/Activator.java
   labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/messages.properties
   labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/ActionUtils.java
   labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/GuvnorMetadataUtils.java
   labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/ResourceProperties.java
   labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/StreamProcessingUtils.java
   labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/WebDavClient.java
   labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/RepositoryView.java
Log:
Merge fixes from trunk 

Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/Activator.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/Activator.java	2010-09-28 05:28:06 UTC (rev 35323)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/Activator.java	2010-09-28 06:09:03 UTC (rev 35324)
@@ -45,10 +45,12 @@
 	
 	private static GuvnorLocationManager locManager;
 	
+	private ResourceChangeListener rcListner;
 	/**
 	 * The constructor
 	 */
 	public Activator() {
+		rcListner = new ResourceChangeListener(); 
 	}
 	
 	public static GuvnorLocationManager getLocationManager() {
@@ -64,7 +66,7 @@
 	public void start(BundleContext context) throws Exception {
 		super.start(context);
 		plugin = this;
-		getWorkspace().addResourceChangeListener(new ResourceChangeListener());
+		getWorkspace().addResourceChangeListener(rcListner);
 	}
 
 	/*
@@ -74,6 +76,8 @@
 	public void stop(BundleContext context) throws Exception {
 		plugin = null;
 		super.stop(context);
+		getWorkspace().removeResourceChangeListener(rcListner);
+
 	}
 
 	/**

Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/messages.properties
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/messages.properties	2010-09-28 05:28:06 UTC (rev 35323)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/messages.properties	2010-09-28 06:09:03 UTC (rev 35324)
@@ -102,3 +102,5 @@
 version.dialog.message=Choose a version for {0}
 warning=Guvnor Repository Warning
 rep.connect.fail=Server not reachable
+error.message.isfolder=The file "{0}" is not a valid Guvnor Resource. \nNo file was added.
+error.message.invalid.filename=The file "{0}" has no postfix. \nNo file was added.

Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/ActionUtils.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/ActionUtils.java	2010-09-28 05:28:06 UTC (rev 35323)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/ActionUtils.java	2010-09-28 06:09:03 UTC (rev 35324)
@@ -41,6 +41,10 @@
 			for (Iterator<Object> it = sel.iterator(); it.hasNext();) {
 				Object oneSelection = it.next();
 				if (oneSelection instanceof IFile) {
+					if(!(((IFile)oneSelection).getName().indexOf(".") > 0)){
+						res = false;
+						break;
+					}
 					GuvnorMetadataProps props = 
 						GuvnorMetadataUtils.getGuvnorMetadata((IFile)oneSelection);
 					if ((guvnorControlled && props == null)

Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/GuvnorMetadataUtils.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/GuvnorMetadataUtils.java	2010-09-28 05:28:06 UTC (rev 35323)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/GuvnorMetadataUtils.java	2010-09-28 06:09:03 UTC (rev 35324)
@@ -215,6 +215,15 @@
 	}
 	
 	public static GuvnorMetadataProps loadGuvnorMetadata(IFile mdFile) throws Exception {
+		if(!mdFile.isTeamPrivateMember()){
+			mdFile.setTeamPrivateMember(true);
+			mdFile.setDerived(true, null);
+			if(mdFile.getParent().getName().endsWith(".guvnorinfo")){
+				mdFile.getParent().setTeamPrivateMember(true);
+				mdFile.getParent().setDerived(true, null);
+			}
+		}
+		
 		Properties props = new Properties();
 		InputStream contents = mdFile.getContents();
 		
@@ -266,15 +275,23 @@
 							controlledFile.removeLastSegments(1).append(".guvnorinfo")); //$NON-NLS-1$
 		if (!mdFolder.exists()) {
 			mdFolder.create(true, true, null);
+			mdFolder.setTeamPrivateMember(true);
+			mdFolder.setDerived(true, null);
 		}
+		
 		IFile mdFile = root.getFile(
 						mdFolder.getFullPath().append("." + controlledFile.lastSegment())); //$NON-NLS-1$
+		
 		Properties props = new Properties();
 		if (!mdFile.exists()) {
 			mdFile.create(new ByteArrayInputStream(new byte[] {}), true, null);
+			mdFile.setTeamPrivateMember(true);
+			mdFile.setDerived(true, null);
 		} else {
 			props.load(mdFile.getContents());
 		}
+		
+		
 		if (mdProps.getRepository() != null) {
 			props.put("repository", mdProps.getRepository()); //$NON-NLS-1$
 		}

Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/ResourceProperties.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/ResourceProperties.java	2010-09-28 05:28:06 UTC (rev 35323)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/ResourceProperties.java	2010-09-28 06:09:03 UTC (rev 35324)
@@ -43,13 +43,13 @@
 		return creationDate != null?creationDate:""; //$NON-NLS-1$
 	}
 	public void setCreationDate(String creationDate) {
-		this.creationDate = creationDate;
+		this.creationDate = StreamProcessingUtils.parseISODateFormat(creationDate);
 	}
 	public String getLastModifiedDate() {
 		return lastModifiedDate != null?lastModifiedDate:""; //$NON-NLS-1$
 	}
 	public void setLastModifiedDate(String lastModifiedDate) {
-		this.lastModifiedDate = lastModifiedDate;
+		this.lastModifiedDate = StreamProcessingUtils.parseISODateFormat(lastModifiedDate);
 	}
 	public String getRevision() {
 		return revision != null?revision:""; //$NON-NLS-1$

Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/StreamProcessingUtils.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/StreamProcessingUtils.java	2010-09-28 05:28:06 UTC (rev 35323)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/StreamProcessingUtils.java	2010-09-28 06:09:03 UTC (rev 35324)
@@ -20,7 +20,11 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URLDecoder;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.HashMap;
+import java.util.Locale;
 import java.util.Map;
 
 import javax.xml.parsers.DocumentBuilder;
@@ -36,6 +40,14 @@
  */
 public class StreamProcessingUtils {
 	
+    private static final SimpleDateFormat CREATION_DATE_FORMAT = new SimpleDateFormat(
+    "yyyy-MM-dd'T'HH:mm:ss'Z'");
+    
+    private static final SimpleDateFormat LAST_MODIFIED_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
+    
+    protected static final SimpleDateFormat GUNVOR_TOOLS_DATE_FORMAT = new SimpleDateFormat(
+            "EEE, dd MMM yyyy HH:mm:ss z", Locale.getDefault());
+	
 	public static String getStreamContents(InputStream is) throws IOException {
 		byte[] buffer = new byte[1000];
   		int c = 0;
@@ -111,4 +123,30 @@
 //System.out.println("Returning " + res + " from " + base + ", " + extension);
 		return res;
 	}
+	
+	
+	public static String parseISODateFormat(String dateStr) {
+
+		if (dateStr == null)
+			return null;
+		
+		String val = dateStr;
+
+		try {
+			if (dateStr.indexOf('T') == 10 && dateStr.endsWith("Z")) {
+				Date date = CREATION_DATE_FORMAT.parse(dateStr);
+				val = GUNVOR_TOOLS_DATE_FORMAT.format(date);
+				
+			} else if (dateStr.indexOf('T') == 10) {
+				Date date = LAST_MODIFIED_DATE_FORMAT.parse(dateStr);
+				val = GUNVOR_TOOLS_DATE_FORMAT.format(date);
+			}
+			
+		} 
+		catch (ParseException e) {
+			
+		}
+
+		return val;
+	}
 }

Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/WebDavClient.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/WebDavClient.java	2010-09-28 05:28:06 UTC (rev 35323)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/utils/webdav/WebDavClient.java	2010-09-28 06:09:03 UTC (rev 35324)
@@ -133,10 +133,14 @@
 				if (val != null) {
 					ResourceProperties resProps = props.get(oneKey);
 					StringTokenizer tokens = new StringTokenizer(val, ","); //$NON-NLS-1$
-					String dateStamp = tokens.nextToken();
-					String revision = tokens.nextToken();
-					resProps.setLastModifiedDate(dateStamp);
-					resProps.setRevision(revision);
+//					String dateStamp = tokens.nextToken();
+//					String revision = tokens.nextToken();
+					if(tokens.hasMoreElements()){
+						resProps.setLastModifiedDate(tokens.nextToken());
+					}
+					if(tokens.hasMoreElements()){
+						resProps.setRevision(tokens.nextToken());
+					}
 				} 
 			}
 		} finally {
@@ -200,10 +204,14 @@
 			String val = guvProps.getProperty(filename);
 			if (val != null) {
 				StringTokenizer tokens = new StringTokenizer(val, ","); //$NON-NLS-1$
-				String dateStamp = tokens.nextToken();
-				String revision = tokens.nextToken();
-				props.setLastModifiedDate(dateStamp);
-				props.setRevision(revision);
+//				String dateStamp = tokens.nextToken();
+//				String revision = tokens.nextToken();
+				if(tokens.hasMoreElements()){
+					props.setLastModifiedDate(tokens.nextToken());
+				}
+				if(tokens.hasMoreElements()){
+					props.setRevision(tokens.nextToken());
+				}
 			} else {
 				Exception nfe = new Exception("Failed to get Guvnor properties for " + filename); //$NON-NLS-1$
 				Activator.getDefault().writeLog(IStatus.WARNING, nfe.getMessage(), nfe);

Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/RepositoryView.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/RepositoryView.java	2010-09-28 05:28:06 UTC (rev 35323)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-eclipse/org.guvnor.tools/src/org/guvnor/tools/views/RepositoryView.java	2010-09-28 06:09:03 UTC (rev 35324)
@@ -186,6 +186,11 @@
 					return false;
 				}
 				String[] items = (String[])data;
+				
+				boolean isvalid = validateInputResource(items);
+				
+				if(!isvalid) return false;
+				
 				String[] errors = processDrop(targetNode, items);
 				if (errors.length != 0) {
 					StringBuilder msg = new StringBuilder();
@@ -222,6 +227,27 @@
 		});
 	}
 	
+	private boolean validateInputResource(String[] filenames){
+		
+		for(String filename : filenames){
+			File file = new File(filename);
+			String msg = "";
+			if(!file.isFile()){
+				msg = MessageFormat.format(Messages.getString("error.message.isfolder"), filename);
+				MessageDialog.openError(null, "Problem Occurred", msg);
+				return false;
+			}
+			
+			String name = file.getName();
+			if(!(name.indexOf(".") > 0)){
+				msg = MessageFormat.format(Messages.getString("error.message.invalid.filename"), filename);
+				MessageDialog.openError(null, "Problem Occurred", msg);
+				return false;
+			}
+		}
+		
+		return true;
+	}
 	private String[] processDrop(TreeParent target, String[] items) {
 		List<String> errors = new ArrayList<String>();
 		



More information about the jboss-svn-commits mailing list