@@ -187,9 +187,11 @@ private List<AbstractButton> createMenus() {
187
187
// by loading a protected Google resource
188
188
try {
189
189
googleMenu = createGoogleMenu ();
190
- boolean enabled = PreferencesManager .getPreferences ().getAsBoolean (ENABLE_GOOGLE_MENU );
191
- enableGoogleMenu (enabled );
192
- menus .add (googleMenu );
190
+ if (googleMenu != null ) {
191
+ boolean enabled = PreferencesManager .getPreferences ().getAsBoolean (ENABLE_GOOGLE_MENU );
192
+ enableGoogleMenu (enabled );
193
+ menus .add (googleMenu );
194
+ }
193
195
} catch (IOException e ) {
194
196
log .error ("Error creating google menu: " + e .getMessage ());
195
197
}
@@ -1049,12 +1051,20 @@ public void menuCanceled(MenuEvent e) {
1049
1051
1050
1052
private JMenu createGoogleMenu () {
1051
1053
1054
+ final OAuthProvider googleProvider = OAuthUtils .getInstance ().getGoogleProvider ();
1055
+ if (googleProvider == null ) {
1056
+ log .error ("Error creating google oauth provider" );
1057
+ return null ;
1058
+ }
1059
+
1060
+
1052
1061
googleMenu = new JMenu ("Google" );
1053
1062
1054
1063
final JMenuItem login = new JMenuItem ("Login ... " );
1064
+
1055
1065
login .addActionListener (e -> {
1056
1066
try {
1057
- OAuthUtils . getInstance (). getGoogleProvider () .openAuthorizationPage ();
1067
+ googleProvider .openAuthorizationPage ();
1058
1068
} catch (Exception ex ) {
1059
1069
MessageUtils .showErrorMessage ("Error fetching oAuth tokens. See log for details" , ex );
1060
1070
log .error ("Error fetching oAuth tokens" , ex );
@@ -1065,7 +1075,7 @@ private JMenu createGoogleMenu() {
1065
1075
1066
1076
final JMenuItem logout = new JMenuItem ("Logout " );
1067
1077
logout .addActionListener (e -> {
1068
- OAuthUtils . getInstance (). getGoogleProvider () .logout ();
1078
+ googleProvider .logout ();
1069
1079
GoogleUtils .setProjectID (null );
1070
1080
});
1071
1081
googleMenu .add (logout );
@@ -1077,10 +1087,9 @@ private JMenu createGoogleMenu() {
1077
1087
googleMenu .addMenuListener (new MenuListener () {
1078
1088
@ Override
1079
1089
public void menuSelected (MenuEvent e ) {
1080
- OAuthProvider oauth = OAuthUtils .getInstance ().getGoogleProvider ();
1081
- boolean loggedIn = oauth .isLoggedIn ();
1082
- if (loggedIn && oauth .getCurrentUserName () != null ) {
1083
- login .setText (oauth .getCurrentUserName ());
1090
+ boolean loggedIn = googleProvider .isLoggedIn ();
1091
+ if (loggedIn && googleProvider .getCurrentUserName () != null ) {
1092
+ login .setText (googleProvider .getCurrentUserName ());
1084
1093
} else {
1085
1094
login .setText ("Login ..." );
1086
1095
}
@@ -1112,7 +1121,9 @@ public void menuCanceled(MenuEvent e) {
1112
1121
* @throws IOException
1113
1122
*/
1114
1123
public void enableGoogleMenu (boolean enable ) throws IOException {
1115
- googleMenu .setVisible (enable );
1124
+ if (googleMenu != null ) {
1125
+ googleMenu .setVisible (enable );
1126
+ }
1116
1127
}
1117
1128
1118
1129
// public void enableRemoveGenomes() {
0 commit comments