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

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

Introduction

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

Prototype

public void setHeader(String header, String value) 

Source Link

Document

Sets a request header with the given name and value.

Usage

From source file:org.appverse.web.framework.frontend.gwt.helpers.security.XsrfRpcRequestBuilder.java

License:Appverse Public License

@Override
protected RequestBuilder doCreate(String serviceEntryPoint) {
    RequestBuilder requestBuilder = super.doCreate(serviceEntryPoint);

    if (xsrfToken != null && xsrfToken.length() > 0) {
        requestBuilder.setHeader(SecurityHelper.XSRF_TOKEN_NAME, xsrfToken);
    }//from  w  w w.j  ava2s  .c o  m
    return requestBuilder;
}

From source file:org.bonitasoft.web.toolkit.client.data.api.request.HttpRequest.java

License:Open Source License

/**
 * Send the HTTP request with data/* www.j a  v a  2 s  .  c  o  m*/
 *
 * @param method
 *        The method to use between RequestBuilder.GET, RequestBuilder.POST, RequestBuilder.PUT, RequestBuilder.DELETE
 * @param callback
 *        The APICallback to call onSuccess or onError.
 * @param url
 *        The URL of the API
 * @param datas
 *        The data to send
 */
public void send(final Method method, final String url, final String datas, final String contentType,
        final HttpCallback callback) {
    final RequestBuilder builder = new RequestBuilder(method, url);
    if (datas != null) {
        builder.setRequestData(datas);
    }
    if (contentType != null) {
        builder.setHeader("Content-Type",
                (contentType != null ? contentType : "text/plain") + ";charset=UTF-8");
    }

    if (UserSessionVariables.getUserVariable(UserSessionVariables.API_TOKEN) != null) {
        builder.setHeader("X-Bonita-API-Token",
                UserSessionVariables.getUserVariable(UserSessionVariables.API_TOKEN));
    }

    builder.setTimeoutMillis(30000);
    builder.setCallback(callback);
    Request request = null;
    try {
        request = builder.send();
    } catch (final RequestException e) {
        callback.onError(request, e);
    }
}

From source file:org.celstec.arlearn2.gwtcommonlib.client.auth.OauthTwitter.java

License:Open Source License

public static void autenticate() {

    String url = "https://api.twitter.com/oauth/request_token";
    RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, url);
    //        builder.setHeader("Content-Type", "application/json");
    builder.setHeader("Authorization",
            "oauth_callback=\"http%3A%2F%2Fmyapp.com%3A3005%2Ftwitter%2Fprocess_callback\"");

    try {//from   w w  w. j av a 2  s.c  om
        Request request = builder.sendRequest("", new RequestCallback() {

            @Override
            public void onResponseReceived(Request request, Response response) {
                System.out.println("response received");
                if (200 == response.getStatusCode()) {

                }

            }

            @Override
            public void onError(Request request, Throwable exception) {

            }
        });
    } catch (RequestException e) {
        e.printStackTrace();
    }
}

From source file:org.cruxframework.crux.core.client.rpc.CruxRpcRequestBuilder.java

License:Apache License

@Override
protected void doFinish(RequestBuilder rb) {
    rb.setHeader(VIEW_INFO_HEADER, viewName);
    super.doFinish(rb);
}

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

License:Apache License

void addGetPubHandler() {

    ir.addChangeHandler(new ChangeHandler() {
        @Override//from   w  w w.  j a v  a  2s . 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 ww  .j a va 2s .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//ww w  .  ja v 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.ebayopensource.turmeric.policy.adminui.client.model.AbstractPolicyAdminUIService.java

License:Open Source License

/**
* Sets the security headers.//from w  ww. j  av a  2 s  .c  om
* 
* @param requestBuilder
*            the new security headers
*/
public void setSecurityHeaders(RequestBuilder requestBuilder) {
    if (requestBuilder == null)
        return;
    AppUser user = AppUser.getUser();
    if (user != null) {
        requestBuilder.setHeader("X-TURMERIC-SECURITY-USERID", user.getUsername());
        requestBuilder.setHeader("X-TURMERIC-SECURITY-PASSWORD", user.getPassword());
    }
}

From source file:org.eclipse.kura.web.client.ui.EntryClassUi.java

License:Open Source License

private void installMarketplaceDp(final String uri) {
    String url = "/" + GWT.getModuleName() + "/file/deploy/url";
    final RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, URL.encode(url));

    this.gwtXSRFService.generateSecurityToken(new AsyncCallback<GwtXSRFToken>() {

        @Override//w w w  . j  av a 2  s .  c  om
        public void onFailure(Throwable ex) {
            EntryClassUi.hideWaitModal();
            FailureHandler.handle(ex, EntryClassUi.class.getName());
        }

        @Override
        public void onSuccess(GwtXSRFToken token) {
            StringBuilder sb = new StringBuilder();
            sb.append("xsrfToken=" + token.getToken());
            sb.append("&packageUrl=" + uri);

            builder.setHeader("Content-type", "application/x-www-form-urlencoded");
            try {
                builder.sendRequest(sb.toString(), new RequestCallback() {

                    @Override
                    public void onResponseReceived(Request request, Response response) {
                        logger.info(response.getText());
                    }

                    @Override
                    public void onError(Request request, Throwable ex) {
                        logger.log(Level.SEVERE, ex.getMessage(), ex);
                        FailureHandler.handle(ex, EntryClassUi.class.getName());
                    }

                });
            } catch (RequestException e) {
                logger.log(Level.SEVERE, e.getMessage(), e);
                FailureHandler.handle(e, EntryClassUi.class.getName());
            }
        }
    });
}

From source file:org.emfjson.gwt.handlers.HttpHandler.java

License:Open Source License

public static void create(final ResourceSet resourceSet, URI createService, final Callback<Resource> callback) {
    RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, URL.encode(createService.toString()));
    builder.setHeader("Content-Type", "application/json");
    builder.setCallback(new RequestCallback() {
        @Override//from w w w .  j ava  2s.  c  om
        public void onResponseReceived(Request request, Response response) {
            if (response.getStatusCode() == 201) {
                String location = response.getHeader("Location");
                Resource resource = resourceSet.createResource(URI.createURI(location));
                callback.onSuccess(resource);
            } else {
                callback.onFailure(new Exception("Resource has not been created"));
            }
        }

        @Override
        public void onError(Request request, Throwable exception) {
            callback.onFailure(exception);
        }
    });

    try {
        builder.send();
    } catch (RequestException e) {
        callback.onFailure(e);
    }
}