Merge "Google Login - when the datastore is corrupt (i.e when the set active user is not a logged in user), an exception is thrown. Fix this by properly logging the error and setting no active user." into idea133
diff --git a/login/src/META-INF/plugin.xml b/login/src/META-INF/plugin.xml
index 1bd7803..09e0281 100644
--- a/login/src/META-INF/plugin.xml
+++ b/login/src/META-INF/plugin.xml
@@ -34,7 +34,8 @@
<action id="GoogleLogin.LoginService"
class="com.google.gct.login.ui.GoogleLoginAction"
text="Google Login">
- <add-to-group group-id="MainToolBar" anchor="first" />
+ <add-to-group group-id="MainToolBar" anchor="last" />
+ <add-to-group group-id="NavBarToolBar" anchor="last" />
</action>
</actions>
diff --git a/login/src/com/google/gct/login/ui/GoogleLoginAction.java b/login/src/com/google/gct/login/ui/GoogleLoginAction.java
index 51ac706..10e7c0c 100644
--- a/login/src/com/google/gct/login/ui/GoogleLoginAction.java
+++ b/login/src/com/google/gct/login/ui/GoogleLoginAction.java
@@ -15,10 +15,7 @@
*/
package com.google.gct.login.ui;
-import com.intellij.openapi.actionSystem.ActionToolbar;
-import com.intellij.openapi.actionSystem.AnAction;
-import com.intellij.openapi.actionSystem.AnActionEvent;
-import com.intellij.openapi.actionSystem.Presentation;
+import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.actionSystem.ex.CustomComponentAction;
import com.intellij.openapi.actionSystem.impl.ActionButton;
import com.intellij.openapi.ui.popup.ComponentPopupBuilder;
@@ -32,7 +29,7 @@
/**
* Action to open the Google Login panel.
*/
-public class GoogleLoginAction extends AnAction implements CustomComponentAction {
+public class GoogleLoginAction extends AnAction implements CustomComponentAction, RightAlignedToolbarAction {
@Override
public void actionPerformed(AnActionEvent e) {
@@ -50,8 +47,7 @@
private void showPopup(AnActionEvent e) {
GoogleLoginUsersPanel usersPanel = new GoogleLoginUsersPanel();
ComponentPopupBuilder popup = JBPopupFactory.getInstance().createComponentPopupBuilder(usersPanel, usersPanel.getList());
- ActionButton source = (ActionButton)e.getInputEvent().getSource();
+ JComponent source = (JComponent)e.getInputEvent().getSource();
popup.createPopup().show(new RelativePoint(source, new Point(0, source.getHeight() - 1)));
}
-
}
diff --git a/src/META-INF/plugin.xml b/src/META-INF/plugin.xml
index c6bc850..771cf17 100644
--- a/src/META-INF/plugin.xml
+++ b/src/META-INF/plugin.xml
@@ -110,10 +110,6 @@
</extensions>
<actions>
- <action id="GoogleCloudTools.InstallClientLibraries"
- class="com.google.gct.idea.appengine.gradle.action.InstallClientLibrariesAction"
- text="Install Client Libraries"
- icon="/icons/cloudEndpoints.png"/>
<action id="GoogleCloudTools.GenerateEndpoint"
class="com.google.gct.idea.appengine.gradle.action.GenerateEndpointAction"
text="Generate Endpoint"
@@ -123,7 +119,6 @@
description="Endpoints Actions"
popup="true"
icon="/icons/cloudPlatform.png">
- <reference id="GoogleCloudTools.InstallClientLibraries"/>
<reference id="GoogleCloudTools.GenerateEndpoint"/>
<add-to-group group-id="ToolsMenu" anchor="last"/>
</group>
diff --git a/src/com/google/gct/idea/appengine/gradle/action/GenerateEndpointAction.java b/src/com/google/gct/idea/appengine/gradle/action/GenerateEndpointAction.java
index f442f43..7e236b2 100644
--- a/src/com/google/gct/idea/appengine/gradle/action/GenerateEndpointAction.java
+++ b/src/com/google/gct/idea/appengine/gradle/action/GenerateEndpointAction.java
@@ -83,6 +83,7 @@
try {
if (!AppEngineUtils.isAppEngineModule(project, module)) {
Messages.showErrorDialog(project, "Endpoints can only be generated for App Engine projects.", ERROR_MESSAGE_TITLE);
+ return;
}
}
catch (FileNotFoundException error) {
diff --git a/src/com/google/gct/idea/appengine/gradle/action/InstallClientLibrariesAction.java b/src/com/google/gct/idea/appengine/gradle/action/InstallClientLibrariesAction.java
deleted file mode 100644
index c90e040..0000000
--- a/src/com/google/gct/idea/appengine/gradle/action/InstallClientLibrariesAction.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.google.gct.idea.appengine.gradle.action;
-
-import com.android.tools.idea.gradle.invoker.GradleInvoker;
-
-import com.intellij.openapi.actionSystem.AnAction;
-import com.intellij.openapi.actionSystem.AnActionEvent;
-import com.intellij.openapi.actionSystem.LangDataKeys;
-import com.intellij.openapi.module.Module;
-import com.intellij.openapi.project.Project;
-import com.intellij.openapi.ui.Messages;
-
-import java.util.Arrays;
-
-/**
- * Action to generate client libraries for an AppEngine endpoints project and copy them to an associated android project
- */
-public class InstallClientLibrariesAction extends AnAction {
-
- private static final String ERROR_MSG_TITLE = "Install Client Libraries";
-
- @Override
- public void actionPerformed(AnActionEvent e) {
- final Project project = e.getProject();
- final Module appEngineModule = e.getData(LangDataKeys.MODULE);
-
- if (project == null || appEngineModule == null) {
- Messages.showErrorDialog(project, "Please select an App Engine module.", ERROR_MSG_TITLE);
- return;
- }
- // TODO : check if module is App Engine Module or not
-
- GradleInvoker.getInstance(project).executeTasks(Arrays.asList(appEngineModule.getName() + ":appengineEndpointsInstallClientLibs"));
- }
-}