From 2596ff39fc61ccb95d85ceed4c6c3f85db8b1045 Mon Sep 17 00:00:00 2001 From: Konstantinos Giannoutakis <kgiannou@iti.gr> Date: Fri, 20 May 2011 07:03:03 +0000 Subject: [PATCH] some improvements.. --- .../plugin.xml | 10 +- .../actions/ConfigurationLauncher.java | 56 ++++++- .../actions/DebugAction.java | 25 ++- .../actions/RunAction.java | 14 ++ .../actions/UploadArtifact.java | 158 ++++++++---------- 5 files changed, 157 insertions(+), 106 deletions(-) diff --git a/build/org.universaal.tools.buildPlugin/plugin.xml b/build/org.universaal.tools.buildPlugin/plugin.xml index 8829930f9..89bd8492c 100644 --- a/build/org.universaal.tools.buildPlugin/plugin.xml +++ b/build/org.universaal.tools.buildPlugin/plugin.xml @@ -33,7 +33,15 @@ toolbarPath="uAALGroup" id="org.universaal.tools.buildserviceapplication.actions.UploadAction"> </action> - + <action + label="&Debug universAAL application" + icon="icons/run.png" + class="org.universaal.tools.buildserviceapplication.actions.DebugAction" + tooltip="Debug universAAL application" + menubarPath="org.universaal.tools.AALStudio.menu/uAALGroup" + toolbarPath="uAALGroup" + id="org.universaal.tools.buildserviceapplication.actions.DebugAction" > + </action> <action label="&Run universAAL application" icon="icons/run.png" diff --git a/build/org.universaal.tools.buildPlugin/src/org/universaal/tools/buildserviceapplication/actions/ConfigurationLauncher.java b/build/org.universaal.tools.buildPlugin/src/org/universaal/tools/buildserviceapplication/actions/ConfigurationLauncher.java index 2bd77ef61..d296fe83c 100644 --- a/build/org.universaal.tools.buildPlugin/src/org/universaal/tools/buildserviceapplication/actions/ConfigurationLauncher.java +++ b/build/org.universaal.tools.buildPlugin/src/org/universaal/tools/buildserviceapplication/actions/ConfigurationLauncher.java @@ -5,11 +5,14 @@ package org.universaal.tools.buildserviceapplication.actions; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.*; +import org.eclipse.core.runtime.jobs.Job; import org.eclipse.debug.core.*; import org.eclipse.jface.action.Action; import org.eclipse.jface.dialogs.MessageDialog; + + public class ConfigurationLauncher extends Action{ private String configurationName=""; @@ -21,9 +24,24 @@ public class ConfigurationLauncher extends Action{ public void run() { try { - ILaunchConfiguration config = findLaunchConfiguration(); + final ILaunchConfigurationWorkingCopy config = findLaunchConfiguration(); if (config != null){ - config.launch(ILaunchManager.RUN_MODE, null); + Job job = new Job("AAL Studio") { + protected IStatus run(IProgressMonitor monitor) { + monitor.beginTask("Running application ...", 50); + try{ + config.launch(ILaunchManager.RUN_MODE, null); + } + catch(Exception ex){ + ex.printStackTrace(); + return Status.CANCEL_STATUS; + } + return Status.OK_STATUS; + } + }; + + job.setUser(true); + job.schedule(); } else{ ResourcesPlugin.getWorkspace().getRoot() @@ -31,7 +49,7 @@ public class ConfigurationLauncher extends Action{ MessageDialog .openInformation(null, "BuildServiceApplication", - "An error occured while running service.\n Please try again"); + "An error occured while running appication.\n Please try again"); } } catch (Exception e) { e.printStackTrace(); @@ -42,17 +60,41 @@ public class ConfigurationLauncher extends Action{ public void debug() { try { - ILaunchConfiguration config = findLaunchConfiguration(); + final ILaunchConfiguration config = findLaunchConfiguration(); if (config != null){ - config.launch(ILaunchManager.DEBUG_MODE, null); + Job job = new Job("AAL Studio") { + protected IStatus run(IProgressMonitor monitor) { + monitor.beginTask("Running application ...", 50); + try{ + config.launch(ILaunchManager.DEBUG_MODE, null); + } + catch(Exception ex){ + ex.printStackTrace(); + return Status.CANCEL_STATUS; + } + return Status.OK_STATUS; + } + }; + + job.setUser(true); + job.schedule(); + } + else{ + ResourcesPlugin.getWorkspace().getRoot() + .refreshLocal(IResource.DEPTH_INFINITE, null); + MessageDialog + .openInformation(null, + "BuildServiceApplication", + "An error occured while running appication.\n Please try again"); } } catch (Exception e) { e.printStackTrace(); + } } - public ILaunchConfiguration findLaunchConfiguration() throws CoreException { + public ILaunchConfigurationWorkingCopy findLaunchConfiguration() throws CoreException { ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager(); ILaunchConfigurationType type = manager.getLaunchConfigurationType("org.eclipse.pde.ui.EquinoxLauncher"); @@ -60,7 +102,7 @@ public class ConfigurationLauncher extends Action{ for (int i = 0; i < lcs.length; ++i) { if (lcs[i].getName().equals(configurationName)) { ILaunchConfiguration t=lcs[i]; - return t; + return t.getWorkingCopy(); } } return null; diff --git a/build/org.universaal.tools.buildPlugin/src/org/universaal/tools/buildserviceapplication/actions/DebugAction.java b/build/org.universaal.tools.buildPlugin/src/org/universaal/tools/buildserviceapplication/actions/DebugAction.java index 58a6d1a1b..320197a99 100644 --- a/build/org.universaal.tools.buildPlugin/src/org/universaal/tools/buildserviceapplication/actions/DebugAction.java +++ b/build/org.universaal.tools.buildPlugin/src/org/universaal/tools/buildserviceapplication/actions/DebugAction.java @@ -33,19 +33,26 @@ public class DebugAction implements IWorkbenchWindowActionDelegate { * @see IWorkbenchWindowActionDelegate#run */ public void run(IAction action) { - if (BuildAction.buildedProjects.contains(BuildAction - .getSelectedProjectPath())) { - try { - ConfigurationLauncher launcher = new ConfigurationLauncher(CreateConfigurationFile.artifactId); - launcher.debug(); - } catch (Exception ex) { - ex.printStackTrace(); + if (!BuildAction.getSelectedProjectPath().equals("")) { + if (BuildAction.buildedProjects.contains(BuildAction + .getSelectedProjectPath())) { + try { + ConfigurationLauncher launcher = new ConfigurationLauncher( + CreateConfigurationFile.artifactId); + launcher.debug(); + } catch (Exception ex) { + ex.printStackTrace(); + MessageDialog.openInformation(null, + "BuildServiceApplication", + "Could not debug application"); + } + } else { MessageDialog.openInformation(null, "BuildServiceApplication", - "Could not run application"); + "Please build the project first."); } } else { MessageDialog.openInformation(null, "BuildServiceApplication", - "Please build the project first."); + "Please select a project in the Project Explorer tab."); } } diff --git a/build/org.universaal.tools.buildPlugin/src/org/universaal/tools/buildserviceapplication/actions/RunAction.java b/build/org.universaal.tools.buildPlugin/src/org/universaal/tools/buildserviceapplication/actions/RunAction.java index 20f45024d..415decf5a 100644 --- a/build/org.universaal.tools.buildPlugin/src/org/universaal/tools/buildserviceapplication/actions/RunAction.java +++ b/build/org.universaal.tools.buildPlugin/src/org/universaal/tools/buildserviceapplication/actions/RunAction.java @@ -6,6 +6,7 @@ import org.eclipse.jface.viewers.ISelection; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkbenchWindowActionDelegate; + /** * Our sample action implements workbench action delegate. The action proxy will * be created by the workbench and shown in the UI. When the user tries to use @@ -35,6 +36,19 @@ public class RunAction implements IWorkbenchWindowActionDelegate { if (BuildAction.buildedProjects.contains(BuildAction .getSelectedProjectPath())) { try { + + + + + + + + + + + + + ConfigurationLauncher launcher = new ConfigurationLauncher( CreateConfigurationFile.artifactId); launcher.run(); diff --git a/build/org.universaal.tools.buildPlugin/src/org/universaal/tools/buildserviceapplication/actions/UploadArtifact.java b/build/org.universaal.tools.buildPlugin/src/org/universaal/tools/buildserviceapplication/actions/UploadArtifact.java index f1f10ef47..645aee318 100644 --- a/build/org.universaal.tools.buildPlugin/src/org/universaal/tools/buildserviceapplication/actions/UploadArtifact.java +++ b/build/org.universaal.tools.buildPlugin/src/org/universaal/tools/buildserviceapplication/actions/UploadArtifact.java @@ -15,25 +15,23 @@ import org.codehaus.plexus.util.Base64; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.ui.IWorkbenchWindow; - - - public class UploadArtifact { - private String NEXUS_URL=""; - private String NEXUS_USERNAME=""; - private String NEXUS_PASSWORD=""; - private IWorkbenchWindow window; + private String NEXUS_URL = ""; + private String NEXUS_USERNAME = ""; + private String NEXUS_PASSWORD = ""; + private IWorkbenchWindow window; private String repositoryPath = ""; private boolean artifactUploaded = true; private boolean isArtifactRelease = true; - - public UploadArtifact(String nexusUrl, String nexusUserName, String nexusPassword){ - this.NEXUS_URL=nexusUrl; - this.NEXUS_USERNAME=nexusUserName; - this.NEXUS_PASSWORD=nexusPassword; + + public UploadArtifact(String nexusUrl, String nexusUserName, + String nexusPassword) { + this.NEXUS_URL = nexusUrl; + this.NEXUS_USERNAME = nexusUserName; + this.NEXUS_PASSWORD = nexusPassword; } - - public void upload(){ + + public void upload() { if (!BuildAction.getSelectedProjectPath().equals("")) { if (BuildAction.buildedProjects.contains(BuildAction .getSelectedProjectPath())) { @@ -92,7 +90,7 @@ public class UploadArtifact { "Please select a project in the Project Explorer tab."); } } - + private void postArtifact() { artifactUploaded = true; String[] tempString = MavenCli.DEFAULT_USER_SETTINGS_FILE @@ -104,30 +102,23 @@ public class UploadArtifact { try { String webPage = ""; if (isArtifactRelease) { - webPage = NEXUS_URL+"releases/" + webPage = NEXUS_URL + "releases/" + CreateConfigurationFile.groupId.replace(".", "/") - + "/" - + CreateConfigurationFile.artifactId - + "/" - + CreateConfigurationFile.artifactVersion - + "/" + + "/" + CreateConfigurationFile.artifactId + "/" + + CreateConfigurationFile.artifactVersion + "/" + BuildAction.artifactFileName; } else { - webPage = NEXUS_URL+"snapshots/" + webPage = NEXUS_URL + "snapshots/" + CreateConfigurationFile.groupId.replace(".", "/") - + "/" - + CreateConfigurationFile.artifactId - + "/" - + CreateConfigurationFile.artifactVersion - + "/" + + "/" + CreateConfigurationFile.artifactId + "/" + + CreateConfigurationFile.artifactVersion + "/" + BuildAction.artifactFileName; } - String authString = NEXUS_USERNAME + ":" + NEXUS_PASSWORD; byte[] authEncBytes = Base64.encodeBase64(authString.getBytes()); String authStringEnc = new String(authEncBytes); - + URL url = new URL(webPage); HttpURLConnection urlConnection = (HttpURLConnection) url .openConnection(); @@ -139,22 +130,20 @@ public class UploadArtifact { OutputStreamWriter out = new OutputStreamWriter(urlConnection .getOutputStream()); - + File file = new File(repositoryPath + "repository/" + CreateConfigurationFile.groupId.replace(".", "/") + "/" + CreateConfigurationFile.artifactId + "/" + CreateConfigurationFile.artifactVersion + "/" + BuildAction.artifactFileName); - try { - FileInputStream fis = new FileInputStream(file); - char current; - while (fis.available() > 0) { - current = (char) fis.read(); - out.write(current); - } - } catch (IOException e) { - e.printStackTrace(); + + FileInputStream fis = new FileInputStream(file); + char current; + while (fis.available() > 0) { + current = (char) fis.read(); + out.write(current); } + out.close(); InputStream is = urlConnection.getInputStream(); InputStreamReader isr = new InputStreamReader(is); @@ -164,7 +153,7 @@ public class UploadArtifact { while ((numCharsRead = isr.read(charArray)) > 0) { sb.append(charArray, 0, numCharsRead); } - + } catch (Exception ex) { artifactUploaded = false; ex.printStackTrace(); @@ -180,48 +169,45 @@ public class UploadArtifact { String webPage = ""; if (metadata.getRemoteFilename().endsWith(".pom")) { if (isArtifactRelease) { - webPage = NEXUS_URL+"releases/" - + CreateConfigurationFile.groupId.replace(".", "/") - + "/" - + CreateConfigurationFile.artifactId - + "/" - + CreateConfigurationFile.artifactVersion - + "/" + webPage = NEXUS_URL + + "releases/" + + CreateConfigurationFile.groupId.replace(".", + "/") + "/" + + CreateConfigurationFile.artifactId + "/" + + CreateConfigurationFile.artifactVersion + "/" + metadata.getRemoteFilename(); } else { - webPage = NEXUS_URL+"snapshots/" - + CreateConfigurationFile.groupId.replace(".", "/") - + "/" - + CreateConfigurationFile.artifactId - + "/" - + CreateConfigurationFile.artifactVersion - + "/" + webPage = NEXUS_URL + + "snapshots/" + + CreateConfigurationFile.groupId.replace(".", + "/") + "/" + + CreateConfigurationFile.artifactId + "/" + + CreateConfigurationFile.artifactVersion + "/" + metadata.getRemoteFilename(); } } else { if (isArtifactRelease) { - webPage = NEXUS_URL+"releases/" - + CreateConfigurationFile.groupId.replace(".", "/") - + "/" - + CreateConfigurationFile.artifactId - + "/" + webPage = NEXUS_URL + + "releases/" + + CreateConfigurationFile.groupId.replace(".", + "/") + "/" + + CreateConfigurationFile.artifactId + "/" + metadata.getRemoteFilename(); } else { - webPage = NEXUS_URL+"snapshots/" - + CreateConfigurationFile.groupId.replace(".", "/") - + "/" - + CreateConfigurationFile.artifactId - + "/" + webPage = NEXUS_URL + + "snapshots/" + + CreateConfigurationFile.groupId.replace(".", + "/") + "/" + + CreateConfigurationFile.artifactId + "/" + metadata.getRemoteFilename(); } } - String authString = NEXUS_USERNAME + ":" + NEXUS_PASSWORD; byte[] authEncBytes = Base64 .encodeBase64(authString.getBytes()); String authStringEnc = new String(authEncBytes); - + URL url = new URL(webPage); HttpURLConnection urlConnection = (HttpURLConnection) url .openConnection(); @@ -233,31 +219,27 @@ public class UploadArtifact { OutputStreamWriter out = new OutputStreamWriter(urlConnection .getOutputStream()); - File file =null; + File file = null; if (metadata.getRemoteFilename().endsWith(".pom")) { file = new File(repositoryPath + "repository/" - + CreateConfigurationFile.groupId.replace(".", "/") + "/" - + CreateConfigurationFile.artifactId + "/" - + CreateConfigurationFile.artifactVersion - + "/" + + CreateConfigurationFile.groupId.replace(".", "/") + + "/" + CreateConfigurationFile.artifactId + "/" + + CreateConfigurationFile.artifactVersion + "/" + metadata.getRemoteFilename()); + } else { + file = new File(repositoryPath + "repository/" + + CreateConfigurationFile.groupId.replace(".", "/") + + "/" + CreateConfigurationFile.artifactId + "/" + + "maven-metadata-local.xml"); } - else{ - file = new File(repositoryPath + "repository/" - + CreateConfigurationFile.groupId.replace(".", "/") + "/" - + CreateConfigurationFile.artifactId + "/" - + "maven-metadata-local.xml"); - } - try { - FileInputStream fis = new FileInputStream(file); - char current; - while (fis.available() > 0) { - current = (char) fis.read(); - out.write(current); - } - } catch (IOException e) { - e.printStackTrace(); + + FileInputStream fis = new FileInputStream(file); + char current; + while (fis.available() > 0) { + current = (char) fis.read(); + out.write(current); } + out.close(); InputStream is = urlConnection.getInputStream(); InputStreamReader isr = new InputStreamReader(is); @@ -273,7 +255,5 @@ public class UploadArtifact { } } } - - - + } -- GitLab