Skip to content

Commit 82df33d

Browse files
eharris369GitHub Enterprise
authored andcommitted
Merge pull request #235 from eharris/234-addCreateNewProjectAction
Issue #234: Add a Create New Project action
2 parents 068b0fd + 05cc9b5 commit 82df33d

File tree

5 files changed

+42
-10
lines changed

5 files changed

+42
-10
lines changed

dev/com.ibm.microclimate.core/src/com/ibm/microclimate/core/internal/connection/MicroclimateConnection.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,6 +515,18 @@ public IPath getWorkspacePath() {
515515
return localWorkspacePath;
516516
}
517517

518+
public URI getNewProjectURI() {
519+
try {
520+
URI uri = baseUrl;
521+
String query = MCConstants.QUERY_NEW_PROJECT + "=" + MCConstants.VALUE_TRUE;
522+
uri = new URI(uri.getScheme(), uri.getAuthority(), uri.getPath(), query, uri.getFragment());
523+
return uri;
524+
} catch (Exception e) {
525+
MCLogger.logError("Failed to get the URI for the new project page.", e); //$NON-NLS-1$
526+
}
527+
return null;
528+
}
529+
518530
public URL getAppMonitorURL(MicroclimateApplication app) {
519531
return getAppViewURL(app, MCConstants.VIEW_MONITOR);
520532
}

dev/com.ibm.microclimate.core/src/com/ibm/microclimate/core/internal/constants/MCConstants.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,9 @@ private MCConstants() {}
107107
DOCKERFILE = "Dockerfile",
108108
DOCKERFILE_BUILD = "Dockerfile-build",
109109

110+
QUERY_NEW_PROJECT = "new-project",
111+
VALUE_TRUE = "true",
112+
110113
QUERY_PROJECT = "project",
111114
QUERY_VIEW = "view",
112115
VIEW_MONITOR = "monitor",

dev/com.ibm.microclimate.ui/plugin.properties

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@
1313
Bundle-Vendor = IBM
1414
Bundle-Name = Microclimate UI Plugin
1515

16+
ACTION_REFRESH=Re&fresh
17+
18+
ACTION_OPEN_MICROCLIMATE_UI=Open Microclimate &UI
19+
ACTION_CREATE_NEW_PROJECT=Create New &Project
1620
ACTION_REMOVE_CONNECTION=&Remove Connection
1721

1822
ACTION_OPEN_APP=&Open Application
@@ -21,11 +25,9 @@ ACTION_START_BUILD=&Build
2125
ACTION_IMPORT_PROJECT=&Import Project
2226
ACTION_SHOW_APP_CONSOLE=&Show Application Log
2327
ACTION_SHOW_BUILD_CONSOLE=S&how Build Log
24-
ACTION_REFRESH=Re&fresh
2528
ACTION_RESTART_RUN_MODE=Restart in &Run Mode
2629
ACTION_RESTART_DEBUG_MODE=Restart in &Debug Mode
2730
ACTION_ENABLE_DISABLE_AUTO_BUILD=Disable &Auto Build
28-
ACTION_OPEN_MICROCLIMATE_UI=Open Microclimate &UI
2931
ACTION_OPEN_APP_MONITOR=Open Application &Monitor
3032
ACTION_OPEN_APP_OVERVIEW=Open Project O&verview
3133

dev/com.ibm.microclimate.ui/plugin.xml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -195,19 +195,26 @@
195195
<objectContribution
196196
id="com.ibm.microclimate.ui.appObjectActions"
197197
objectClass="com.ibm.microclimate.core.internal.connection.MicroclimateConnection">
198-
<action
199-
id="com.ibm.microclimate.ui.removeConnection"
200-
enablesFor="1"
201-
menubarPath="group.new"
202-
label="%ACTION_REMOVE_CONNECTION"
203-
class="com.ibm.microclimate.ui.internal.actions.RemoveConnectionAction"/>
204198
<action
205199
id="com.ibm.microclimate.ui.refreshConnection"
206200
enablesFor="1"
207201
menubarPath="group.additions"
208202
icon="%REFRESH_ICON_PATH"
209203
label="%ACTION_REFRESH"
210204
class="com.ibm.microclimate.ui.internal.actions.RefreshAction"/>
205+
<action
206+
id="com.ibm.microclimate.ui.removeConnection"
207+
enablesFor="1"
208+
menubarPath="group.additions"
209+
label="%ACTION_REMOVE_CONNECTION"
210+
class="com.ibm.microclimate.ui.internal.actions.RemoveConnectionAction"/>
211+
<action
212+
id="com.ibm.microclimate.ui.createNewProject"
213+
enablesFor="1"
214+
menubarPath="group.new"
215+
icon="%DEFAULT_ICON_PATH"
216+
label="%ACTION_CREATE_NEW_PROJECT"
217+
class="com.ibm.microclimate.ui.internal.actions.OpenMicroclimateUIAction"/>
211218
<action
212219
id="com.ibm.microclimate.ui.openMicroclimateUI"
213220
enablesFor="1"

dev/com.ibm.microclimate.ui/src/com/ibm/microclimate/ui/internal/actions/OpenMicroclimateUIAction.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
* access features that are not implemented in the Microclimate plug-ins.
3232
*/
3333
public class OpenMicroclimateUIAction implements IObjectActionDelegate {
34+
35+
private final String CREATE_NEW_PROJECT_ID = "com.ibm.microclimate.ui.createNewProject";
3436

3537
protected MicroclimateConnection connection;
3638

@@ -67,9 +69,15 @@ public void run(IAction action) {
6769
return;
6870
}
6971

70-
URI uri = connection.baseUrl;
71-
7272
try {
73+
URI uri = null;
74+
if (CREATE_NEW_PROJECT_ID.equals(action.getId())) {
75+
uri = connection.getNewProjectURI();
76+
}
77+
if (uri == null) {
78+
uri = connection.baseUrl;
79+
}
80+
7381
IWorkbenchBrowserSupport browserSupport = PlatformUI.getWorkbench().getBrowserSupport();
7482
IWebBrowser browser = browserSupport
7583
.createBrowser(IWorkbenchBrowserSupport.NAVIGATION_BAR | IWorkbenchBrowserSupport.LOCATION_BAR,

0 commit comments

Comments
 (0)