You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2009/08/24 15:25:30 UTC

svn commit: r807203 - /labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/

Author: simoneg
Date: Mon Aug 24 13:25:29 2009
New Revision: 807203

URL: http://svn.apache.org/viewvc?rev=807203&view=rev
Log:
LABS-398 : Working on jobs and workspace locks

Modified:
    labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/AddMagmaNatureHandler.java
    labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/DownloadSourcesJob.java
    labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/MagmaMavenListener.java
    labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/MagmaPDEUtils.java
    labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/RemoveMagmaNatureHandler.java
    labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/UpdateProjectSettingsHandler.java

Modified: labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/AddMagmaNatureHandler.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/AddMagmaNatureHandler.java?rev=807203&r1=807202&r2=807203&view=diff
==============================================================================
--- labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/AddMagmaNatureHandler.java (original)
+++ labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/AddMagmaNatureHandler.java Mon Aug 24 13:25:29 2009
@@ -20,6 +20,7 @@
 		for (Iterator<IProject> iterator = extractProjects.iterator(); iterator.hasNext();) {
 			IProject project = iterator.next();
 			try {
+				MLog.log("Calling addMagmaNature from AddMagmaNatureHandler");
 				MagmaPDEUtils.addMagmaNature(project, false);
 			} catch (CoreException e) {
 				MLog.exception(e, "While setting up magma project " + project.getName());

Modified: labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/DownloadSourcesJob.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/DownloadSourcesJob.java?rev=807203&r1=807202&r2=807203&view=diff
==============================================================================
--- labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/DownloadSourcesJob.java (original)
+++ labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/DownloadSourcesJob.java Mon Aug 24 13:25:29 2009
@@ -1,6 +1,8 @@
 package org.apache.magma.tools.magmaeclipse.basics;
 
 import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
 
 import org.apache.magma.tools.magmaeclipse.MLog;
 import org.apache.maven.embedder.ContainerCustomizer;
@@ -20,12 +22,16 @@
 
 public class DownloadSourcesJob extends Job {
 
+	private static Map<String, Long> checkTime = new HashMap<String, Long>();
+	
 	private IMavenProjectFacade mavenProject;
 	private MagmaProject myprg;
+	private boolean override;
 
-	public DownloadSourcesJob(IMavenProjectFacade mavenProject) {
+	public DownloadSourcesJob(IMavenProjectFacade mavenProject, boolean override) {
 		super("Downloading source packages");
 		this.mavenProject = mavenProject;
+		this.override = override;
 		myprg  = new MagmaProject(mavenProject.getProject(), "downloadSources");
 	}
 	
@@ -33,6 +39,7 @@
 
 	@Override
 	protected IStatus run(IProgressMonitor monitor) {
+		MLog.log("Downloading sources for " + mavenProject.getProject().getName());
 		monitor.beginTask("Downloading missing sources", IProgressMonitor.UNKNOWN);
 		try {
 			MavenEmbedderManager embman = MavenPlugin.getDefault().getMavenEmbedderManager();
@@ -45,23 +52,26 @@
 			
 			req.addEventMonitor(new EventMonitor() {
 				public void startEvent(String arg0, String arg1, long arg2) {
-					System.out.println("Start event " + arg0 + "  ,  " + arg1 + "  , " + arg2);
+					MLog.debug("Start event " + arg0 + "  ,  " + arg1 + "  , " + arg2);
 					
 				}
 				
 				public void errorEvent(String arg0, String arg1, long arg2, Throwable arg3) {
-					System.out.println("Error event " + arg0 + "  ,  " + arg1 + "  , " + arg2);
 					if (arg3 != null) {
-						arg3.printStackTrace();
+						MLog.exception(arg3, "Error event " + arg0 + "  ,  " + arg1 + "  , " + arg2);
+					} else {
+						MLog.debug("Error event " + arg0 + "  ,  " + arg1 + "  , " + arg2);						
 					}
 				}
 				
 				public void endEvent(String arg0, String arg1, long arg2) {
-					System.out.println("End event " + arg0 + "  ,  " + arg1 + "  , " + arg2);
+					MLog.debug("End event " + arg0 + "  ,  " + arg1 + "  , " + arg2);
+					MLog.log("Calling setupProjectJob from DownloadSourcesJob");
 					MagmaPDEUtils.setupProjectJob(mavenProject.getProject(), false);
 				}
 			});
 			myemb.execute(req);
+			checkTime.put(mavenProject.getProject().getName(), System.currentTimeMillis());
 			myemb.stop();
 		} catch (Exception e) {
 			MLog.exception(e, "While downloading sources");
@@ -74,6 +84,14 @@
 
 	@Override
 	public boolean shouldSchedule() {
+		Long lastcheck = checkTime.get(mavenProject.getProject().getName());
+		if (lastcheck != null) {
+			// Ten minutes
+			if (System.currentTimeMillis() - lastcheck < 600000 && !override) {
+				MLog.log("Not starting download job because done only " + (System.currentTimeMillis() - lastcheck) + " ms ago");
+				return false;
+			}
+		}
 		return manager.find(myprg).length == 0;
 	}
 	

Modified: labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/MagmaMavenListener.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/MagmaMavenListener.java?rev=807203&r1=807202&r2=807203&view=diff
==============================================================================
--- labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/MagmaMavenListener.java (original)
+++ labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/MagmaMavenListener.java Mon Aug 24 13:25:29 2009
@@ -48,6 +48,7 @@
 				IProject project = mavenProject.getProject();		
 				manager.downloadSources(project, null);
 				
+				MLog.log("Calling setupSources from MagmaMavenListener");
 				MagmaPDEUtils.setupSourceDependenciesJob(mavenProject, false);
 			}
 		} catch (Exception e) {

Modified: labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/MagmaPDEUtils.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/MagmaPDEUtils.java?rev=807203&r1=807202&r2=807203&view=diff
==============================================================================
--- labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/MagmaPDEUtils.java (original)
+++ labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/MagmaPDEUtils.java Mon Aug 24 13:25:29 2009
@@ -55,9 +55,10 @@
 	public static final String PLUGIN_ID = "org.apache.magma.tools.magmaeclipse"; //$NON-NLS-1$
 	public static final String ID_NATURE = PLUGIN_ID + ".magmanature"; //$NON-NLS-1$
 
-	private static final String ID_MAVEN_NATURE = "org.maven.ide.eclipse.maven2Nature";
-	private static final String ID_PREFERENCES = PLUGIN_ID;
-	private static final String ID_BUILDER = PLUGIN_ID + ".magmabuilder";
+	public static final String ID_MAVEN_NATURE = "org.maven.ide.eclipse.maven2Nature";
+	public static final String ID_PREFERENCES = PLUGIN_ID;
+	public static final String ID_BUILDER = PLUGIN_ID + ".magmabuilder";
+	public static final String ID_LAUNCH_TYPE = PLUGIN_ID + ".magmalaunch";
 
 	private static int previousExecutionTime;
 	private static RefreshPackageExplorerJob refreshJob;
@@ -269,6 +270,7 @@
 	 */
 	public static void internal_setupProject(IProject project, boolean complete,
 			IProgressMonitor mon) {
+		MLog.log("Called internal_setupProject on " + project.getName() + " complete :" + complete);
 		setupProjectStructure(project, complete, mon);
 		try {
 			if (project.hasNature(ID_MAVEN_NATURE)) {
@@ -309,6 +311,7 @@
 	 *            If given, this progress monitor is used
 	 */
 	public static void setupProject(final IProject project, final boolean complete, final IProgressMonitor mon) {
+		MLog.log("Called setupProject on " + project.getName() + " complete :" + complete);
 		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
 			protected void execute(IProgressMonitor monitor)
 					throws CoreException {
@@ -323,12 +326,13 @@
 	}
 	
 	public static void setupProjectJob(final IProject project, final boolean complete) {
+		MLog.log("Called setupProjectJob on " + project.getName() + " complete :" + complete);
 		Job setup = new Job("Setting up Magma project") {
 			private MagmaProject myprg = new MagmaProject(project, "setupProject");
 			
 			@Override
 			protected IStatus run(IProgressMonitor monitor) {
-				internal_setupProject(project, complete, monitor);
+				setupProject(project, complete, monitor);
 				return Status.OK_STATUS;
 			}
 			
@@ -346,12 +350,13 @@
 	}
 
 	public static void setupSourceDependenciesJob(final IMavenProjectFacade project, final boolean complete) {
+		MLog.log("Called setupSourceDependenciesJob on " + project.getProject().getName() + " complete :" + complete);
 		Job setup = new Job("Setting up Magma source folders") {
 			private MagmaProject myprg = new MagmaProject(project.getProject(), "setupSourceDependencies");
 			
 			@Override
 			protected IStatus run(IProgressMonitor monitor) {
-				setupSourceDependencies(project, false, monitor);
+				setupSourceDependencies(project, complete, monitor);
 				return Status.OK_STATUS;
 			}
 			
@@ -489,6 +494,7 @@
 	 */
 	public static void setupSourceDependencies
 		(final IMavenProjectFacade mavenProject, boolean complete, IProgressMonitor prog) {
+		MLog.log("Called setupSourceDependencies on " + mavenProject.getProject().getName() + " complete :" + complete);
 
 		try {		
 			MavenProject mp = mavenProject.getMavenProject(prog);
@@ -603,6 +609,7 @@
 							linkstoadd.add(ent);
 						}
 					} else {
+						MLog.log("Sources not found for " + depname);
 						downloadSources = true;
 						/*
 						MLog.debug("Downloading sources for " + art.getArtifactId());
@@ -654,7 +661,7 @@
 			}
 			
 			if (downloadSources) {
-				DownloadSourcesJob ds = new DownloadSourcesJob(mavenProject);
+				DownloadSourcesJob ds = new DownloadSourcesJob(mavenProject, complete);
 				ds.schedule();
 			}
 			

Modified: labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/RemoveMagmaNatureHandler.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/RemoveMagmaNatureHandler.java?rev=807203&r1=807202&r2=807203&view=diff
==============================================================================
--- labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/RemoveMagmaNatureHandler.java (original)
+++ labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/RemoveMagmaNatureHandler.java Mon Aug 24 13:25:29 2009
@@ -3,6 +3,7 @@
 import java.util.Iterator;
 import java.util.List;
 
+import org.apache.magma.tools.magmaeclipse.MLog;
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.resources.IProject;
@@ -24,6 +25,7 @@
 			IProject project = (IProject) iter.next();
 			try {
 				// Remove the Magma nature from the project
+				MLog.log("Calling removeMagmaNature from RemoveMagmaNatureHandler");
 				MagmaPDEUtils.removeMagmaNature(project);
 			} catch (CoreException e) {
 			}

Modified: labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/UpdateProjectSettingsHandler.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/UpdateProjectSettingsHandler.java?rev=807203&r1=807202&r2=807203&view=diff
==============================================================================
--- labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/UpdateProjectSettingsHandler.java (original)
+++ labs/magma/trunk/magma-eclipse/src/org/apache/magma/tools/magmaeclipse/basics/UpdateProjectSettingsHandler.java Mon Aug 24 13:25:29 2009
@@ -4,6 +4,7 @@
 import java.util.List;
 import java.util.Vector;
 
+import org.apache.magma.tools.magmaeclipse.MLog;
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.resources.IProject;
@@ -28,6 +29,7 @@
 		List<IProject> selected = extractProjects(event);
 		for (Iterator iter = selected.iterator(); iter.hasNext();) {
 			IProject project = (IProject) iter.next();
+			MLog.log("Calling setupProjectJob from UpdateProjectSettingsHolder");
 			MagmaPDEUtils.setupProjectJob(project, true);
 		}
 		return null;



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org