[jboss-svn-commits] JBL Code SVN: r6171 - labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Sep 12 09:14:16 EDT 2006


Author: wrzep
Date: 2006-09-12 09:14:13 -0400 (Tue, 12 Sep 2006)
New Revision: 6171

Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CheckOutEditor.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesEvaluator.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesPlugin.java
Log:
JBLAB-599
"svn: too many open files" fix(?)

Pawel


Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CheckOutEditor.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CheckOutEditor.java	2006-09-12 13:05:36 UTC (rev 6170)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CheckOutEditor.java	2006-09-12 13:14:13 UTC (rev 6171)
@@ -27,6 +27,7 @@
 import java.io.IOException;
 import java.io.LineNumberReader;
 import java.io.OutputStream;
+import java.io.RandomAccessFile;
 
 import org.jboss.logging.Logger;
 import org.tmatesoft.svn.core.SVNCommitInfo;
@@ -60,6 +61,13 @@
 		myDeltaProcessor = new SVNDeltaProcessor();
 		
 		log = Logger.getLogger(CheckOutEditor.class);
+		
+		try {
+			file = File.createTempFile("labsTempFileJMM", "CodeLinesEvaluator");
+		} catch (IOException e) {
+
+			log.error("Can't create temp file,", e);
+		}
 	}
 	
 	public long getCodeLines() {
@@ -100,15 +108,25 @@
 			return;
 		}
 		
+		truncateFile(file);
+		
+		myDeltaProcessor.applyTextDelta(null, file, false);
+	}
+
+	private void truncateFile(File file) throws SVNException {
+		
 		try {
-			file = File.createTempFile("JBoss", "CodeLinesEvaluator");
+			
+			RandomAccessFile f = new RandomAccessFile(file, "rw");
+			f.setLength(0);
+			
 		} catch (IOException e) {
-
+			
+			log.warn("Can't truncate file", e);
+			
 			throw new SVNException(SVNErrorMessage.
 											create(SVNErrorCode.UNKNOWN),e);
 		}
-		
-		myDeltaProcessor.applyTextDelta(null, file, false);
 	}
 
 	public OutputStream textDeltaChunk(String path, SVNDiffWindow diffWindow) 

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesEvaluator.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesEvaluator.java	2006-09-12 13:05:36 UTC (rev 6170)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesEvaluator.java	2006-09-12 13:14:13 UTC (rev 6171)
@@ -54,6 +54,8 @@
 public class CodeLinesEvaluator {
 	
 	private static Logger log = Logger.getLogger(CodeLinesEvaluator.class);
+	
+	private static CheckOutEditor editor = new CheckOutEditor();
 
 	/**
 	 * Evaluates number of code lines in files located in secure SVN repository.
@@ -83,8 +85,6 @@
 										String password) throws SVNException {
 		
 		SVNRepository repository = getRepository(url, userName, password);
-		
-		CheckOutEditor editor = new CheckOutEditor();
 	
 		repository.checkout(SVNRevision.HEAD.getNumber(), "", true, editor);
         
@@ -297,7 +297,7 @@
 			ret = getAddedCodeLines(repository, path,
 											fromRev, SVNRevision.HEAD);
 		} catch (SVNException e) {
-			e.printStackTrace();
+			log.warn("Failed to evaluate added code lines,", e);
 		}
 		
 		return ret;

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesPlugin.java	2006-09-12 13:05:36 UTC (rev 6170)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesPlugin.java	2006-09-12 13:14:13 UTC (rev 6171)
@@ -72,9 +72,12 @@
 				String userName = repo.getUsername();
 				String password = repo.getPassword();
 				
+				log.info("Analyzing repository " + url + 
+											"(project: " + projectId + ")..."); 
+				
 				cl = getValue(url, userName, password);
 				
-				log.debug("Project " + projectId  + 
+				log.info("Project " + projectId  + 
 										". Number of code lines: " + cl);
 				
 				cachedValues.put(projectId, new Long(cl));




More information about the jboss-svn-commits mailing list