Package org.pentaho.mantle.client.commands

Examples of org.pentaho.mantle.client.commands.AbstractCommand


  public Widget getAdminPerspective() {
    return adminPerspective;
  }

  private void fetchPluginOverlays() {
    AbstractCommand cmd = new AbstractCommand() {
      protected void performOperation( boolean feedback ) {
        performOperation();
      }

      protected void performOperation() {
        final String url = GWT.getHostPageBaseURL() + "api/plugin-manager/overlays"; //$NON-NLS-1$
        RequestBuilder builder = new RequestBuilder( RequestBuilder.GET, url );
        builder.setHeader( "If-Modified-Since", "01 Jan 1970 00:00:00 GMT" );
        builder.setHeader( "accept", "application/json" );

        try {
          builder.sendRequest( null, new RequestCallback() {

            public void onError( Request request, Throwable exception ) {
              Window.alert( exception.getMessage() );
            }

            public void onResponseReceived( Request request, Response response ) {

              JsArray<JsXulOverlay> jsoverlays =
                  JsXulOverlay.parseJson( JsonUtils.escapeJsonForEval( response.getText() ) );

              ArrayList<XulOverlay> overlays = new ArrayList<XulOverlay>();
              for ( int i = 0; i < jsoverlays.length(); i++ ) {
                JsXulOverlay o = jsoverlays.get( i );
                MantleXulOverlay overlay;
                overlay =
                    new MantleXulOverlay( o.getId(), o.getOverlayUri(), o.getSource(), o.getResourceBundleUri(),
                        Integer.parseInt( o.getPriority() ) );
                overlays.add( overlay );
              }

              MantleXul.this.addOverlays( overlays );

              final String url = GWT.getHostPageBaseURL() + "plugin/data-access/api/permissions/hasDataAccess"; //$NON-NLS-1$
              RequestBuilder builder = new RequestBuilder( RequestBuilder.GET, url );
              builder.setHeader( "If-Modified-Since", "01 Jan 1970 00:00:00 GMT" );
              builder.setHeader( "accept", "application/json" );

              try {
                builder.sendRequest( null, new RequestCallback() {

                  public void onError( Request request, Throwable exception ) {
                    Window.alert( exception.getMessage() );
                  }

                  public void onResponseReceived( Request request, Response response ) {
                    if ( response.getText().equals( "true" ) ) {
                      controller.loadOverlay( "dataaccess" );
                    }
                  }
                } );
              } catch ( RequestException e ) {
                // showError(e);
              }
            }
          } );
        } catch ( RequestException e ) {
          // showError(e);
        }
      }
    };
    cmd.execute();
  }
View Full Code Here


      EventBusUtil.EVENT_BUS.fireEvent( event );
    }
  }

  public static void createSchedule( final RepositoryFile repositoryFile ) {
    AbstractCommand scheduleCommand = new AbstractCommand() {

      private void schedule() {
        String extension = ""; //$NON-NLS-1$
        if ( repositoryFile.getPath().lastIndexOf( "." ) > 0 ) { //$NON-NLS-1$
          extension = repositoryFile.getPath().substring( repositoryFile.getPath().lastIndexOf( "." ) + 1 ); //$NON-NLS-1$
        }

        if ( SolutionBrowserPanel.getInstance().getExecutableFileExtensions().contains( extension ) ) {
          showScheduleDialog( repositoryFile.getPath() );
        } else {
          final MessageDialogBox dialogBox =
              new MessageDialogBox(
                  Messages.getString( "open" ), Messages.getString( "scheduleInvalidFileType", repositoryFile.getPath() ), false, false, true ); //$NON-NLS-1$ //$NON-NLS-2$

          dialogBox.setCallback( new IDialogCallback() {
            public void cancelPressed() {
            }

            public void okPressed() {
              dialogBox.hide();
            }
          } );

          dialogBox.center();
          return;
        }

      }

      protected void performOperation() {

        // hit the server and check: isScheduleAllowed
        final String url = GWT.getHostPageBaseURL() + "api/scheduler/isScheduleAllowed?id=" + repositoryFile.getId(); //$NON-NLS-1$
        RequestBuilder requestBuilder = new RequestBuilder( RequestBuilder.GET, url );
        requestBuilder.setHeader( "accept", "text/plain" );
        requestBuilder.setHeader( "If-Modified-Since", "01 Jan 1970 00:00:00 GMT" );
        final MessageDialogBox errorDialog =
            new MessageDialogBox(
                Messages.getString( "error" ), Messages.getString( "noSchedulePermission" ), false, false, true ); //$NON-NLS-1$ //$NON-NLS-2$
        try {
          requestBuilder.sendRequest( null, new RequestCallback() {

            public void onError( Request request, Throwable caught ) {
              errorDialog.center();
            }

            public void onResponseReceived( Request request, Response response ) {
              if ( "true".equalsIgnoreCase( response.getText() ) ) {
                schedule();
              } else {
                errorDialog.center();
              }
            }
          } );
        } catch ( RequestException re ) {
          errorDialog.center();
        }

      }

      protected void performOperation( boolean feedback ) {
        performOperation();
      }

    };
    scheduleCommand.execute();

  }
View Full Code Here

    if ( filesListPanel.getSelectedFileItems() == null || filesListPanel.getSelectedFileItems().size() != 1 ) {
      return;
    }

    // open in content panel
    AbstractCommand authCmd = new AbstractCommand() {
      protected void performOperation() {
        performOperation( false );
      }

      protected void performOperation( boolean feedback ) {
        final FileItem selectedFileItem = filesListPanel.getSelectedFileItems().get( 0 );
        String url = null;
        url =
          "api/repo/files/" + SolutionBrowserPanel.pathToId( filesListPanel.getSelectedFileItems().get( 0 ).getRepositoryFile().getPath() ) + "/generatedContent"; //$NON-NLS-1$ //$NON-NLS-2$
        url = getPath() + url;

        if ( mode == FileCommand.COMMAND.BACKGROUND ) {
          MessageDialogBox dialogBox = new MessageDialogBox( Messages.getString( "info" ), //$NON-NLS-1$
            Messages.getString( "backgroundExecutionWarning" ), //$NON-NLS-1$
            true, false, true );
          dialogBox.center();

          url += "&background=true"; //$NON-NLS-1$

          RequestBuilder builder = new RequestBuilder( RequestBuilder.GET, url );
          try {
            builder.setHeader( "If-Modified-Since", "01 Jan 1970 00:00:00 GMT" );
            builder.sendRequest( null, new RequestCallback() {

              public void onError( Request request, Throwable exception ) {
                MessageDialogBox dialogBox =
                  new MessageDialogBox(
                    Messages.getString( "error" ), Messages.getString( "couldNotBackgroundExecute" ), false, false, true ); //$NON-NLS-1$ //$NON-NLS-2$
                dialogBox.center();
              }

              public void onResponseReceived( Request request, Response response ) {
              }

            } );
          } catch ( RequestException e ) {
            // ignored
          }
        } else if ( mode == FileCommand.COMMAND.NEWWINDOW ) {
          // popup blockers might attack this
          Window.open( url, "_blank", "menubar=yes,location=no,resizable=yes,scrollbars=yes,status=no" ); //$NON-NLS-1$ //$NON-NLS-2$
        } else if ( mode == FileCommand.COMMAND.SUBSCRIBE ) {
          final String myurl = url + "&subscribepage=yes"; //$NON-NLS-1$
          contentTabPanel.showNewURLTab( selectedFileItem.getLocalizedName(), selectedFileItem.getLocalizedName(),
            myurl, true );
        } else {
          contentTabPanel.showNewURLTab( selectedFileItem.getLocalizedName(), selectedFileItem.getLocalizedName(), url,
            true );
        }
      }

    };

    authCmd.execute();
  }
View Full Code Here

TOP

Related Classes of org.pentaho.mantle.client.commands.AbstractCommand

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.