Author: snjeza
Date: 2012-04-25 06:59:03 -0400 (Wed, 25 Apr 2012)
New Revision: 40479
Modified:
trunk/examples/plugins/org.jboss.tools.project.examples.cheatsheet/src/org/jboss/tools/project/examples/cheatsheet/actions/ImportProjectExample.java
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/ProjectExamplesActivator.java
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/model/ProjectExampleUtil.java
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesWizard2.java
trunk/examples/tests/org.jboss.tools.project.examples.test/src/org/jboss/tools/project/examples/test/ProjectTest.java
trunk/maven/plugins/org.jboss.tools.maven.project.examples/src/org/jboss/tools/maven/project/examples/ImportMavenProjectExampleDelegate.java
Log:
JBIDE-11192 - Offline Support
Modified:
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/ProjectExamplesActivator.java
===================================================================
---
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/ProjectExamplesActivator.java 2012-04-25
09:35:42 UTC (rev 40478)
+++
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/ProjectExamplesActivator.java 2012-04-25
10:59:03 UTC (rev 40479)
@@ -11,6 +11,8 @@
package org.jboss.tools.project.examples;
import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -108,6 +110,7 @@
import org.jboss.tools.project.examples.configurators.DefaultJBossCentralConfigurator;
import org.jboss.tools.project.examples.configurators.IJBossCentralConfigurator;
import org.jboss.tools.project.examples.dialog.MarkerDialog;
+import org.jboss.tools.project.examples.filetransfer.ECFExamplesTransport;
import org.jboss.tools.project.examples.fixes.PluginFix;
import org.jboss.tools.project.examples.fixes.ProjectExamplesFix;
import org.jboss.tools.project.examples.fixes.SeamRuntimeFix;
@@ -130,6 +133,8 @@
*/
public class ProjectExamplesActivator extends AbstractUIPlugin {
+ private static final String SEPARATOR = "/";
+
private static final int DESCRIPTION_LENGTH = 100;
public static final String PROPERTY_PROJECT_NAME = "projectName";
//$NON-NLS-1$
@@ -441,7 +446,7 @@
return false;
}
File file = ProjectExampleUtil.getProjectExamplesFile(url, name,
- ".zip", monitor); //$NON-NLS-1$
+ ".zip", monitor); //$NON-NLS-1$
if (file == null) {
return false;
}
@@ -450,6 +455,31 @@
return true;
}
+ public static void copyFile(File inputFile, File outputFile)
+ throws FileNotFoundException, IOException {
+ InputStream in = null;
+ OutputStream out = null;
+ try {
+ in = new FileInputStream(inputFile);
+ out = new FileOutputStream(outputFile);
+ copy(in, out);
+ } finally {
+ if (in != null) {
+ try {
+ in.close();
+ } catch (Exception e) {
+ // ignore
+ }
+ }
+ if (out != null) {
+ try {
+ out.close();
+ } catch (Exception e) {
+ // ignore
+ }
+ }
+ }
+ }
public static void openWelcome(List<ProjectExample> projects) {
if (projects == null) {
return;
@@ -460,7 +490,7 @@
String urlString = project.getWelcomeURL();
urlString = replace(urlString, project);
URL url = null;
- if (urlString.startsWith("/")) { //$NON-NLS-1$
+ if (urlString.startsWith(SEPARATOR)) { //$NON-NLS-1$
IPath path = new Path(urlString);
IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(path);
if (resource instanceof IFile && resource.isAccessible()) {
@@ -977,7 +1007,7 @@
List<IMarker> markers = getMarkers(projects);
if (markers != null && markers.size() > 0) {
- Display.getCurrent().asyncExec(new Runnable() {
+ Display.getDefault().asyncExec(new Runnable() {
@Override
public void run() {
@@ -1066,7 +1096,7 @@
}
private String getImageId(ImageDescriptor imageDescriptor) {
- return PLUGIN_ID + "/" + imageDescriptor.hashCode(); //$NON-NLS-1$
+ return PLUGIN_ID + SEPARATOR + imageDescriptor.hashCode(); //$NON-NLS-1$
}
public Image getImage(String imagePath) {
Modified:
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/model/ProjectExampleUtil.java
===================================================================
---
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/model/ProjectExampleUtil.java 2012-04-25
09:35:42 UTC (rev 40478)
+++
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/model/ProjectExampleUtil.java 2012-04-25
10:59:03 UTC (rev 40479)
@@ -726,11 +726,11 @@
return file;
}
- private static File getFile(java.net.URL url2) {
+ private static File getFile(URL url) {
IPath location = ProjectExamplesActivator.getDefault()
.getStateLocation();
File root = location.toFile();
- String urlFile = url2.getFile();
+ String urlFile = url.getFile();
File file = new File(root, urlFile);
return file;
}
Modified:
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesWizard2.java
===================================================================
---
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesWizard2.java 2012-04-25
09:35:42 UTC (rev 40478)
+++
trunk/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesWizard2.java 2012-04-25
10:59:03 UTC (rev 40479)
@@ -26,6 +26,7 @@
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.ui.INewWizard;
@@ -199,6 +200,10 @@
private IStructuredSelection getSelection() {
if (fSelection == null) {
+ if (getActivePart() == null || getActivePart().getSite() == null
+ || getActivePart().getSite().getSelectionProvider() == null) {
+ return new StructuredSelection();
+ }
ISelection sel = getActivePart().getSite().getSelectionProvider()
.getSelection();
if (sel instanceof IStructuredSelection) {
Modified:
trunk/examples/plugins/org.jboss.tools.project.examples.cheatsheet/src/org/jboss/tools/project/examples/cheatsheet/actions/ImportProjectExample.java
===================================================================
---
trunk/examples/plugins/org.jboss.tools.project.examples.cheatsheet/src/org/jboss/tools/project/examples/cheatsheet/actions/ImportProjectExample.java 2012-04-25
09:35:42 UTC (rev 40478)
+++
trunk/examples/plugins/org.jboss.tools.project.examples.cheatsheet/src/org/jboss/tools/project/examples/cheatsheet/actions/ImportProjectExample.java 2012-04-25
10:59:03 UTC (rev 40479)
@@ -79,25 +79,12 @@
@Override
public IStatus runInWorkspace(IProgressMonitor monitor)
throws CoreException {
- String urlString = project.getUrl();
- String name = project.getName();
- URL url = null;
- try {
- url = new URL(urlString);
- } catch (MalformedURLException e) {
- ProjectExamplesActivator.log(e);
- return Status.CANCEL_STATUS;
- }
- final File file = ProjectExampleUtil.getProjectExamplesFile(
- url, name, ".zip", monitor); //$NON-NLS-1$
- if (file == null) {
- return Status.CANCEL_STATUS;
- }
+ ProjectExamplesActivator.downloadProject(project, monitor);
setName(Messages.NewProjectExamplesWizard_Importing);
try {
IImportProjectExample importProjectExample =
ProjectExamplesActivator.getDefault().getImportProjectExample(project.getImportType());
- if (importProjectExample.importProject(project, file, new HashMap<String,
Object>(), monitor)) {
+ if (importProjectExample.importProject(project, project.getFile(), new
HashMap<String, Object>(), monitor)) {
importProjectExample.fix(project, monitor);
}
} catch (Exception e) {
Modified:
trunk/examples/tests/org.jboss.tools.project.examples.test/src/org/jboss/tools/project/examples/test/ProjectTest.java
===================================================================
---
trunk/examples/tests/org.jboss.tools.project.examples.test/src/org/jboss/tools/project/examples/test/ProjectTest.java 2012-04-25
09:35:42 UTC (rev 40478)
+++
trunk/examples/tests/org.jboss.tools.project.examples.test/src/org/jboss/tools/project/examples/test/ProjectTest.java 2012-04-25
10:59:03 UTC (rev 40479)
@@ -160,15 +160,10 @@
}
}
assertNotNull(projectExample);
- String urlString = projectExample.getUrl();
- String name = projectExample.getName();
- URL url = null;
- url = new URL(urlString);
- File file = ProjectExampleUtil.getProjectExamplesFile(
- url, name, ".zip", monitor); //$NON-NLS-1$
- assertNotNull(file);
+ ProjectExamplesActivator.downloadProject(projectExample, new NullProgressMonitor());
+ assertNotNull(projectExample.getFile());
IImportProjectExample importProjectExample =
ProjectExamplesActivator.getDefault().getImportProjectExample(projectExample.getImportType());
- if (importProjectExample.importProject(projectExample, file, null, monitor)) {
+ if (importProjectExample.importProject(projectExample, projectExample.getFile(), null,
monitor)) {
importProjectExample.fix(projectExample, monitor);
}
}
Modified:
trunk/maven/plugins/org.jboss.tools.maven.project.examples/src/org/jboss/tools/maven/project/examples/ImportMavenProjectExampleDelegate.java
===================================================================
---
trunk/maven/plugins/org.jboss.tools.maven.project.examples/src/org/jboss/tools/maven/project/examples/ImportMavenProjectExampleDelegate.java 2012-04-25
09:35:42 UTC (rev 40478)
+++
trunk/maven/plugins/org.jboss.tools.maven.project.examples/src/org/jboss/tools/maven/project/examples/ImportMavenProjectExampleDelegate.java 2012-04-25
10:59:03 UTC (rev 40479)
@@ -298,7 +298,8 @@
for (IProject project:projects) {
if (project != null && project.exists()) {
File projectFile = project.getLocation().toFile();
- if (projectFile.getAbsolutePath().startsWith(destination.getAbsolutePath())) {
+ File projectParent = projectFile.getParentFile();
+ if (projectParent.equals(destination)) {
existingProjects.add(project);
}
}