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