Example usage for com.google.gwt.http.client RequestBuilder sendRequest

List of usage examples for com.google.gwt.http.client RequestBuilder sendRequest

Introduction

In this page you can find the example usage for com.google.gwt.http.client RequestBuilder sendRequest.

Prototype

public Request sendRequest(String requestData, RequestCallback callback) throws RequestException 

Source Link

Document

Sends an HTTP request based on the current builder configuration with the specified data and callback.

Usage

From source file:org.cleanlogic.cesiumjs4gwt.showcase.basic.AbstractSourceButton.java

License:Apache License

public void onClick(ClickEvent event) {
    RequestBuilder reqBuilder = new RequestBuilder(RequestBuilder.GET, this.sourceCodeURL);
    try {//from w ww  .ja  v a2s. c  o m
        reqBuilder.sendRequest("", new RequestCallback() {

            public void onResponseReceived(Request request, Response response) {
                showSourceCode(response.getText());
            }

            public void onError(Request request, Throwable exception) {
            }

        });
    } catch (RequestException ex) {
    }

}

From source file:org.curriki.gwt.client.widgets.metadata.MetadataEdit.java

License:Open Source License

private void displaySkills(String value, final VerticalPanel panel) {
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, "/SearchI2G/render?uri="
            + URL.encodeComponent(value) + "&language=" + URL.encodeComponent(getLanguages()));
    try {//from w  w  w . j  av  a 2  s  . c o m
        builder.sendRequest(null, new RequestCallback() {
            public void onError(Request request, Throwable exception) {
                Window.alert("Error at rendering: " + exception);
            }

            public void onResponseReceived(Request request, Response response) {
                if (200 != response.getStatusCode()) {
                    Window.alert(
                            "Error " + response.getStatusCode() + " at rendering: " + response.getStatusText());
                    return;
                }
                panel.clear();
                panel.add(new HTML(response.getText()));

            }
        });
    } catch (RequestException e) {
        Window.alert("Error at launching rendering: " + e);
    }
}

From source file:org.dataconservancy.dcs.access.client.HttpGet.java

License:Apache License

/**
 * Do multiple http requests and only return success when all complete. May
 * be more than one failure reported.//from  w ww .  j ava  2  s. c  o m
 * 
 * cb.success returns a String[] parallel to urls with the results
 * 
 * @param urls
 * @param cb
 */
public static void request(final String[] urls, final Callback<String[]> cb) {
    final String[] result = new String[urls.length];

    for (int i = 0; i < urls.length; i++) {
        RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, urls[i]);
        final int which = i;

        try {
            rb.sendRequest(null, new RequestCallback() {
                public void onError(Request req, Throwable e) {
                    cb.failure(e.getMessage());
                }

                public void onResponseReceived(Request req, Response resp) {
                    if (resp.getStatusCode() != 200) {
                        cb.failure(resp.getText());
                    } else {
                        result[which] = resp.getText();

                        for (int j = 0; j < result.length; j++) {
                            if (result[j] == null) {
                                return;
                            }
                        }

                        cb.success(result);
                    }
                }
            });
        } catch (RequestException e) {
            cb.failure(e.getMessage());
        }
    }
}

From source file:org.dataconservancy.dcs.access.client.HttpGet.java

License:Apache License

public static void request(final String url, final Callback<String> cb) {
    RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url);

    try {/*w w w.  j  a va 2s  .c  o  m*/
        rb.sendRequest(null, new com.google.gwt.http.client.RequestCallback() {
            public void onError(Request req, Throwable e) {
                cb.failure(e.getMessage());
            }

            public void onResponseReceived(Request req, Response resp) {
                if (resp.getStatusCode() != 200) {
                    cb.failure(resp.getText());
                } else {
                    cb.success(resp.getText());
                }
            }
        });
    } catch (RequestException e) {
        cb.failure(e.getMessage());
    }
}

From source file:org.dataconservancy.dcs.access.client.presenter.AcrDataPresenter.java

License:Apache License

void addGetPubHandler() {

    ir.addChangeHandler(new ChangeHandler() {
        @Override/*  www. ja v  a 2  s.  co m*/
        public void onChange(ChangeEvent event) {
            ROList.clear();
            final StatusPopupPanel mediciWait = new StatusPopupPanel("Retrieving", "wait", false);
            mediciWait.show();
            existingFileSets = new HashMap<String, FileTable>();
            previousSelectedFiles = new HashMap<String, List<FileNode>>();
            int selected = ir.getSelectedIndex();

            final String instance = ir.getValue(selected);

            mediciService.getAcrInstances(new AsyncCallback<List<MediciInstance>>() {

                @Override
                public void onSuccess(List<MediciInstance> result) {

                    for (MediciInstance ins : result)
                        if (ins.getTitle().equalsIgnoreCase(instance))
                            sparqlEndpoint = ins;

                    RequestBuilder rb = new RequestBuilder(RequestBuilder.GET,
                            SeadApp.ACRCOMMON + "?instance=" + URL.encodeQueryString(sparqlEndpoint.getTitle())
                                    + "&" + "query="
                                    + URL.encodeQueryString(Query.PROPOSED_FOR_PUBLICATION.getTitle()));

                    rb.setHeader("Content-type", "application/x-www-form-urlencoded");

                    try {
                        Request response = rb.sendRequest(null, new RequestCallback() {
                            @Override
                            public void onError(Request request, Throwable exception) {
                                Window.alert("Failed");
                            }

                            @Override
                            public void onResponseReceived(Request request, Response response) {
                                String json = response.getText();
                                mediciService.parseJson(json, new AsyncCallback<Map<String, String>>() {

                                    @Override
                                    public void onSuccess(Map<String, String> result) {

                                        //   leftPanel.clear();
                                        JsonpRequestBuilder rb = new JsonpRequestBuilder();
                                        rb.setTimeout(100000);

                                        mediciWait.hide();
                                        last = result.size() - 1;
                                        final FlexTable grid = new FlexTable();
                                        grid.setWidth("100%");
                                        grid.setHeight("100%");

                                        final Iterator it = result.entrySet().iterator();
                                        while (it.hasNext()) {
                                            final Map.Entry pair = (Map.Entry) it.next();
                                            final String dName = (String) pair.getValue();

                                            flagHyperlink = 0;
                                            String tagRetrieveUrl = SeadApp.accessurl + SeadApp.queryPath
                                                    + "?q=resourceValue:" + "(" + URL.encodeQueryString(
                                                            ((String) pair.getKey()).replace(":", "\\:"))
                                                    + ")";
                                            rb.requestObject(tagRetrieveUrl,
                                                    new AsyncCallback<JsSearchResult>() {

                                                        public void onFailure(Throwable caught) {
                                                            Util.reportInternalError(
                                                                    "Matching collection in VA failed", caught);

                                                        }

                                                        public void onSuccess(JsSearchResult result) {
                                                            //                                          if(result.matches().length()==0||sparqlEndpoint.equals("http://sead.ncsa.illinois.edu/acr/resteasy/sparql"))
                                                            //                                          {
                                                            dataset = Util.label(
                                                                    dName.substring(dName.lastIndexOf("/") + 1),
                                                                    "Hyperlink");
                                                            flagHyperlink = 1;
                                                            ROList.addItem(dName
                                                                    .substring(dName.lastIndexOf("/") + 1));
                                                            //                                          }                           
                                                            //                                          else
                                                            //                                              flagHyperlink =0;

                                                            /*          if(flagHyperlink==1){
                                                              dataset.addClickHandler(new ClickHandler() {
                                                                  @Override
                                                                  public void onClick(ClickEvent event) {
                                                                      mediciService.restartIngest((String)pair.getKey(), SeadApp.tmpHome, new AsyncCallback<CheckPointDetail>(){
                                                                    
                                                                          @Override
                                                                          public void onFailure(
                                                                                  Throwable caught) {
                                                                              Window.alert("Error in estimating reingest scenario. \n" + caught.getMessage());
                                                                          }
                                                                    
                                                                          @Override
                                                                          public void onSuccess(
                                                                                  final CheckPointDetail result) {
                                                                              if(!result.isCheckPointed()){
                                                                                  final StatusPopupPanel collectionWait = new StatusPopupPanel("Querying for BagIt Bag","bag",false);
                                                                                  collectionWait.show();
                                                                    
                                                                                          final MultiSelectionModel<CollectionNode> selectionModel = new MultiSelectionModel<CollectionNode>();
                                                                    
                                                                                          mediciService.getBag(
                                                                                                  (String) pair.getKey(), sparqlEndpoint,
                                                                                                  SeadApp.bagIturl, SeadApp.tmpHome,
                                                                                                   new AsyncCallback<String>() {
                                                                                                      @Override
                                                                                                      public void onSuccess(final String bagPath) {
                                                                                                          collectionWait.setValue("Converting to SEAD SIP", "wait");
                                                                    
                                                                                                          final Timer getSIPTimer = new Timer() {
                                                                    
                                                                                                          @Override
                                                                                                          public void run() {
                                                                                                              String tempguid = null;
                                                                                                              if(((String) pair.getKey()).contains("/"))
                                                                                                                  tempguid = ((String) pair.getKey()).split("/")
                                                                                                                  [((String) pair.getKey()).split("/").length-1];
                                                                                                              else
                                                                                                                  tempguid = ((String) pair.getKey()).split(":")
                                                                                                                  [((String) pair.getKey()).split(":").length-1];
                                                                                                              final String guid = tempguid;
                                                                                                              mediciService.getSipFromBag(
                                                                                                                      bagPath,
                                                                                                                  SeadApp.tmpHome+guid+"_sip.xml",
                                                                                                                  SeadApp.bagIturl,
                                                                                                                  new AsyncCallback<String>() {
                                                                    
                                                                                                              @Override
                                                                                                              public void onSuccess(String result) {
                                                                    
                                                                                                                  mediciService.getFileNos(new AsyncCallback<Integer>(){
                                                                                                                      @Override
                                                                                                                      public void onFailure(
                                                                                                                              Throwable caught) {
                                                                                                                          Window.alert("Failed:"+caught.getMessage());
                                                                    
                                                                                                                      }
                                                                    
                                                                                                                      @Override
                                                                                                                      public void onSuccess(Integer size) {
                                                                                                                          if(size>Constants.MAX){
                                                                                                                              Window.alert("This collection has more than "+Constants.MAX+" files.\n"+
                                                                                                                                           "Hence preview is not possible. But you can start the ingest");
                                                                                                                              if(collectionWait.isShowing())
                                                                                                                                  collectionWait.hide();
                                                                                                                              getPub.setEnabled(false);
                                                                                                                              cloudCopy.setEnabled(true);
                                                                                                                              mdCb.setEnabled(true);
                                                                                                                              ingestButton.setEnabled(true);
                                                                                                                              ir.setEnabled(false);
                                                                                                                              ir.setStyleName("greyFont");
                                                                                                                              getPub.setStyleName("greyFont");
                                                                                                                              cloudCopy.setStyleName("greenFont");
                                                                                                                              mdCb.setStyleName("greenFont");
                                                                                                                              ingestButton.setStyleName("greenFont");
                                                                    
                                                                    
                                                                                                                              ingestButton.addClickHandler(new ClickHandler() {
                                                                    
                                                                                                                                  @Override
                                                                                                                                  public void onClick(ClickEvent event) {
                                                                                                                                      ingestButton.setEnabled(false);
                                                                                                                                      cloudCopy.setEnabled(false);
                                                                                                                                      ir.setEnabled(false);
                                                                                                                                      getPub.setEnabled(true);
                                                                                                                                      String rootMediciId= (String) pair.getKey();
                                                                    
                                                                    
                                                                                                                                      AsyncCallback<Void> vaModelCb = new AsyncCallback<Void>() {
                                                                                                                                              @Override
                                                                                                                                              public void onSuccess(Void result) {
                                                                                                                                                  mediciService.addMetadata(metadataSrc,SeadApp.tmpHome+guid+"_sip", new AsyncCallback<Void>() {
                                                                    
                                                                                                                                                      @Override
                                                                                                                                                      public void onSuccess(Void result) {
                                                                    
                                                                    
                                                                                                                                                          mediciService.splitSip(
                                                                                                                                                                  SeadApp.tmpHome+guid+"_sip",
                                                                                                                                                                  new AsyncCallback<Integer>() {
                                                                    
                                                                                                                                                              @Override
                                                                                                                                                              public void onSuccess(Integer result) {
                                                                                                                                                                  n=result;
                                                                                                                                                                  l++;
                                                                                                                                                                  if(l<=n){
                                                                                                                                                                      mediciService.generateWfInstanceId(new AsyncCallback<String>() {
                                                                    
                                                                                                                                                                          @Override
                                                                                                                                                                          public void onSuccess(final String wfInstanceId) {
                                                                                                                                                                              UserServiceAsync user =
                                                                                                                                                                                      GWT.create(UserService.class);
                                                                                                                                                                              user.checkSession(null,new AsyncCallback<UserSession>() {
                                                                    
                                                                                                                                                                                  @Override
                                                                                                                                                                                  public void onFailure(
                                                                                                                                                                                          Throwable caught) {
                                                                                                                                                                                      // TODO Auto-generated method stub
                                                                    
                                                                                                                                                                                  }
                                                                    
                                                                                                                                                                                  @Override
                                                                                                                                                                                  public void onSuccess(
                                                                                                                                                                                          UserSession result) {
                                                                    
                                                                                                                                                                                      mediciService.submitMultipleSips(SeadApp.deposit_endpoint + "sip",
                                                                                                                                                                                              (String) pair.getKey(),
                                                                                                                                                                                              sparqlEndpoint,
                                                                                                                                                                                              SeadApp.tmpHome+guid+"_sip",
                                                                                                                                                                                              wfInstanceId,
                                                                                                                                                                                              null,
                                                                                                                                                                                              l, n, "", "", false, GWT.getModuleBaseURL(),SeadApp.tmpHome,
                                                                                                                                                                                              new AsyncCallback<String>() {
                                                                    
                                                                                                                                                                                                  @Override
                                                                                                                                                                                                  public void onSuccess(final String result) {
                                                                                                                                                                                                      l=-1;
                                                                                                                                                                                                      final Label notify = Util.label("!", "Notification");
                                                                                                                                                                                                      notify.addClickHandler(new ClickHandler() {
                                                                    
                                                                                                                                                                                                          @Override
                                                                                                                                                                                                          public void onClick(ClickEvent event) {
                                                                                                                                                                                                              StatusPopupPanel mediciWait = new StatusPopupPanel("Retrieving","done",false);
                                                                                                                                                                                                              MessagePopupPanel popUpPanel = new MessagePopupPanel(result, "done", true);
                                                                                                                                                                                                              popUpPanel.show();
                                                                                                                                                                                                              nPanel.remove(notify);
                                                                                                                                                                                                          }
                                                                                                                                                                                                      });
                                                                                                                                                                                                      nPanel.add(notify);
                                                                                                                                                                                                  }
                                                                    
                                                                                                                                                                                                  @Override
                                                                                                                                                                                                  public void onFailure(Throwable caught) {
                                                                                                                                                                                                      Window.alert("Workflow failed.");
                                                                                                                                                                                                  }
                                                                                                                                                                                              });
                                                                    
                                                                                                                                                                                  }
                                                                    
                                                                                                                                                                              });
                                                                                                                                                                          }
                                                                    
                                                                                                                                                                          @Override
                                                                                                                                                                          public void onFailure(
                                                                                                                                                                                  Throwable caught) {
                                                                                                                                                                              // TODO Auto-generated method stub
                                                                    
                                                                                                                                                                          }
                                                                                                                                                                      });
                                                                    
                                                                                                                                                                  }
                                                                                                                                                                  else{
                                                                                                                                                                      Window.alert("This dataset is already ingested. Please clear checkpointing if you want to rerun the workflow");
                                                                                                                                                                  }
                                                                                                                                                              }
                                                                    
                                                                                                                                                              @Override
                                                                                                                                                              public void onFailure(Throwable caught) {
                                                                                                                                                                  // TODO Auto-generated method stub
                                                                    
                                                                                                                                                              }
                                                                                                                                                          });
                                                                                                                                                      }
                                                                    
                                                                                                                                                      @Override
                                                                                                                                                      public void onFailure(Throwable caught) {
                                                                                                                                                          // TODO Auto-generated method stub
                                                                    
                                                                                                                                                      }
                                                                                                                                                  });
                                                                                                                                              }
                                                                    
                                                                                                                                          @Override
                                                                                                                                          public void onFailure(Throwable caught) {
                                                                                                                                              // TODO Auto-generated method stub
                                                                    
                                                                                                                                          }
                                                                                                                                      };
                                                                                                                                      mediciService.toVAmodel(rootMediciId,rootMediciId,sparqlEndpoint, SeadApp.tmpHome, vaModelCb );
                                                                    
                                                                                                                                  }
                                                                                                                              });
                                                                    
                                                                                                                              coverRightPanel.setVisible(true);
                                                                                                                          }
                                                                                                                          else{
                                                                                                                              mediciService.getRelations(new AsyncCallback<DatasetRelation>(){
                                                                    
                                                                    
                                                                    
                                                                                                                                  @Override
                                                                                                                                  public void onFailure(
                                                                                                                                          Throwable caught) {
                                                                                                                                      Window.alert("Failed:"+caught.getMessage());
                                                                    
                                                                                                                                  }
                                                                    
                                                                                                                                  @Override
                                                                                                                                  public void onSuccess(
                                                                                                                                          final DatasetRelation relations) {
                                                                    
                                                                    
                                                                    
                                                                                                                                      display.getDatasetLbl().setText("Browse Collection and sub-Collections");
                                                                                                                                      display.getFileLbl().setText("Browse Files");
                                                                                                                                          TreeViewModel model =
                                                                                                                                                  new CollectionTreeViewModel(selectionModel, relations, (String) pair.getKey());
                                                                                                                                          CellTree.Resources resource = GWT.create(TreeResources.class);
                                                                                                                                          CellTree tree = new CellTree(model, null,resource);
                                                                                                                                          //collection select
                                                                                                                                          CollectionSelectEvent.register(EVENT_BUS, new CollectionSelectEvent.Handler() {
                                                                                                                                                 public void onMessageReceived(final CollectionSelectEvent event) {
                                                                    
                                                                                                                                                      rightPanel.clear();
                                                                                                                                                      rightPanel.add(getFiles(relations.getDuAttrMap(), relations.getFileAttrMap(), event.getCollection().getId(),event.getValue()));
                                                                                                                                                 }
                                                                                                                                          });
                                                                    
                                                                                                                                          //collection click
                                                                                                                                          CollectionClickEvent.register(EVENT_BUS, new CollectionClickEvent.Handler() {
                                                                                                                                                 public void onMessageReceived(final CollectionClickEvent event) {
                                                                    
                                                                                                                                                     if(existingFileSets.containsKey(event.getCollection().getId())){
                                                                                                                                                          rightPanel.clear();
                                                                                                                                                          rightPanel.add(existingFileSets.get(event.getCollection().getId()).cellTable);
                                                                                                                                                      }
                                                                                                                                                      else{
                                                                    
                                                                                                                                                          rightPanel.clear();
                                                                                                                                                          rightPanel.add(getFiles(relations.getDuAttrMap(), relations.getFileAttrMap(), event.getCollection().getId(),false));
                                                                                                                                                     }
                                                                                                                                                 }
                                                                                                                                              });
                                                                                                                                          //collection passive click
                                                                                                                                          CollectionPassiveSelectEvent.register(EVENT_BUS, new CollectionPassiveSelectEvent.Handler() {
                                                                                                                                                 public void onMessageReceived(final CollectionPassiveSelectEvent event) {
                                                                    
                                                                                                                                                     CellTable files ;
                                                                                                                                                     if(existingFileSets.containsKey(event.getCollection().getId())){
                                                                                                                                                         files = existingFileSets.get(event.getCollection().getId()).cellTable;
                                                                                                                                                         for(String file:relations.getDuAttrMap().get(event.getCollection().getId()).getSub().get(SubType.File)){
                                                                                                                                                             files.getSelectionModel().setSelected((FileNode)relations.getFileAttrMap().get(file),event.getValue());
                                                                                                                                                         }
                                                                                                                                                     }
                                                                                                                                                     else{
                                                                                                                                                         files = (CellTable) getFiles(relations.getDuAttrMap(), relations.getFileAttrMap(), event.getCollection().getId(),event.getValue());
                                                                                                                                                     }
                                                                    
                                                                                                                                                 }
                                                                                                                                              });
                                                                    
                                                                                                                                          collectionWait.hide();
                                                                                                                                          leftPanel.clear();
                                                                                                                                          leftPanel.add(tree);
                                                                    
                                                                                                                                      if(collectionWait.isShowing())
                                                                                                                                          collectionWait.hide();
                                                                                                                                      getPub.setEnabled(false);
                                                                                                                                      cloudCopy.setEnabled(true);
                                                                                                                                      mdCb.setEnabled(true);
                                                                                                                                      ingestButton.setEnabled(true);
                                                                                                                                      ir.setEnabled(false);
                                                                                                                                      ir.setStyleName("greyFont");
                                                                                                                                      getPub.setStyleName("greyFont");
                                                                                                                                      cloudCopy.setStyleName("greenFont");
                                                                                                                                      mdCb.setStyleName("greenFont");
                                                                                                                                      ingestButton.setStyleName("greenFont");
                                                                    
                                                                                                                                      ingestButton.addClickHandler(new ClickHandler() {
                                                                    
                                                                                                                                          @Override
                                                                                                                                          public void onClick(ClickEvent event) {
                                                                                                                                              ingestButton.setEnabled(false);
                                                                                                                                              cloudCopy.setEnabled(false);
                                                                                                                                              ir.setEnabled(false);
                                                                                                                                              getPub.setEnabled(true);
                                                                                                                                              String rootMediciId= (String) pair.getKey();
                                                                                                                                              CollectionNode root = relations.getDuAttrMap().get(rootMediciId);
                                                                    
                                                                    
                                                                                                                                              AsyncCallback<Void> vaModelCb = new AsyncCallback<Void>() {
                                                                                                                                                      @Override
                                                                                                                                                      public void onSuccess(Void result) {
                                                                                                                                                          mediciService.addMetadata(metadataSrc, SeadApp.tmpHome+guid+"_sip",new AsyncCallback<Void>() {
                                                                    
                                                                                                                                                              @Override
                                                                                                                                                              public void onSuccess(Void result) {
                                                                                                                                                                  String tempguid = null;
                                                                                                                                                                  if(((String) pair.getKey()).contains("/"))
                                                                                                                                                                      tempguid = ((String) pair.getKey()).split("/")
                                                                                                                                                                      [((String) pair.getKey()).split("/").length-1];
                                                                                                                                                                  else
                                                                                                                                                                      tempguid = ((String) pair.getKey()).split(":")
                                                                                                                                                                      [((String) pair.getKey()).split(":").length-1];
                                                                                                                                                                  final String guid = tempguid;
                                                                    
                                                                                                                                                                  mediciService.splitSip(
                                                                                                                                                                          SeadApp.tmpHome+guid+"_sip",
                                                                                                                                                                          new AsyncCallback<Integer>() {
                                                                    
                                                                                                                                                                      @Override
                                                                                                                                                                      public void onSuccess(Integer result) {
                                                                                                                                                                          n=result;
                                                                                                                                                                          l++;
                                                                    
                                                            //                                                                                                                     Window.alert("Starting ingest of dataset");//. We already have the cached SIP for this dataset.");
                                                                                                                                                                          mediciService.generateWfInstanceId(new AsyncCallback<String>() {
                                                                    
                                                                                                                                                                              @Override
                                                                                                                                                                              public void onSuccess(String wfInstanceId) {
                                                                                                                                                                                  //Open a status panel that self queries the database for changes
                                                                                                                                                                                  WfEventRefresherPanel eventRefresher = new WfEventRefresherPanel(submitterId, wfInstanceId);
                                                                                                                                                                                  eventRefresher.show();
                                                                                                                                                                                  mediciService.submitMultipleSips(SeadApp.deposit_endpoint + "sip",
                                                                                                                                                                                          (String)pair.getKey(),
                                                                                                                                                                                          sparqlEndpoint,
                                                                                                                                                                                          SeadApp.tmpHome+guid+"_sip",
                                                                                                                                                                                          wfInstanceId,
                                                                                                                                                                                          null,
                                                                                                                                                                                          l, n, "", "", false, GWT.getModuleBaseURL(),SeadApp.tmpHome,
                                                                                                                                                                                          new AsyncCallback<String>() {
                                                                    
                                                                                                                                                                                              @Override
                                                                                                                                                                                              public void onSuccess(final String result) {
                                                                                                                                                                                                  l=-1;
                                                                                                                                                                                                  final Label notify = Util.label("!", "Notification");
                                                                                                                                                                                                  notify.addClickHandler(new ClickHandler() {
                                                                    
                                                                                                                                                                                                      @Override
                                                                                                                                                                                                      public void onClick(ClickEvent event) {
                                                                                                                                                                                                          MessagePopupPanel popUpPanel = new MessagePopupPanel(result, "done", true);
                                                                                                                                                                                                          popUpPanel.show();
                                                                                                                                                                                                          nPanel.remove(notify);
                                                                                                                                                                                                      }
                                                                                                                                                                                                  });
                                                            //                                                                                                                                       nPanel.add(notify);
                                                                                                                                                                                              }
                                                                    
                                                                                                                                                                                              @Override
                                                                                                                                                                                              public void onFailure(Throwable caught) {
                                                                    
                                                                                                                                                                                              }
                                                                                                                                                                                          });
                                                                    
                                                                                                                                                                              }
                                                                    
                                                                                                                                                                              @Override
                                                                                                                                                                              public void onFailure(Throwable caught) {
                                                                    
                                                                                                                                                                              }
                                                                                                                                                                          });
                                                                    
                                                                                                                                                                      }
                                                                    
                                                                                                                                                                      @Override
                                                                                                                                                                      public void onFailure(Throwable caught) {
                                                                                                                                                                          Window.alert("Failed. \n"+caught.getMessage());
                                                                                                                                                                      }
                                                                                                                                                                  });
                                                                                                                                                              }
                                                                    
                                                                                                                                                              @Override
                                                                                                                                                              public void onFailure(Throwable caught) {
                                                                                                                                                                  Window.alert("Failed. \n"+caught.getMessage());
                                                                                                                                                              }
                                                                                                                                                          });
                                                                                                                                                      }
                                                                    
                                                                                                                                                  @Override
                                                                                                                                                  public void onFailure(Throwable caught) {
                                                                                                                                                      Window.alert("Failed. \n"+caught.getMessage());
                                                                                                                                                  }
                                                                                                                                              };
                                                                                                                                              mediciService.toVAmodel(rootMediciId,rootMediciId, sparqlEndpoint, SeadApp.tmpHome, vaModelCb );
                                                                    
                                                                                                                                          }
                                                                                                                                      });
                                                                                                                                      coverRightPanel.setVisible(true);
                                                                                                                                  }
                                                                                                                              });
                                                                                                                          }
                                                                                                                      }
                                                                                                                  });
                                                                                                              }
                                                                    
                                                                                                              @Override
                                                                                                              public void onFailure(Throwable caught) {
                                                                                                                  Window.alert("Failed:"+caught.getMessage());
                                                                    
                                                                                                              }
                                                                                                          });
                                                                    
                                                                                                      }
                                                                                                  };
                                                                                                  getSIPTimer.schedule(5000);
                                                                                                      }
                                                                    
                                                                                                      @Override
                                                                                                      public void onFailure(Throwable caught) {
                                                                                                          Window.alert("Failed:"+caught.getMessage());
                                                                    
                                                                                                      }
                                                                                                  });
                                                                    
                                                                              }
                                                                              else{
                                                                                  //restart ingest
                                                                    
                                                                                  n=result.getNumSplitSIPs();
                                                                                  String[] arr = result.getResumeSipPath().split("_");
                                                                                  int sipNumber = Integer.parseInt(arr[arr.length-1].split("\\.")[0]);
                                                                                  l = sipNumber;
                                                                                  if(l<=n){
                                                                    
                                                                                      Window.alert("Starting reingest of dataset. We already have the cached SIP for this dataset.");
                                                                                      mediciService.generateWfInstanceId(new AsyncCallback<String>() {
                                                                    
                                                                                          @Override
                                                                                          public void onSuccess(String wfInstanceId) {
                                                                                              mediciService.submitMultipleSips(SeadApp.deposit_endpoint + "sip",
                                                                                                      null,
                                                                                                      sparqlEndpoint,
                                                                                                      result.getResumeSipPath().replace("_"+l+".xml", ""),
                                                                                                      wfInstanceId,
                                                                                                      result.getPreviousStatusUrls(),
                                                                                                      l, n, "", "", false, GWT.getModuleBaseURL(),SeadApp.tmpHome,
                                                                                                      new AsyncCallback<String>() {
                                                                    
                                                                                                          @Override
                                                                                                          public void onSuccess(final String result) {
                                                                                                              l=-1;
                                                                                                              final Label notify = Util.label("!", "Notification");
                                                                                                              notify.addClickHandler(new ClickHandler() {
                                                                    
                                                                                                                  @Override
                                                                                                                  public void onClick(ClickEvent event) {
                                                                                                                      MessagePopupPanel popUpPanel = new MessagePopupPanel(result, "done", true);
                                                                                                                      popUpPanel.show();
                                                                                                                      nPanel.remove(notify);
                                                                                                                  }
                                                                                                              });
                                                                                                              nPanel.add(notify);
                                                                                                          }
                                                                    
                                                                                                          @Override
                                                                                                          public void onFailure(Throwable caught) {
                                                                    
                                                                                                          }
                                                                                                      });
                                                                                              //Open a status panel that self queries the database for changes
                                                                                          WfEventRefresherPanel eventRefresher = new WfEventRefresherPanel(submitterId, wfInstanceId);
                                                                                          eventRefresher.show();
                                                                                          }
                                                                    
                                                                                          @Override
                                                                                          public void onFailure(Throwable caught) {
                                                                    
                                                                                          }
                                                                                      });
                                                                    
                                                                                  }
                                                                                  else{
                                                                                      Window.alert("This dataset is already ingested. Please clear checkpointing if you want to rerun the workflow.");
                                                                                  }
                                                                                  //MediciIngestPresenter.EVENT_BUS.fireEvent(new SubmitSipEvent(
                                                            //                                                result.getResumeSipPath().replace("_"+l+".xml", ""),
                                                            //                                                result.getPreviousStatusUrls()
                                                            //                                                ));
                                                                              }
                                                                    
                                                                          }
                                                                      });
                                                                  }
                                                              });
                                                                  }
                                                            */ int index;
                                                            if (flagHyperlink == 1) {
                                                                index = first;
                                                                first++;
                                                            } else {
                                                                index = last;
                                                                last--;
                                                            }

                                                            grid.setWidget(index, 0, dataset);
                                                            grid.getRowFormatter().setStyleName(index,
                                                                    "DatasetsRow");

                                                        }
                                                    });
                                            it.remove(); // avoids a ConcurrentModificationException
                                        }
                                        //    leftPanel.add(grid);

                                    }

                                    @Override
                                    public void onFailure(Throwable caught) {
                                        // TODO Auto-generated method stub

                                    }
                                });
                            }
                        });
                    } catch (RequestException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                }

                @Override
                public void onFailure(Throwable caught) {
                    // TODO Auto-generated method stub

                }
            });
        }
    });

}

From source file:org.dataconservancy.dcs.access.client.presenter.AcrPublishDataPresenter.java

License:Apache License

void addGetPubHandler() {

    acrProjectList.addChangeHandler(new ChangeHandler() {

        @Override/*w  w w.ja  va2  s .  c o  m*/
        public void onChange(ChangeEvent event) {
            ROList.clear();
            final NotificationPopupPanel mediciWait = new NotificationPopupPanel("Retrieving", false);
            mediciWait.show();
            previousSelectedFiles = new HashMap<String, List<FileNode>>();
            int selected = acrProjectList.getSelectedIndex();
            final String instance = acrProjectList.getValue(selected);

            mediciService.getAcrInstances(new AsyncCallback<List<MediciInstance>>() {

                @Override
                public void onSuccess(List<MediciInstance> result) {
                    for (MediciInstance ins : result)
                        if (ins.getTitle().equalsIgnoreCase(instance))
                            sparqlEndpoint = ins;
                    RequestBuilder rb = new RequestBuilder(RequestBuilder.GET,
                            SeadApp.ACRCOMMON + "?instance=" + URL.encodeQueryString(sparqlEndpoint.getTitle())
                                    + "&" + "query="
                                    + URL.encodeQueryString(Query.PROPOSED_FOR_PUBLICATION.getTitle()));

                    rb.setHeader("Content-type", "application/x-www-form-urlencoded");
                    try {
                        Request response = rb.sendRequest(null, new RequestCallback() {
                            @Override
                            public void onError(Request request, Throwable exception) {
                                new ErrorPopupPanel("Error:" + exception.getMessage()).show();
                            }

                            @Override
                            public void onResponseReceived(Request request, Response response) {
                                String json = response.getText();
                                mediciService.parseJson(json, new AsyncCallback<Map<String, String>>() {

                                    @Override
                                    public void onSuccess(Map<String, String> result) {

                                        //   leftPanel.clear();
                                        JsonpRequestBuilder rb = new JsonpRequestBuilder();
                                        rb.setTimeout(100000);

                                        mediciWait.hide();
                                        last = result.size() - 1;
                                        final FlexTable grid = new FlexTable();
                                        grid.setWidth("100%");
                                        grid.setHeight("100%");

                                        final Iterator it = result.entrySet().iterator();
                                        while (it.hasNext()) {
                                            final Map.Entry pair = (Map.Entry) it.next();
                                            final String dName = (String) pair.getValue();
                                            final String datasetId = (String) pair.getKey();

                                            flagHyperlink = 0;
                                            String tagRetrieveUrl = SeadApp.accessurl + SeadApp.queryPath
                                                    + "?q=resourceValue:" + "(" + URL.encodeQueryString(
                                                            ((String) pair.getKey()).replace(":", "\\:"))
                                                    + ")";
                                            rb.requestObject(tagRetrieveUrl,
                                                    new AsyncCallback<JsSearchResult>() {

                                                        public void onFailure(Throwable caught) {
                                                            Util.reportInternalError(
                                                                    "Matching collection in VA failed", caught);
                                                        }

                                                        public void onSuccess(JsSearchResult result) {

                                                            dataset = Util.label(
                                                                    dName.substring(dName.lastIndexOf("/") + 1),
                                                                    "Hyperlink");
                                                            flagHyperlink = 1;
                                                            ROList.addItem(
                                                                    dName.substring(dName.lastIndexOf("/") + 1),
                                                                    datasetId);

                                                            int index;
                                                            if (flagHyperlink == 1) {
                                                                index = first;
                                                                first++;
                                                            } else {
                                                                index = last;
                                                                last--;
                                                            }

                                                            grid.setWidget(index, 0, dataset);
                                                            grid.getRowFormatter().setStyleName(index,
                                                                    "DatasetsRow");
                                                        }
                                                    });
                                            it.remove(); // avoids a ConcurrentModificationException
                                        }
                                        //    leftPanel.add(grid);

                                    }

                                    @Override
                                    public void onFailure(Throwable caught) {
                                        new ErrorPopupPanel("Error:" + caught.getMessage());
                                    }
                                });
                            }
                        });
                    } catch (RequestException e) {
                        new ErrorPopupPanel("Error:" + e.getMessage());
                    }
                }

                @Override
                public void onFailure(Throwable caught) {
                    new ErrorPopupPanel("Error:" + caught.getMessage());
                }
            });
        }
    });
}

From source file:org.dataconservancy.dcs.access.client.presenter.MediciIngestPresenter.java

License:Apache License

void addGetPubHandler() {
    getPub.addClickHandler(new ClickHandler() {

        @Override// w w  w . j  av a  2 s . c o  m
        public void onClick(ClickEvent event) {
            final StatusPopupPanel mediciWait = new StatusPopupPanel("Retrieving", "wait", false);
            mediciWait.show();
            existingFileSets = new HashMap<String, FileTable>();
            previousSelectedFiles = new HashMap<String, List<FileNode>>();
            int selected = ir.getSelectedIndex();

            final String instance = ir.getValue(selected);

            mediciService.getAcrInstances(new AsyncCallback<List<MediciInstance>>() {

                @Override
                public void onSuccess(List<MediciInstance> result) {

                    for (MediciInstance ins : result)
                        if (ins.getTitle().equalsIgnoreCase(instance))
                            sparqlEndpoint = ins;

                    RequestBuilder rb = new RequestBuilder(RequestBuilder.GET,
                            SeadApp.ACRCOMMON + "?instance=" + URL.encodeQueryString(sparqlEndpoint.getTitle())
                                    + "&" + "query="
                                    + URL.encodeQueryString(Query.PROPOSED_FOR_PUBLICATION.getTitle()));

                    rb.setHeader("Content-type", "application/x-www-form-urlencoded");

                    try {
                        Request response = rb.sendRequest(null, new RequestCallback() {
                            @Override
                            public void onError(Request request, Throwable exception) {
                                Window.alert("Failed");
                            }

                            @Override
                            public void onResponseReceived(Request request, Response response) {
                                String json = response.getText();
                                mediciService.parseJson(json, new AsyncCallback<Map<String, String>>() {

                                    @Override
                                    public void onSuccess(Map<String, String> result) {

                                        leftPanel.clear();
                                        JsonpRequestBuilder rb = new JsonpRequestBuilder();
                                        rb.setTimeout(100000);

                                        mediciWait.hide();
                                        last = result.size() - 1;
                                        final FlexTable grid = new FlexTable();
                                        grid.setWidth("100%");
                                        grid.setHeight("100%");

                                        final Iterator it = result.entrySet().iterator();
                                        while (it.hasNext()) {
                                            final Map.Entry pair = (Map.Entry) it.next();
                                            final String dName = (String) pair.getValue();

                                            flagHyperlink = 0;
                                            String tagRetrieveUrl = SeadApp.accessurl + SeadApp.queryPath
                                                    + "?q=resourceValue:" + "(" + URL.encodeQueryString(
                                                            ((String) pair.getKey()).replace(":", "\\:"))
                                                    + ")";
                                            rb.requestObject(tagRetrieveUrl,
                                                    new AsyncCallback<JsSearchResult>() {

                                                        public void onFailure(Throwable caught) {
                                                            Util.reportInternalError(
                                                                    "Matching collection in VA failed", caught);

                                                        }

                                                        public void onSuccess(JsSearchResult result) {
                                                            //                                          if(result.matches().length()==0||sparqlEndpoint.equals("http://sead.ncsa.illinois.edu/acr/resteasy/sparql"))
                                                            //                                          {
                                                            dataset = Util.label(
                                                                    dName.substring(dName.lastIndexOf("/") + 1),
                                                                    "Hyperlink");
                                                            flagHyperlink = 1;
                                                            //                                          }                           
                                                            //                                          else
                                                            //                                              flagHyperlink =0;

                                                            if (flagHyperlink == 1) {
                                                                dataset.addClickHandler(new ClickHandler() {
                                                                    @Override
                                                                    public void onClick(ClickEvent event) {
                                                                        mediciService.restartIngest(
                                                                                (String) pair.getKey(),
                                                                                SeadApp.tmpHome,
                                                                                new AsyncCallback<CheckPointDetail>() {

                                                                                    @Override
                                                                                    public void onFailure(
                                                                                            Throwable caught) {
                                                                                        Window.alert(
                                                                                                "Error in estimating reingest scenario. \n"
                                                                                                        + caught.getMessage());
                                                                                    }

                                                                                    @Override
                                                                                    public void onSuccess(
                                                                                            final CheckPointDetail result) {
                                                                                        if (!result
                                                                                                .isCheckPointed()) {
                                                                                            final StatusPopupPanel collectionWait = new StatusPopupPanel(
                                                                                                    "Querying for BagIt Bag",
                                                                                                    "bag",
                                                                                                    false);
                                                                                            collectionWait
                                                                                                    .show();

                                                                                            final MultiSelectionModel<CollectionNode> selectionModel = new MultiSelectionModel<CollectionNode>();

                                                                                            mediciService
                                                                                                    .getBag((String) pair
                                                                                                            .getKey(),
                                                                                                            sparqlEndpoint,
                                                                                                            SeadApp.bagIturl,
                                                                                                            SeadApp.tmpHome,
                                                                                                            new AsyncCallback<String>() {
                                                                                                                @Override
                                                                                                                public void onSuccess(
                                                                                                                        final String bagPath) {
                                                                                                                    collectionWait
                                                                                                                            .setValue(
                                                                                                                                    "Converting to SEAD SIP",
                                                                                                                                    "wait");

                                                                                                                    final Timer getSIPTimer = new Timer() {

                                                                                                                        @Override
                                                                                                                        public void run() {
                                                                                                                            String tempguid = null;
                                                                                                                            if (((String) pair
                                                                                                                                    .getKey())
                                                                                                                                            .contains(
                                                                                                                                                    "/"))
                                                                                                                                tempguid = ((String) pair
                                                                                                                                        .getKey())
                                                                                                                                                .split("/")[((String) pair
                                                                                                                                                        .getKey())
                                                                                                                                                                .split("/").length
                                                                                                                                                        - 1];
                                                                                                                            else
                                                                                                                                tempguid = ((String) pair
                                                                                                                                        .getKey())
                                                                                                                                                .split(":")[((String) pair
                                                                                                                                                        .getKey())
                                                                                                                                                                .split(":").length
                                                                                                                                                        - 1];
                                                                                                                            final String guid = tempguid;
                                                                                                                            mediciService
                                                                                                                                    .getSipFromBag(
                                                                                                                                            bagPath,
                                                                                                                                            SeadApp.tmpHome
                                                                                                                                                    + guid
                                                                                                                                                    + "_sip.xml",
                                                                                                                                            SeadApp.bagIturl,
                                                                                                                                            new AsyncCallback<String>() {

                                                                                                                                                @Override
                                                                                                                                                public void onSuccess(
                                                                                                                                                        String result) {

                                                                                                                                                    mediciService
                                                                                                                                                            .getFileNos(
                                                                                                                                                                    new AsyncCallback<Integer>() {
                                                                                                                                                                        @Override
                                                                                                                                                                        public void onFailure(
                                                                                                                                                                                Throwable caught) {
                                                                                                                                                                            Window.alert(
                                                                                                                                                                                    "Failed:"
                                                                                                                                                                                            + caught.getMessage());

                                                                                                                                                                        }

                                                                                                                                                                        @Override
                                                                                                                                                                        public void onSuccess(
                                                                                                                                                                                Integer size) {
                                                                                                                                                                            if (size > Constants.MAX) {
                                                                                                                                                                                Window.alert(
                                                                                                                                                                                        "This collection has more than "
                                                                                                                                                                                                + Constants.MAX
                                                                                                                                                                                                + " files.\n"
                                                                                                                                                                                                + "Hence preview is not possible. But you can start the ingest");
                                                                                                                                                                                if (collectionWait
                                                                                                                                                                                        .isShowing())
                                                                                                                                                                                    collectionWait
                                                                                                                                                                                            .hide();
                                                                                                                                                                                getPub.setEnabled(
                                                                                                                                                                                        false);
                                                                                                                                                                                cloudCopy
                                                                                                                                                                                        .setEnabled(
                                                                                                                                                                                                true);
                                                                                                                                                                                mdCb.setEnabled(
                                                                                                                                                                                        true);
                                                                                                                                                                                ingestButton
                                                                                                                                                                                        .setEnabled(
                                                                                                                                                                                                true);
                                                                                                                                                                                ir.setEnabled(
                                                                                                                                                                                        false);
                                                                                                                                                                                ir.setStyleName(
                                                                                                                                                                                        "greyFont");
                                                                                                                                                                                getPub.setStyleName(
                                                                                                                                                                                        "greyFont");
                                                                                                                                                                                cloudCopy
                                                                                                                                                                                        .setStyleName(
                                                                                                                                                                                                "greenFont");
                                                                                                                                                                                mdCb.setStyleName(
                                                                                                                                                                                        "greenFont");
                                                                                                                                                                                ingestButton
                                                                                                                                                                                        .setStyleName(
                                                                                                                                                                                                "greenFont");

                                                                                                                                                                                ingestButton
                                                                                                                                                                                        .addClickHandler(
                                                                                                                                                                                                new ClickHandler() {

                                                                                                                                                                                                    @Override
                                                                                                                                                                                                    public void onClick(
                                                                                                                                                                                                            ClickEvent event) {
                                                                                                                                                                                                        ingestButton
                                                                                                                                                                                                                .setEnabled(
                                                                                                                                                                                                                        false);
                                                                                                                                                                                                        cloudCopy
                                                                                                                                                                                                                .setEnabled(
                                                                                                                                                                                                                        false);
                                                                                                                                                                                                        ir.setEnabled(
                                                                                                                                                                                                                false);
                                                                                                                                                                                                        getPub.setEnabled(
                                                                                                                                                                                                                true);
                                                                                                                                                                                                        String rootMediciId = (String) pair
                                                                                                                                                                                                                .getKey();

                                                                                                                                                                                                        AsyncCallback<Void> vaModelCb = new AsyncCallback<Void>() {
                                                                                                                                                                                                            @Override
                                                                                                                                                                                                            public void onSuccess(
                                                                                                                                                                                                                    Void result) {
                                                                                                                                                                                                                mediciService
                                                                                                                                                                                                                        .addMetadata(
                                                                                                                                                                                                                                metadataSrc,
                                                                                                                                                                                                                                SeadApp.tmpHome
                                                                                                                                                                                                                                        + guid
                                                                                                                                                                                                                                        + "_sip",
                                                                                                                                                                                                                                new AsyncCallback<Void>() {

                                                                                                                                                                                                                                    @Override
                                                                                                                                                                                                                                    public void onSuccess(
                                                                                                                                                                                                                                            Void result) {

                                                                                                                                                                                                                                        mediciService
                                                                                                                                                                                                                                                .splitSip(
                                                                                                                                                                                                                                                        SeadApp.tmpHome
                                                                                                                                                                                                                                                                + guid
                                                                                                                                                                                                                                                                + "_sip",
                                                                                                                                                                                                                                                        new AsyncCallback<Integer>() {

                                                                                                                                                                                                                                                            @Override
                                                                                                                                                                                                                                                            public void onSuccess(
                                                                                                                                                                                                                                                                    Integer result) {
                                                                                                                                                                                                                                                                n = result;
                                                                                                                                                                                                                                                                l++;
                                                                                                                                                                                                                                                                if (l <= n) {
                                                                                                                                                                                                                                                                    mediciService
                                                                                                                                                                                                                                                                            .generateWfInstanceId(
                                                                                                                                                                                                                                                                                    new AsyncCallback<String>() {

                                                                                                                                                                                                                                                                                        @Override
                                                                                                                                                                                                                                                                                        public void onSuccess(
                                                                                                                                                                                                                                                                                                final String wfInstanceId) {
                                                                                                                                                                                                                                                                                            UserServiceAsync user = GWT
                                                                                                                                                                                                                                                                                                    .create(UserService.class);
                                                                                                                                                                                                                                                                                            user.checkSession(
                                                                                                                                                                                                                                                                                                    null,
                                                                                                                                                                                                                                                                                                    new AsyncCallback<UserSession>() {

                                                                                                                                                                                                                                                                                                        @Override
                                                                                                                                                                                                                                                                                                        public void onFailure(
                                                                                                                                                                                                                                                                                                                Throwable caught) {
                                                                                                                                                                                                                                                                                                            // TODO Auto-generated method stub

                                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                                        @Override
                                                                                                                                                                                                                                                                                                        public void onSuccess(
                                                                                                                                                                                                                                                                                                                UserSession result) {

                                                                                                                                                                                                                                                                                                            mediciService
                                                                                                                                                                                                                                                                                                                    .submitMultipleSips(
                                                                                                                                                                                                                                                                                                                            SeadApp.deposit_endpoint
                                                                                                                                                                                                                                                                                                                                    + "sip",
                                                                                                                                                                                                                                                                                                                            (String) pair
                                                                                                                                                                                                                                                                                                                                    .getKey(),
                                                                                                                                                                                                                                                                                                                            sparqlEndpoint,
                                                                                                                                                                                                                                                                                                                            SeadApp.tmpHome
                                                                                                                                                                                                                                                                                                                                    + guid
                                                                                                                                                                                                                                                                                                                                    + "_sip",
                                                                                                                                                                                                                                                                                                                            wfInstanceId,
                                                                                                                                                                                                                                                                                                                            null,
                                                                                                                                                                                                                                                                                                                            l,
                                                                                                                                                                                                                                                                                                                            n,
                                                                                                                                                                                                                                                                                                                            "",
                                                                                                                                                                                                                                                                                                                            "",
                                                                                                                                                                                                                                                                                                                            false,
                                                                                                                                                                                                                                                                                                                            GWT.getModuleBaseURL(),
                                                                                                                                                                                                                                                                                                                            SeadApp.tmpHome,
                                                                                                                                                                                                                                                                                                                            false,
                                                                                                                                                                                                                                                                                                                            false,
                                                                                                                                                                                                                                                                                                                            new AsyncCallback<String>() {

                                                                                                                                                                                                                                                                                                                                @Override
                                                                                                                                                                                                                                                                                                                                public void onSuccess(
                                                                                                                                                                                                                                                                                                                                        final String result) {
                                                                                                                                                                                                                                                                                                                                    l = -1;
                                                                                                                                                                                                                                                                                                                                    final Label notify = Util
                                                                                                                                                                                                                                                                                                                                            .label("!",
                                                                                                                                                                                                                                                                                                                                                    "Notification");
                                                                                                                                                                                                                                                                                                                                    notify.addClickHandler(
                                                                                                                                                                                                                                                                                                                                            new ClickHandler() {

                                                                                                                                                                                                                                                                                                                                                @Override
                                                                                                                                                                                                                                                                                                                                                public void onClick(
                                                                                                                                                                                                                                                                                                                                                        ClickEvent event) {
                                                                                                                                                                                                                                                                                                                                                    StatusPopupPanel mediciWait = new StatusPopupPanel(
                                                                                                                                                                                                                                                                                                                                                            "Retrieving",
                                                                                                                                                                                                                                                                                                                                                            "done",
                                                                                                                                                                                                                                                                                                                                                            false);
                                                                                                                                                                                                                                                                                                                                                    MessagePopupPanel popUpPanel = new MessagePopupPanel(
                                                                                                                                                                                                                                                                                                                                                            result,
                                                                                                                                                                                                                                                                                                                                                            "done",
                                                                                                                                                                                                                                                                                                                                                            true);
                                                                                                                                                                                                                                                                                                                                                    popUpPanel
                                                                                                                                                                                                                                                                                                                                                            .show();
                                                                                                                                                                                                                                                                                                                                                    nPanel.remove(
                                                                                                                                                                                                                                                                                                                                                            notify);
                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                            });
                                                                                                                                                                                                                                                                                                                                    nPanel.add(
                                                                                                                                                                                                                                                                                                                                            notify);
                                                                                                                                                                                                                                                                                                                                }

                                                                                                                                                                                                                                                                                                                                @Override
                                                                                                                                                                                                                                                                                                                                public void onFailure(
                                                                                                                                                                                                                                                                                                                                        Throwable caught) {
                                                                                                                                                                                                                                                                                                                                    Window.alert(
                                                                                                                                                                                                                                                                                                                                            "Workflow failed.");
                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                            });

                                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                                    });
                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                        @Override
                                                                                                                                                                                                                                                                                        public void onFailure(
                                                                                                                                                                                                                                                                                                Throwable caught) {
                                                                                                                                                                                                                                                                                            // TODO Auto-generated method stub

                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                    });

                                                                                                                                                                                                                                                                } else {
                                                                                                                                                                                                                                                                    Window.alert(
                                                                                                                                                                                                                                                                            "This dataset is already ingested. Please clear checkpointing if you want to rerun the workflow");
                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                            @Override
                                                                                                                                                                                                                                                            public void onFailure(
                                                                                                                                                                                                                                                                    Throwable caught) {
                                                                                                                                                                                                                                                                // TODO Auto-generated method stub

                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                        });
                                                                                                                                                                                                                                    }

                                                                                                                                                                                                                                    @Override
                                                                                                                                                                                                                                    public void onFailure(
                                                                                                                                                                                                                                            Throwable caught) {
                                                                                                                                                                                                                                        // TODO Auto-generated method stub

                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                });
                                                                                                                                                                                                            }

                                                                                                                                                                                                            @Override
                                                                                                                                                                                                            public void onFailure(
                                                                                                                                                                                                                    Throwable caught) {
                                                                                                                                                                                                                // TODO Auto-generated method stub

                                                                                                                                                                                                            }
                                                                                                                                                                                                        };
                                                                                                                                                                                                        mediciService
                                                                                                                                                                                                                .toVAmodel(
                                                                                                                                                                                                                        rootMediciId,
                                                                                                                                                                                                                        rootMediciId,
                                                                                                                                                                                                                        sparqlEndpoint,
                                                                                                                                                                                                                        SeadApp.tmpHome,
                                                                                                                                                                                                                        vaModelCb);

                                                                                                                                                                                                    }
                                                                                                                                                                                                });

                                                                                                                                                                                coverRightPanel
                                                                                                                                                                                        .setVisible(
                                                                                                                                                                                                true);
                                                                                                                                                                            } else {
                                                                                                                                                                                mediciService
                                                                                                                                                                                        .getRelations(
                                                                                                                                                                                                new AsyncCallback<DatasetRelation>() {

                                                                                                                                                                                                    @Override
                                                                                                                                                                                                    public void onFailure(
                                                                                                                                                                                                            Throwable caught) {
                                                                                                                                                                                                        Window.alert(
                                                                                                                                                                                                                "Failed:"
                                                                                                                                                                                                                        + caught.getMessage());

                                                                                                                                                                                                    }

                                                                                                                                                                                                    @Override
                                                                                                                                                                                                    public void onSuccess(
                                                                                                                                                                                                            final DatasetRelation relations) {

                                                                                                                                                                                                        display.getDatasetLbl()
                                                                                                                                                                                                                .setText(
                                                                                                                                                                                                                        "Browse Collection and sub-Collections");
                                                                                                                                                                                                        display.getFileLbl()
                                                                                                                                                                                                                .setText(
                                                                                                                                                                                                                        "Browse Files");
                                                                                                                                                                                                        TreeViewModel model = new CollectionTreeViewModel(
                                                                                                                                                                                                                selectionModel,
                                                                                                                                                                                                                relations,
                                                                                                                                                                                                                (String) pair
                                                                                                                                                                                                                        .getKey());
                                                                                                                                                                                                        CellTree.Resources resource = GWT
                                                                                                                                                                                                                .create(TreeResources.class);
                                                                                                                                                                                                        CellTree tree = new CellTree(
                                                                                                                                                                                                                model,
                                                                                                                                                                                                                null,
                                                                                                                                                                                                                resource);
                                                                                                                                                                                                        //collection select
                                                                                                                                                                                                        CollectionSelectEvent
                                                                                                                                                                                                                .register(
                                                                                                                                                                                                                        EVENT_BUS,
                                                                                                                                                                                                                        new CollectionSelectEvent.Handler() {
                                                                                                                                                                                                                            public void onMessageReceived(
                                                                                                                                                                                                                                    final CollectionSelectEvent event) {

                                                                                                                                                                                                                                rightPanel
                                                                                                                                                                                                                                        .clear();
                                                                                                                                                                                                                                rightPanel
                                                                                                                                                                                                                                        .add(getFiles(
                                                                                                                                                                                                                                                relations
                                                                                                                                                                                                                                                        .getDuAttrMap(),
                                                                                                                                                                                                                                                relations
                                                                                                                                                                                                                                                        .getFileAttrMap(),
                                                                                                                                                                                                                                                event.getCollection()
                                                                                                                                                                                                                                                        .getId(),
                                                                                                                                                                                                                                                event.getValue()));
                                                                                                                                                                                                                            }
                                                                                                                                                                                                                        });

                                                                                                                                                                                                        //collection click
                                                                                                                                                                                                        CollectionClickEvent
                                                                                                                                                                                                                .register(
                                                                                                                                                                                                                        EVENT_BUS,
                                                                                                                                                                                                                        new CollectionClickEvent.Handler() {
                                                                                                                                                                                                                            public void onMessageReceived(
                                                                                                                                                                                                                                    final CollectionClickEvent event) {

                                                                                                                                                                                                                                if (existingFileSets
                                                                                                                                                                                                                                        .containsKey(
                                                                                                                                                                                                                                                event.getCollection()
                                                                                                                                                                                                                                                        .getId())) {
                                                                                                                                                                                                                                    rightPanel
                                                                                                                                                                                                                                            .clear();
                                                                                                                                                                                                                                    rightPanel
                                                                                                                                                                                                                                            .add(existingFileSets
                                                                                                                                                                                                                                                    .get(event
                                                                                                                                                                                                                                                            .getCollection()
                                                                                                                                                                                                                                                            .getId()).cellTable);
                                                                                                                                                                                                                                } else {

                                                                                                                                                                                                                                    rightPanel
                                                                                                                                                                                                                                            .clear();
                                                                                                                                                                                                                                    rightPanel
                                                                                                                                                                                                                                            .add(getFiles(
                                                                                                                                                                                                                                                    relations
                                                                                                                                                                                                                                                            .getDuAttrMap(),
                                                                                                                                                                                                                                                    relations
                                                                                                                                                                                                                                                            .getFileAttrMap(),
                                                                                                                                                                                                                                                    event.getCollection()
                                                                                                                                                                                                                                                            .getId(),
                                                                                                                                                                                                                                                    false));
                                                                                                                                                                                                                                }
                                                                                                                                                                                                                            }
                                                                                                                                                                                                                        });
                                                                                                                                                                                                        //collection passive click
                                                                                                                                                                                                        CollectionPassiveSelectEvent
                                                                                                                                                                                                                .register(
                                                                                                                                                                                                                        EVENT_BUS,
                                                                                                                                                                                                                        new CollectionPassiveSelectEvent.Handler() {
                                                                                                                                                                                                                            public void onMessageReceived(
                                                                                                                                                                                                                                    final CollectionPassiveSelectEvent event) {

                                                                                                                                                                                                                                CellTable files;
                                                                                                                                                                                                                                if (existingFileSets
                                                                                                                                                                                                                                        .containsKey(
                                                                                                                                                                                                                                                event.getCollection()
                                                                                                                                                                                                                                                        .getId())) {
                                                                                                                                                                                                                                    files = existingFileSets
                                                                                                                                                                                                                                            .get(event
                                                                                                                                                                                                                                                    .getCollection()
                                                                                                                                                                                                                                                    .getId()).cellTable;
                                                                                                                                                                                                                                    for (String file : relations
                                                                                                                                                                                                                                            .getDuAttrMap()
                                                                                                                                                                                                                                            .get(event
                                                                                                                                                                                                                                                    .getCollection()
                                                                                                                                                                                                                                                    .getId())
                                                                                                                                                                                                                                            .getSub()
                                                                                                                                                                                                                                            .get(SubType.File)) {
                                                                                                                                                                                                                                        files.getSelectionModel()
                                                                                                                                                                                                                                                .setSelected(
                                                                                                                                                                                                                                                        (FileNode) relations
                                                                                                                                                                                                                                                                .getFileAttrMap()
                                                                                                                                                                                                                                                                .get(file),
                                                                                                                                                                                                                                                        event.getValue());
                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                } else {
                                                                                                                                                                                                                                    files = (CellTable) getFiles(
                                                                                                                                                                                                                                            relations
                                                                                                                                                                                                                                                    .getDuAttrMap(),
                                                                                                                                                                                                                                            relations
                                                                                                                                                                                                                                                    .getFileAttrMap(),
                                                                                                                                                                                                                                            event.getCollection()
                                                                                                                                                                                                                                                    .getId(),
                                                                                                                                                                                                                                            event.getValue());
                                                                                                                                                                                                                                }

                                                                                                                                                                                                                            }
                                                                                                                                                                                                                        });

                                                                                                                                                                                                        collectionWait
                                                                                                                                                                                                                .hide();
                                                                                                                                                                                                        leftPanel
                                                                                                                                                                                                                .clear();
                                                                                                                                                                                                        leftPanel
                                                                                                                                                                                                                .add(tree);

                                                                                                                                                                                                        if (collectionWait
                                                                                                                                                                                                                .isShowing())
                                                                                                                                                                                                            collectionWait
                                                                                                                                                                                                                    .hide();
                                                                                                                                                                                                        getPub.setEnabled(
                                                                                                                                                                                                                false);
                                                                                                                                                                                                        cloudCopy
                                                                                                                                                                                                                .setEnabled(
                                                                                                                                                                                                                        true);
                                                                                                                                                                                                        mdCb.setEnabled(
                                                                                                                                                                                                                true);
                                                                                                                                                                                                        ingestButton
                                                                                                                                                                                                                .setEnabled(
                                                                                                                                                                                                                        true);
                                                                                                                                                                                                        ir.setEnabled(
                                                                                                                                                                                                                false);
                                                                                                                                                                                                        ir.setStyleName(
                                                                                                                                                                                                                "greyFont");
                                                                                                                                                                                                        getPub.setStyleName(
                                                                                                                                                                                                                "greyFont");
                                                                                                                                                                                                        cloudCopy
                                                                                                                                                                                                                .setStyleName(
                                                                                                                                                                                                                        "greenFont");
                                                                                                                                                                                                        mdCb.setStyleName(
                                                                                                                                                                                                                "greenFont");
                                                                                                                                                                                                        ingestButton
                                                                                                                                                                                                                .setStyleName(
                                                                                                                                                                                                                        "greenFont");

                                                                                                                                                                                                        ingestButton
                                                                                                                                                                                                                .addClickHandler(
                                                                                                                                                                                                                        new ClickHandler() {

                                                                                                                                                                                                                            @Override
                                                                                                                                                                                                                            public void onClick(
                                                                                                                                                                                                                                    ClickEvent event) {
                                                                                                                                                                                                                                ingestButton
                                                                                                                                                                                                                                        .setEnabled(
                                                                                                                                                                                                                                                false);
                                                                                                                                                                                                                                cloudCopy
                                                                                                                                                                                                                                        .setEnabled(
                                                                                                                                                                                                                                                false);
                                                                                                                                                                                                                                ir.setEnabled(
                                                                                                                                                                                                                                        false);
                                                                                                                                                                                                                                getPub.setEnabled(
                                                                                                                                                                                                                                        true);
                                                                                                                                                                                                                                String rootMediciId = (String) pair
                                                                                                                                                                                                                                        .getKey();
                                                                                                                                                                                                                                CollectionNode root = relations
                                                                                                                                                                                                                                        .getDuAttrMap()
                                                                                                                                                                                                                                        .get(rootMediciId);

                                                                                                                                                                                                                                AsyncCallback<Void> vaModelCb = new AsyncCallback<Void>() {
                                                                                                                                                                                                                                    @Override
                                                                                                                                                                                                                                    public void onSuccess(
                                                                                                                                                                                                                                            Void result) {
                                                                                                                                                                                                                                        mediciService
                                                                                                                                                                                                                                                .addMetadata(
                                                                                                                                                                                                                                                        metadataSrc,
                                                                                                                                                                                                                                                        SeadApp.tmpHome
                                                                                                                                                                                                                                                                + guid
                                                                                                                                                                                                                                                                + "_sip",
                                                                                                                                                                                                                                                        new AsyncCallback<Void>() {

                                                                                                                                                                                                                                                            @Override
                                                                                                                                                                                                                                                            public void onSuccess(
                                                                                                                                                                                                                                                                    Void result) {
                                                                                                                                                                                                                                                                String tempguid = null;
                                                                                                                                                                                                                                                                if (((String) pair
                                                                                                                                                                                                                                                                        .getKey())
                                                                                                                                                                                                                                                                                .contains(
                                                                                                                                                                                                                                                                                        "/"))
                                                                                                                                                                                                                                                                    tempguid = ((String) pair
                                                                                                                                                                                                                                                                            .getKey())
                                                                                                                                                                                                                                                                                    .split("/")[((String) pair
                                                                                                                                                                                                                                                                                            .getKey())
                                                                                                                                                                                                                                                                                                    .split("/").length
                                                                                                                                                                                                                                                                                            - 1];
                                                                                                                                                                                                                                                                else
                                                                                                                                                                                                                                                                    tempguid = ((String) pair
                                                                                                                                                                                                                                                                            .getKey())
                                                                                                                                                                                                                                                                                    .split(":")[((String) pair
                                                                                                                                                                                                                                                                                            .getKey())
                                                                                                                                                                                                                                                                                                    .split(":").length
                                                                                                                                                                                                                                                                                            - 1];
                                                                                                                                                                                                                                                                final String guid = tempguid;

                                                                                                                                                                                                                                                                mediciService
                                                                                                                                                                                                                                                                        .splitSip(
                                                                                                                                                                                                                                                                                SeadApp.tmpHome
                                                                                                                                                                                                                                                                                        + guid
                                                                                                                                                                                                                                                                                        + "_sip",
                                                                                                                                                                                                                                                                                new AsyncCallback<Integer>() {

                                                                                                                                                                                                                                                                                    @Override
                                                                                                                                                                                                                                                                                    public void onSuccess(
                                                                                                                                                                                                                                                                                            Integer result) {
                                                                                                                                                                                                                                                                                        n = result;
                                                                                                                                                                                                                                                                                        l++;

                                                                                                                                                                                                                                                                                        //                                                                                                                     Window.alert("Starting ingest of dataset");//. We already have the cached SIP for this dataset.");
                                                                                                                                                                                                                                                                                        mediciService
                                                                                                                                                                                                                                                                                                .generateWfInstanceId(
                                                                                                                                                                                                                                                                                                        new AsyncCallback<String>() {

                                                                                                                                                                                                                                                                                                            @Override
                                                                                                                                                                                                                                                                                                            public void onSuccess(
                                                                                                                                                                                                                                                                                                                    String wfInstanceId) {
                                                                                                                                                                                                                                                                                                                //Open a status panel that self queries the database for changes
                                                                                                                                                                                                                                                                                                                WfEventRefresherPanel eventRefresher = new WfEventRefresherPanel(
                                                                                                                                                                                                                                                                                                                        submitterId,
                                                                                                                                                                                                                                                                                                                        wfInstanceId);
                                                                                                                                                                                                                                                                                                                eventRefresher
                                                                                                                                                                                                                                                                                                                        .show();
                                                                                                                                                                                                                                                                                                                mediciService
                                                                                                                                                                                                                                                                                                                        .submitMultipleSips(
                                                                                                                                                                                                                                                                                                                                SeadApp.deposit_endpoint
                                                                                                                                                                                                                                                                                                                                        + "sip",
                                                                                                                                                                                                                                                                                                                                (String) pair
                                                                                                                                                                                                                                                                                                                                        .getKey(),
                                                                                                                                                                                                                                                                                                                                sparqlEndpoint,
                                                                                                                                                                                                                                                                                                                                SeadApp.tmpHome
                                                                                                                                                                                                                                                                                                                                        + guid
                                                                                                                                                                                                                                                                                                                                        + "_sip",
                                                                                                                                                                                                                                                                                                                                wfInstanceId,
                                                                                                                                                                                                                                                                                                                                null,
                                                                                                                                                                                                                                                                                                                                l,
                                                                                                                                                                                                                                                                                                                                n,
                                                                                                                                                                                                                                                                                                                                "",
                                                                                                                                                                                                                                                                                                                                "",
                                                                                                                                                                                                                                                                                                                                false,
                                                                                                                                                                                                                                                                                                                                GWT.getModuleBaseURL(),
                                                                                                                                                                                                                                                                                                                                SeadApp.tmpHome,
                                                                                                                                                                                                                                                                                                                                false,
                                                                                                                                                                                                                                                                                                                                false,
                                                                                                                                                                                                                                                                                                                                new AsyncCallback<String>() {

                                                                                                                                                                                                                                                                                                                                    @Override
                                                                                                                                                                                                                                                                                                                                    public void onSuccess(
                                                                                                                                                                                                                                                                                                                                            final String result) {
                                                                                                                                                                                                                                                                                                                                        l = -1;
                                                                                                                                                                                                                                                                                                                                        final Label notify = Util
                                                                                                                                                                                                                                                                                                                                                .label("!",
                                                                                                                                                                                                                                                                                                                                                        "Notification");
                                                                                                                                                                                                                                                                                                                                        notify.addClickHandler(
                                                                                                                                                                                                                                                                                                                                                new ClickHandler() {

                                                                                                                                                                                                                                                                                                                                                    @Override
                                                                                                                                                                                                                                                                                                                                                    public void onClick(
                                                                                                                                                                                                                                                                                                                                                            ClickEvent event) {
                                                                                                                                                                                                                                                                                                                                                        MessagePopupPanel popUpPanel = new MessagePopupPanel(
                                                                                                                                                                                                                                                                                                                                                                result,
                                                                                                                                                                                                                                                                                                                                                                "done",
                                                                                                                                                                                                                                                                                                                                                                true);
                                                                                                                                                                                                                                                                                                                                                        popUpPanel
                                                                                                                                                                                                                                                                                                                                                                .show();
                                                                                                                                                                                                                                                                                                                                                        nPanel.remove(
                                                                                                                                                                                                                                                                                                                                                                notify);
                                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                                });
                                                                                                                                                                                                                                                                                                                                        //                                                                                                                                       nPanel.add(notify);
                                                                                                                                                                                                                                                                                                                                    }

                                                                                                                                                                                                                                                                                                                                    @Override
                                                                                                                                                                                                                                                                                                                                    public void onFailure(
                                                                                                                                                                                                                                                                                                                                            Throwable caught) {

                                                                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                                                                });

                                                                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                                                                            @Override
                                                                                                                                                                                                                                                                                                            public void onFailure(
                                                                                                                                                                                                                                                                                                                    Throwable caught) {

                                                                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                                                                        });

                                                                                                                                                                                                                                                                                    }

                                                                                                                                                                                                                                                                                    @Override
                                                                                                                                                                                                                                                                                    public void onFailure(
                                                                                                                                                                                                                                                                                            Throwable caught) {
                                                                                                                                                                                                                                                                                        Window.alert(
                                                                                                                                                                                                                                                                                                "Failed. \n"
                                                                                                                                                                                                                                                                                                        + caught.getMessage());
                                                                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                                                                });
                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                            @Override
                                                                                                                                                                                                                                                            public void onFailure(
                                                                                                                                                                                                                                                                    Throwable caught) {
                                                                                                                                                                                                                                                                Window.alert(
                                                                                                                                                                                                                                                                        "Failed. \n"
                                                                                                                                                                                                                                                                                + caught.getMessage());
                                                                                                                                                                                                                                                            }
                                                                                                                                                                                                                                                        });
                                                                                                                                                                                                                                    }

                                                                                                                                                                                                                                    @Override
                                                                                                                                                                                                                                    public void onFailure(
                                                                                                                                                                                                                                            Throwable caught) {
                                                                                                                                                                                                                                        Window.alert(
                                                                                                                                                                                                                                                "Failed. \n"
                                                                                                                                                                                                                                                        + caught.getMessage());
                                                                                                                                                                                                                                    }
                                                                                                                                                                                                                                };
                                                                                                                                                                                                                                mediciService
                                                                                                                                                                                                                                        .toVAmodel(
                                                                                                                                                                                                                                                rootMediciId,
                                                                                                                                                                                                                                                rootMediciId,
                                                                                                                                                                                                                                                sparqlEndpoint,
                                                                                                                                                                                                                                                SeadApp.tmpHome,
                                                                                                                                                                                                                                                vaModelCb);

                                                                                                                                                                                                                            }
                                                                                                                                                                                                                        });
                                                                                                                                                                                                        coverRightPanel
                                                                                                                                                                                                                .setVisible(
                                                                                                                                                                                                                        true);
                                                                                                                                                                                                    }
                                                                                                                                                                                                });
                                                                                                                                                                            }
                                                                                                                                                                        }
                                                                                                                                                                    });
                                                                                                                                                }

                                                                                                                                                @Override
                                                                                                                                                public void onFailure(
                                                                                                                                                        Throwable caught) {
                                                                                                                                                    Window.alert(
                                                                                                                                                            "Failed:"
                                                                                                                                                                    + caught.getMessage());

                                                                                                                                                }
                                                                                                                                            });

                                                                                                                        }
                                                                                                                    };
                                                                                                                    getSIPTimer
                                                                                                                            .schedule(
                                                                                                                                    5000);
                                                                                                                }

                                                                                                                @Override
                                                                                                                public void onFailure(
                                                                                                                        Throwable caught) {
                                                                                                                    Window.alert(
                                                                                                                            "Failed:"
                                                                                                                                    + caught.getMessage());

                                                                                                                }
                                                                                                            });

                                                                                        } else {
                                                                                            //restart ingest

                                                                                            n = result
                                                                                                    .getNumSplitSIPs();
                                                                                            String[] arr = result
                                                                                                    .getResumeSipPath()
                                                                                                    .split("_");
                                                                                            int sipNumber = Integer
                                                                                                    .parseInt(
                                                                                                            arr[arr.length
                                                                                                                    - 1].split(
                                                                                                                            "\\.")[0]);
                                                                                            l = sipNumber;
                                                                                            if (l <= n) {

                                                                                                Window.alert(
                                                                                                        "Starting reingest of dataset. We already have the cached SIP for this dataset.");
                                                                                                mediciService
                                                                                                        .generateWfInstanceId(
                                                                                                                new AsyncCallback<String>() {

                                                                                                                    @Override
                                                                                                                    public void onSuccess(
                                                                                                                            String wfInstanceId) {
                                                                                                                        mediciService
                                                                                                                                .submitMultipleSips(
                                                                                                                                        SeadApp.deposit_endpoint
                                                                                                                                                + "sip",
                                                                                                                                        null,
                                                                                                                                        sparqlEndpoint,
                                                                                                                                        result.getResumeSipPath()
                                                                                                                                                .replace(
                                                                                                                                                        "_" + l + ".xml",
                                                                                                                                                        ""),
                                                                                                                                        wfInstanceId,
                                                                                                                                        result.getPreviousStatusUrls(),
                                                                                                                                        l,
                                                                                                                                        n,
                                                                                                                                        "",
                                                                                                                                        "",
                                                                                                                                        false,
                                                                                                                                        GWT.getModuleBaseURL(),
                                                                                                                                        SeadApp.tmpHome,
                                                                                                                                        false,
                                                                                                                                        false,
                                                                                                                                        new AsyncCallback<String>() {

                                                                                                                                            @Override
                                                                                                                                            public void onSuccess(
                                                                                                                                                    final String result) {
                                                                                                                                                l = -1;
                                                                                                                                                final Label notify = Util
                                                                                                                                                        .label("!",
                                                                                                                                                                "Notification");
                                                                                                                                                notify.addClickHandler(
                                                                                                                                                        new ClickHandler() {

                                                                                                                                                            @Override
                                                                                                                                                            public void onClick(
                                                                                                                                                                    ClickEvent event) {
                                                                                                                                                                MessagePopupPanel popUpPanel = new MessagePopupPanel(
                                                                                                                                                                        result,
                                                                                                                                                                        "done",
                                                                                                                                                                        true);
                                                                                                                                                                popUpPanel
                                                                                                                                                                        .show();
                                                                                                                                                                nPanel.remove(
                                                                                                                                                                        notify);
                                                                                                                                                            }
                                                                                                                                                        });
                                                                                                                                                nPanel.add(
                                                                                                                                                        notify);
                                                                                                                                            }

                                                                                                                                            @Override
                                                                                                                                            public void onFailure(
                                                                                                                                                    Throwable caught) {

                                                                                                                                            }
                                                                                                                                        });
                                                                                                                        //Open a status panel that self queries the database for changes
                                                                                                                        WfEventRefresherPanel eventRefresher = new WfEventRefresherPanel(
                                                                                                                                submitterId,
                                                                                                                                wfInstanceId);
                                                                                                                        eventRefresher
                                                                                                                                .show();
                                                                                                                    }

                                                                                                                    @Override
                                                                                                                    public void onFailure(
                                                                                                                            Throwable caught) {

                                                                                                                    }
                                                                                                                });

                                                                                            } else {
                                                                                                Window.alert(
                                                                                                        "This dataset is already ingested. Please clear checkpointing if you want to rerun the workflow.");
                                                                                            }
                                                                                            //MediciIngestPresenter.EVENT_BUS.fireEvent(new SubmitSipEvent(
                                                                                            //                                                result.getResumeSipPath().replace("_"+l+".xml", ""),
                                                                                            //                                                result.getPreviousStatusUrls()
                                                                                            //                                                ));
                                                                                        }

                                                                                    }
                                                                                });
                                                                    }
                                                                });
                                                            }
                                                            int index;
                                                            if (flagHyperlink == 1) {
                                                                index = first;
                                                                first++;
                                                            } else {
                                                                index = last;
                                                                last--;
                                                            }

                                                            grid.setWidget(index, 0, dataset);
                                                            grid.getRowFormatter().setStyleName(index,
                                                                    "DatasetsRow");

                                                        }
                                                    });
                                            it.remove(); // avoids a ConcurrentModificationException
                                        }
                                        leftPanel.add(grid);

                                    }

                                    @Override
                                    public void onFailure(Throwable caught) {
                                        // TODO Auto-generated method stub

                                    }
                                });
                            }
                        });
                    } catch (RequestException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                }

                @Override
                public void onFailure(Throwable caught) {
                    // TODO Auto-generated method stub

                }
            });
        }
    });
}

From source file:org.daxplore.presenter.admin.model.ServerPost.java

License:Open Source License

public static void send(String href, RequestCallback requestCallback) {
    RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, URL.encode(href));
    builder.setTimeoutMillis(10000); // TODO use reattempts with increasing times?
    try {//from w ww  .j  a  v a2 s .c  o  m
        builder.sendRequest(null, requestCallback);
    } catch (RequestException e) {
        e.printStackTrace(); //TODO handle exception
    }
}

From source file:org.daxplore.presenter.client.model.StatDataServerModel.java

License:Open Source License

public void makeRequest(QueryDefinition queryDefinition) {
    currentQuery = queryDefinition;/*from   w w  w. j a  va2  s  .c o m*/
    String requestString = getRequestString(queryDefinition);
    if (queryDataCache.containsKey(requestString)) {
        onDataLoaded();
    } else {
        String url = href + requestString;
        RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url));
        builder.setTimeoutMillis(5000); //TODO better timeout handling
        try {
            builder.sendRequest(null, new StatsRequest(queryDefinition));
        } catch (RequestException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

From source file:org.ebayopensource.turmeric.monitoring.client.model.MetricsQueryServiceImpl.java

License:Open Source License

/**
 * Call the remote server to obtain metrics measurements.
 * /*from w  ww  .  ja v a  2  s  .com*/
 * @param criteria
 *            the criteria
 * @param resourceCriteria
 *            the resource criteria
 * @param callback
 *            the callback
 * @see org.ebayopensource.turmeric.monitoring.client.model.MetricsQueryService#getMetricData(org.ebayopensource.turmeric.monitoring.client.model.MetricCriteria,
 *      org.ebayopensource.turmeric.monitoring.client.model.MetricResourceCriteria,
 *      com.google.gwt.user.client.rpc.AsyncCallback)
 */
public void getMetricData(final MetricCriteria criteria, final MetricResourceCriteria resourceCriteria,
        final AsyncCallback<MetricData> callback) {

    final String url = URL.encode(MetricsDataRequest.getRestURL(criteria, resourceCriteria));
    GWT.log("calling the getMetricsData =" + url);
    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
    final MetricData data = new MetricData();
    data.setRestUrl(url);
    data.setMetricCriteria(criteria);
    data.setMetricResourceCriteria(resourceCriteria);

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

            public void onError(Request request, Throwable err) {
                callback.onFailure(err);
            }

            public void onResponseReceived(Request request, Response response) {
                if (response.getStatusCode() != Response.SC_OK) {
                    callback.onFailure(getErrorAsThrowable(response));
                } else if (response.getHeader(ERROR_HEADER) != null
                        && response.getHeader(ERROR_HEADER).length() > 0) {
                    callback.onFailure(getErrorAsThrowable(response));
                } else {
                    String responseText = response.getText();
                    GWT.log("getMetricData. responseText =" + responseText);
                    MetricsDataResponse metricsResponse = MetricsDataResponse.fromJSON(response.getText());
                    if (metricsResponse == null) {
                        GWT.log("bad response: " + response.getText());
                        callback.onFailure(new Throwable(ConsoleUtil.messages.badOrMissingResponseData()));
                    } else {
                        JsArray<MetricGroupDataJS> rows = metricsResponse.getReturnData();
                        List<MetricGroupData> results = new ArrayList<MetricGroupData>();
                        if (rows != null) {
                            for (int i = 0; i < rows.length(); i++) {
                                MetricGroupDataJS js = rows.get(i);
                                results.add(js);
                            }
                        }
                        data.setReturnData(results);
                        callback.onSuccess(data);
                    }
                }
            }
        });
    } catch (RequestException x) {
        callback.onFailure(x);
    }
}