List of usage examples for com.google.gwt.user.client.ui Label addClickHandler
public HandlerRegistration addClickHandler(ClickHandler handler)
From source file:org.dataconservancy.dcs.access.client.model.JsCreator.java
License:Apache License
public static Widget display(JsArray<JsCreator> array) { FlexTable table = Util.createTable(); for (int i = 0; i < array.length(); i++) { final JsCreator creator = array.get(i); Label creatorLbl = Util.label(creator.getCreatorName(), "Hyperlink"); table.setWidget(0, i + 1, creatorLbl); creatorLbl.addClickHandler(new ClickHandler() { @Override/*from w ww .java 2 s . com*/ public void onClick(ClickEvent event) { Window.open(creator.getCreatorId(), "_blank", ""); } }); } return table; }
From source file:org.dataconservancy.dcs.access.client.model.JsDeliverableUnit.java
License:Apache License
public Widget display(CellTree tree, boolean allowDownload) { FlowPanel panel = new FlowPanel(); panel.setStylePrimaryName("Entity"); Button b = new Button("Download (Email download link)"); // if(!getCoreMd().getRights().equalsIgnoreCase("restricted")) if (allowDownload) panel.add(b);/*from w w w . j av a2 s.c o m*/ b.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { //pop window //send email // Window.open(Application.datastreamURLnoEncoding(getId()), "_blank", ""); SeadApp.userService.checkSession(null, new AsyncCallback<UserSession>() { @Override public void onSuccess(UserSession session) { String emailAddress = null; if (session.isSession()) emailAddress = session.getEmail(); EmailPopupPanel emailPopup = new EmailPopupPanel(getId(), emailAddress); emailPopup.show(); } @Override public void onFailure(Throwable caught) { new ErrorPopupPanel("Error:" + caught.getMessage()); } }); } }); panel.add(Util.label("Core metadata", "SubSectionHeader")); panel.add(getCoreMd().display(getId(), tree)); final FlexTable table = Util.createTable("Publication Date:", "Abstract:", "Site:", //"Identifier:", "Entity type:", "Creators:", "Parents:", // "Collections:", // "Former refs", // "Metadata refs:", // "Provenance:", // "Surrogate:", "Alternate Ids:", "Location:", "ACR Location:", "Lineage:"); panel.add(table); table.setWidth("90%"); if (getPubdate() != null) { table.setWidget(0, 1, new Label(getPubdate())); } if (getAbstract() != null) { FlowPanel abstractPanel = new FlowPanel(); abstractPanel.add(new Label(getAbstract())); table.setWidget(1, 1, abstractPanel); } if (getSite() != null) { table.setWidget(2, 1, new Label(getSite())); } //table.setWidget(3, 1, Util.entityLink(getId())); table.setText(3, 1, "Collection"); table.setWidget(4, 1, JsCreator.display(getCreators())); if (getParents() != null) { table.setWidget(5, 1, Util.entityLinks(getParents())); } /* if (getCollections() != null) { table.setWidget(6, 1, Util.entityLinks(getCollections())); } table.setText(7, 1, toString(getFormerExternalRefs())); table.setWidget(8, 1, Util.metadataLinks(getMetadataRefs())); table.setText(10, 1, isDigitalSurrogate() == null ? "Unknown" : "" + isDigitalSurrogate()); */ Panel locationPanel = new FlowPanel(); if (getPrimaryDataLocation() != null) locationPanel.add(getPrimaryDataLocation().display()); if (getAlternateIds() != null) { JsArray<JsAlternateId> altIds = getAlternateIds(); FlowPanel altIdPanel = new FlowPanel(); FlowPanel altLocPanel = new FlowPanel(); int doiFlag1 = 0; for (int i = 0; i < altIds.length(); i++) { String altIdStr; altIdStr = altIds.get(i).getIdValue(); final String finalLink; if (!altIds.get(i).getTypeId().equalsIgnoreCase("storage_format")) { if (altIds.get(i).getTypeId().equals("medici")) { finalLink = "http://nced.ncsa.illinois.edu/acr/#collection?uri=" + altIds.get(i).getIdValue(); altIdStr = getCoreMd().getTitle(); } else finalLink = altIdStr; Label altIdLabel = Util.label(altIdStr, "Hyperlink"); altIdLabel.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Window.open(finalLink, "_blank", ""); } }); if (altIds.get(i).getTypeId().equals("medici")) { altLocPanel.add(altIdLabel); } else altIdPanel.add(altIdLabel); } } table.setWidget(6, 1, altIdPanel); table.setWidget(8, 1, altLocPanel); } if (getDataLocations() != null) { JsArray<JsDataLocation> locs = getDataLocations(); for (int i = 0; i < locs.length(); i++) { String location = locs.get(i).getLocation(); if (locs.get(i).getName().contains("SDA")) location = "https://www.sdarchive.iu.edu"; Image image; if (locs.get(i).getType().contains("IU")) image = new Image("images/IU_Scholarworks.jpg"); else if (locs.get(i).getType().contains("Ideals")) { image = new Image("images/Ideals.png"); location = location.replace("xmlui/", ""); } else image = new Image("images/local.jpg"); Label locationLabel; location = location.replace("jspui", "iuswdark"); final String finalLink = location; if (!locs.get(i).getName().contains("SDA")) { locationLabel = Util.label(location, "Hyperlink"); locationLabel.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Window.open(finalLink, "_blank", ""); } }); } else { locationLabel = new Label(); locationLabel.setText(location); } FlexTable smallTable = Util.createTable(); smallTable.setWidget(0, 0, locationLabel); smallTable.setWidget(0, 1, image); locationPanel.add(smallTable); } } table.setWidget(7, 1, locationPanel); // if (getMetadata() != null && getMetadata().length() > 0) { // panel.add(Util.label("Additional metadata", "SubSectionHeader")); // JsMetadata.display(panel, getMetadata()); // } if (getRelations() != null && getRelations().length() > 0) { panel.add(Util.label("Relations", "SubSectionHeader")); JsRelation.display(panel, getRelations()); } /* TreeDemo demo = new TreeDemo(); demo.setId(getId()); demo.start(); table.setWidget(9, 1, demo); */ return panel; }
From source file:org.dataconservancy.dcs.access.client.model.JsFile.java
License:Apache License
public Widget display() { FlowPanel panel = new FlowPanel(); if (!getSource().isEmpty()) { Button b = new Button("Download"); panel.add(b);//w ww . j a v a2 s . com b.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { String source = SeadApp.datastreamURLnoEncoding(getId().replace(":", "%3A")); String strWindowFeatures = "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes"; Window.open(source, "_blank", strWindowFeatures); } }); //panel.add(new Anchor("Download", false, getSource(), "_blank")); } final FlexTable table = Util.createTable(//"Id", "Entity type", "Name", "Appears in Collections", "Size", "Valid", "Extant", "Metadata refs", "Alternate Ids", "Primary Location", "ACR Location"); Util.addColumn(table, // null, "File", getName(), null, "" + getSizeBytes() + " bytes", getValid() == null ? "Unknown" : "" + getValid(), "" + isExtant()); // table.setWidget(0, 1, Util.entityLink(getId())); JsonpRequestBuilder rb = new JsonpRequestBuilder(); String parentdu = SeadApp.accessurl + SeadApp.queryPath + "?q=" + "id:(\"" + getParent() + "\")" + "&offset=0&max=200"; rb.requestObject(parentdu, new AsyncCallback<JsSearchResult>() { public void onFailure(Throwable caught) { Window.alert("Failed"); } public void onSuccess(JsSearchResult dus) { FlowPanel desc = new FlowPanel(); for (int i = 0; i < dus.matches().length(); i++) { JsMatch m = dus.matches().get(i); JsDeliverableUnit entity = (JsDeliverableUnit) m.getEntity(); //System.out.println("Title="+entity.getCoreMd().getTitle()); desc.add(new Hyperlink(" " + entity.getCoreMd().getTitle(), true, SeadState.ENTITY.toToken(entity.getId()))); } table.setWidget(2, 1, desc); } }); if (getMetadataRefs() != null) { table.setWidget(6, 1, Util.entityLinks(getMetadataRefs())); } FlowPanel primaryLocPanel = new FlowPanel(); if (getPrimaryDataLocation() != null) primaryLocPanel.add(getPrimaryDataLocation().display()); if (getAlternateIds() != null) { final JsArray<JsAlternateId> altIds = getAlternateIds(); FlowPanel altIdPanel = new FlowPanel(); final FlowPanel altLocPanel = new FlowPanel(); for (int i = 0; i < altIds.length(); i++) { final String type = altIds.get(i).getTypeId(); final String value = altIds.get(i).getIdValue(); AsyncCallback<List<MediciInstance>> callback = new AsyncCallback<List<MediciInstance>>() { @Override public void onSuccess(List<MediciInstance> result) { for (MediciInstance instance : result) { if (instance.getType().equalsIgnoreCase(type)) { final String finalLink = instance.getUrl() + "/#dataset?id=" + value; String altIdStr = getName(); Label altIdLabel = Util.label(altIdStr, "Hyperlink"); altIdLabel.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Window.open(finalLink, "_blank", ""); } }); altLocPanel.add(altIdLabel); break; } } } @Override public void onFailure(Throwable caught) { // TODO Auto-generated method stub } }; MediciIngestPresenter.mediciService.getAcrInstances(callback); } table.setWidget(7, 1, altIdPanel); table.setWidget(8, 1, primaryLocPanel); table.setWidget(9, 1, altLocPanel); } //belongs to dataset panel.add(table); if (getFormats() != null && getFormats().length() > 0) { panel.add(Util.label("Formats", "SubSectionHeader")); JsFormat.display(panel, getFormats()); } if (getMetadata() != null && getMetadata().length() > 0) { panel.add(Util.label("Additional metadata", "SubSectionHeader")); JsMetadata.display(panel, getMetadata()); } if (getFixity() != null && getFixity().length() > 0) { panel.add(Util.label("Fixity", "SubSectionHeader")); JsFixity.display(panel, getFixity()); } return panel; }
From source file:org.dataconservancy.dcs.access.client.model.JsMetadata.java
License:Apache License
public Widget display() { String label = getSchemaUri().isEmpty() ? "Schema: Unknown" : "Schema: " + getSchemaUri(); final String inputXml = getMetadata().replace("\n", "").replace("\t", ""); final DisclosurePanel dp = new DisclosurePanel(label); dp.setAnimationEnabled(true);/*from ww w .jav a 2 s . com*/ Label export = new Label(); export.setText("Convert to ISO"); export.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { try { transformer.xslTransform(Name.FGDC, Name.ISO19115, inputXml, new AsyncCallback<String>() { @Override public void onFailure(Throwable caught) { Window.alert("Unable to transform"); } @Override public void onSuccess(String output) { HTML html = new HTML(output); dp.setContent(html); System.out.println(html); } }); } catch (Exception e) { e.printStackTrace(); } } }); dp.add(export); final AsyncCallback<String> transformCb = new AsyncCallback<String>() { @Override public void onFailure(Throwable caught) { Window.alert("Unable to transform"); } @Override public void onSuccess(String fgdcHtml) { HTML html = new HTML(fgdcHtml); dp.add(html); //dp.setContent(html); } }; AsyncCallback<Name> validateCb = new AsyncCallback<Name>() { @Override public void onFailure(Throwable caught) { Window.alert("Unable to validate"); } @Override public void onSuccess(Name result) { if (result != null) { try { transformer.xslTransform(result, Name.HTML, inputXml, transformCb); } catch (Exception e) { e.printStackTrace(); } } else Window.alert("Does not match any of the existing schemas"); } }; transformer.validateXML(inputXml, getSchemaUri(), validateCb); return dp; }
From source file:org.dataconservancy.dcs.access.client.model.JsPrimaryDataLocation.java
License:Apache License
public Widget display() { FlexTable smallTable = Util.createTable(); Image image;/*from w ww . j a v a2s . c o m*/ if (getLocation() != null) { String location = getLocation().replace("jspui", "iuswdark").replace("sword/deposit", "iuswdark/handle"); if (getType() != null) if (getType().contains("dspace") && getName().contains("Ideals")) location = location.replace("xmlui/", ""); final String locationLink = location; Label locationLabel; if (!getName().contains("SDA")) { locationLabel = Util.label(location, "Hyperlink"); locationLabel.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Window.open(locationLink, "_blank", ""); } }); } else { locationLabel = new Label(); locationLabel.setText(location); } if (!location.contains("communities")) smallTable.setWidget(0, 0, locationLabel); } if (getType() != null) { if (getType().contains("dspace") && getName().contains("local")) { image = new Image("images/local_dspace.jpg"); smallTable.setWidget(0, 1, image); } else if (getType().contains("dspace") && getName().contains("IU")) { image = new Image("images/IU_Scholarworks.jpg"); smallTable.setWidget(0, 1, image); } else if (getName().contains("SDA")) { image = new Image("images/hpss.jpg"); smallTable.setWidget(0, 1, image); } else if (getType().contains("dspace") && getName().contains("Ideals")) { image = new Image("images/Ideals.png"); smallTable.setWidget(0, 1, image); } } return smallTable; }
From source file:org.dataconservancy.dcs.access.client.presenter.LoginPresenter.java
License:Apache License
@Override public void bind() { // loginTab = this.display.getLoginTab(); errorLabel = this.display.getError(); userNameLbl = this.display.getUserLabel(); googleLogin = this.display.getGoogleLogin(); userLoginDetails = display.getUserLoginDetails(); userRegisterDetails = display.getUserRegisterDetails(); Auth.export();/*from w ww. j av a 2 s. c o m*/ this.display.getDisclosurePanel().addOpenHandler(new OpenHandler<DisclosurePanel>() { @Override public void onOpen(OpenEvent<DisclosurePanel> event) { vivo.getPeople(new AsyncCallback<Set<Person>>() { @Override public void onSuccess(Set<Person> result) { MultiWordSuggestOracle oracle = new MultiWordSuggestOracle(); for (Person person : result) { oracle.add(person.getFirstName() + " " + person.getLastName() + ";" + person.getEmailAddress()); } userRegisterDetails.suggestBox = new SuggestBox(oracle); userRegisterDetails.suggestBox.ensureDebugId("cwSuggestBox"); display.getRegisterForm().setWidget(5, 1, userRegisterDetails.suggestBox); } @Override public void onFailure(Throwable caught) { // TODO Auto-generated method stub } }); } }); ClickHandler register = new ClickHandler() { public void onClick(ClickEvent event) { if (userRegisterDetails.suggestBox.getText() == null || userRegisterDetails.suggestBox.getText().length() == 0) { userRegisterDetails.errorMessage.setText("Error: VIVO ID cannot be empty."); return; } AsyncCallback<String> cb = new AsyncCallback<String>() { public void onSuccess(String result) { if (result.equalsIgnoreCase("success")) { display.getDisclosurePanel().setOpen(false); errorLabel.setText( "You have requested an account. Please wait for an administrator to provide you the necessary authorization."); } else userRegisterDetails.errorMessage.setText("Error: " + result + " Please try again."); } public void onFailure(Throwable error) { new ErrorPopupPanel("Failed to register: " + error.getMessage()).show(); } }; user.register(userRegisterDetails.firstName.getText(), userRegisterDetails.lastName.getText(), userRegisterDetails.email.getText(), userRegisterDetails.password.getText(), SeadApp.admins, userRegisterDetails.suggestBox.getText(), //vivoId cb); } }; this.display.getRegisterButton().addClickHandler(register); final AsyncCallback<Authentication> authenticateCB = new AsyncCallback<Authentication>() { public void onSuccess(Authentication result) { if (result.authResult()) { // loginTab.clear(); display.hide1(); logoutLbl = Util.label("Logout", "LogoutButton"); ClickHandler logout = new ClickHandler() { @Override public void onClick(ClickEvent event) { // lPanel.clear(); AUTH.clearAllTokens(); Label loginLabel = Util.label("Sign In/ Register", "LogoutButton"); loginLabel.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { History.newItem("login"); } }); lPanel.add(loginLabel); History.newItem("logout"); } }; logoutLbl.addClickHandler(logout); lPanel.clear(); user.checkSession(null, new AsyncCallback<UserSession>() { @Override public void onSuccess(UserSession result) { // lPanel.add(logoutLbl); History.newItem("upload"); } @Override public void onFailure(Throwable caught) { new ErrorPopupPanel("Error:" + caught.getMessage()).show(); } }); } else { if (result.getErrorMessage().equalsIgnoreCase("Account does not exist")) { AsyncCallback<GoogleDetails> clientDetailsCB = new AsyncCallback<GoogleDetails>() { @Override public void onFailure(Throwable caught) { new ErrorPopupPanel("Unable to retrieve client id:" + caught.getMessage()).show(); } @Override public void onSuccess(GoogleDetails details) { final AuthRequest req = new AuthRequest(details.getGoogleAuthUrl(), details.getClientId()).withScopes(GOOGLE_SCOPE); AUTH.login(req, new Callback<String, Throwable>() { @Override public void onSuccess(String token) { user.getOAuthDetails(token, OAuthType.GOOGLE, new AsyncCallback<Person>() { @Override public void onFailure(Throwable caught) { new ErrorPopupPanel("Error:" + caught.getMessage()).show(); } @Override public void onSuccess(Person user) { if (!display.getDisclosurePanel().isOpen()) display.getDisclosurePanel().setOpen(true); userRegisterDetails.firstName.setText(user.getFirstName()); userRegisterDetails.lastName.setText(user.getLastName()); userRegisterDetails.email.setText(user.getEmailAddress()); } }); } @Override public void onFailure(Throwable caught) { new ErrorPopupPanel("Error:" + caught.getMessage()).show(); } }); } }; googleHelper.getClientId(clientDetailsCB); } else { errorLabel.setText(result.getErrorMessage()); errorLabel.setStyleName("ErrorField"); } } } public void onFailure(Throwable error) { new ErrorPopupPanel("Error: " + error.getMessage()).show(); } }; this.display.getLoginButton().addClickHandler(new ClickHandler() { public void onClick(ClickEvent arg0) { user.authenticate(deposit_endpoint, userLoginDetails.user_tb.getText(), userLoginDetails.pass_tb.getText(), authenticateCB); } }); userLoginDetails.pass_tb.addKeyDownHandler(new KeyDownHandler() { @Override public void onKeyDown(KeyDownEvent event) { if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) user.authenticate(deposit_endpoint, userLoginDetails.user_tb.getText(), userLoginDetails.pass_tb.getText(), authenticateCB); } }); userRegisterDetails.confirmPassword.addKeyDownHandler(new KeyDownHandler() { @Override public void onKeyDown(KeyDownEvent event) { if (event.getNativeKeyCode() == KeyCodes.KEY_TAB) { if (!userRegisterDetails.password.getText() .equals(userRegisterDetails.confirmPassword.getText())) { userRegisterDetails.errorMessage.setText("Passwords should match."); display.getRegisterButton().setEnabled(false); } else if (userRegisterDetails.password.getText().length() < 6) { userRegisterDetails.errorMessage .setText("Please ensure password contains atleast 6 characters."); display.getRegisterButton().setEnabled(false); } else { userRegisterDetails.errorMessage.setText(""); display.getRegisterButton().setEnabled(true); } } } }); googleLogin.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { AsyncCallback<GoogleDetails> clientDetailsCB = new AsyncCallback<GoogleDetails>() { @Override public void onFailure(Throwable caught) { new ErrorPopupPanel("Unable to retrieve client id:" + caught.getMessage()).show(); } @Override public void onSuccess(GoogleDetails details) { final AuthRequest req = new AuthRequest(details.getGoogleAuthUrl(), details.getClientId()) .withScopes(GOOGLE_SCOPE); AUTH.login(req, new Callback<String, Throwable>() { @Override public void onSuccess(String token) { user.authenticateOAuth(token, OAuthType.GOOGLE, SeadApp.admins, authenticateCB); } @Override public void onFailure(Throwable caught) { new ErrorPopupPanel("Error:" + caught.getMessage()).show(); } }); } }; googleHelper.getClientId(clientDetailsCB); } }); }
From source file:org.dataconservancy.dcs.access.client.presenter.MediciIngestPresenter.java
License:Apache License
void addGetPubHandler() { getPub.addClickHandler(new ClickHandler() { @Override/* w w 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.dataconservancy.dcs.access.client.SeadApp.java
License:Apache License
private void historyChanged(String token) { if (token.isEmpty()) { if (facetOuterPanel.isAttached()) { main.setWidgetSize(facetOuterPanel, 0); }/*from www . ja v a 2 s .co m*/ if (!centerPanel.isAttached()) main.add(centerPanel); activityPage.setStyleName("Option"); adminPage.setStyleName("Option"); home.setStyleName("OptionSelected"); uploadData.setStyleName("Option"); curatorPage.setStyleName("Option"); isHome = true; selectedItems = new HashMap<String, List<String>>(); SearchInput input = new SearchInput(null, null, 0, new String[0], new String[0]); FacetedSearchPresenter.EVENT_BUS = GWT.create(SimpleEventBus.class); presenter = new FacetedSearchPresenter(new FacetedSearchView()); presenter.display(centerPanel, facetContent, header, loginPanel, notificationPanel); FacetedSearchPresenter.EVENT_BUS.fireEvent(new SearchEvent(input, false)); return; } SeadState state = SeadState.fromToken(token); final List<String> args = SeadState.tokenArguments(token); if (state == null) { handleHistoryTokenError(token); return; } //Browse appears to be the only panel that hides the login/logout panel //This will reset it whenever people go to another page/token if (state != SeadState.BROWSE) { main.setWidgetSize(loginPanel, 200); loginPanel.setVisible(true); } if (state == SeadState.HOME) { if (facetOuterPanel.isAttached()) { main.setWidgetSize(facetOuterPanel, 0); facetOuterPanel.setVisible(false); } if (!centerPanel.isAttached()) main.add(centerPanel); userService.checkSession(null, loginCallback); isHome = true; selectedItems = new HashMap<String, List<String>>(); SearchInput input = new SearchInput(null, null, 0, new String[0], new String[0]); FacetedSearchPresenter.EVENT_BUS = GWT.create(SimpleEventBus.class); presenter = new FacetedSearchPresenter(new FacetedSearchView()); presenter.display(centerPanel, facetContent, header, loginPanel, notificationPanel); FacetedSearchPresenter.EVENT_BUS.fireEvent(new SearchEvent(input, false)); } else if (state == SeadState.ADVANCED) { if (facetOuterPanel.isAttached()) { main.setWidgetSize(facetOuterPanel, 250); facetOuterPanel.setVisible(true); if (!centerPanel.isAttached()) main.add(centerPanel); dataSearch.setStyleName("OptionSelected"); uploadData.setStyleName("Option"); adminPage.setStyleName("Option"); dataHistory.setStyleName("Option"); selectedItems = new HashMap<String, List<String>>(); SearchInput input = new SearchInput(null, null, 0, new String[0], new String[0]); FacetedSearchPresenter.EVENT_BUS = GWT.create(SimpleEventBus.class); presenter = new FacetedSearchPresenter(new FacetedSearchView()); presenter.display(centerPanel, facetContent, header, loginPanel, notificationPanel); FacetedSearchPresenter.EVENT_BUS.fireEvent(new SearchEvent(input, true)); } } else if (state == SeadState.BROWSE) { if (facetOuterPanel.isAttached()) { main.setWidgetSize(facetOuterPanel, 250); facetOuterPanel.setVisible(true); } else main.addWest(facetOuterPanel, 250); facetOuterPanel.setVisible(true); if (!centerPanel.isAttached()) main.add(centerPanel); if (loginPanel.isAttached()) { main.setWidgetSize(loginPanel, 0); loginPanel.setVisible(false); } UserField[] userfields = new UserField[1]; String[] userqueries = new String[1]; String facetFields[] = new String[1]; String facetValues[] = new String[1]; userfields[0] = UserField.ABSTRACT; userqueries[0] = "'' TO *"; facetFields[0] = "entityType"; facetValues[0] = "Collection"; SearchInput input = new SearchInput(userfields, userqueries, 0, facetFields, facetValues); FacetedSearchPresenter.EVENT_BUS = GWT.create(SimpleEventBus.class); presenter = new FacetedSearchPresenter(new FacetedSearchView()); presenter.display(centerPanel, facetContent, header, loginPanel, notificationPanel); selectedItems = new HashMap<String, List<String>>(); FacetedSearchPresenter.EVENT_BUS.fireEvent(new SearchEvent(input, false)); return; } else if (state == SeadState.SEARCH) { if (facetOuterPanel.isAttached()) { main.setWidgetSize(facetOuterPanel, 250); facetOuterPanel.setVisible(true); } else main.addWest(facetOuterPanel, 250); facetOuterPanel.setVisible(true); if (!centerPanel.isAttached()) main.add(centerPanel); /* if(loginPanel.isAttached()){ main.setWidgetSize(loginPanel, 0); }*/ userService.checkSession(null, loginCallback); if (args.size() == 0) { SearchInput input = new SearchInput(null, null, 0, new String[0], new String[0]); FacetedSearchPresenter.EVENT_BUS = GWT.create(SimpleEventBus.class); presenter = new FacetedSearchPresenter(new FacetedSearchView()); presenter.display(centerPanel, facetContent, header, loginPanel, notificationPanel); selectedItems = new HashMap<String, List<String>>(); FacetedSearchPresenter.EVENT_BUS.fireEvent(new SearchEvent(input, false)); return; } /* if (args.size() < 2 || (args.size() & 1) == 0) { handleHistoryTokenError(token); return; } */ int offset = 0; //get facets args.get(args.size()-2) & args.get(args.size()-3) String[] facetFields = null; String[] facetValues = null; int facetCount = 0; try { facetCount = Integer.parseInt(args.get(args.size() - 1)); } catch (NumberFormatException e) { handleHistoryTokenError(token); return; } selectedItems = new HashMap<String, List<String>>(); isHome = false; int userFieldsLength = (args.size() - 2 - facetCount * 2) / 2; UserField[] userfields = new UserField[userFieldsLength]; String[] userqueries = new String[userFieldsLength]; int argIndex = -1; for (int i = 0; i < userFieldsLength; i++) { userfields[i] = UserField.valueOf(args.get(++argIndex)); userqueries[i] = args.get(++argIndex); if (userfields[i] == null) { handleHistoryTokenError(token); return; } } facetFields = new String[facetCount]; facetValues = new String[facetCount]; for (int i = 0; i < facetCount; i++) { facetFields[i] = args.get(++argIndex); facetValues[i] = args.get(++argIndex); List<String> childFacets = selectedItems.get(facetFields[i]); if (childFacets == null) childFacets = new ArrayList<String>(); childFacets.add(facetValues[i]); selectedItems.put(facetFields[i], childFacets); } SearchInput input = new SearchInput(userfields, userqueries, offset, facetFields, facetValues); FacetedSearchPresenter.EVENT_BUS = GWT.create(SimpleEventBus.class); presenter = new FacetedSearchPresenter(new FacetedSearchView());//); presenter.display(centerPanel, facetContent, header, loginPanel, notificationPanel); FacetedSearchPresenter.EVENT_BUS.fireEvent(new SearchEvent(input, false)); } else if (state == SeadState.ENTITY) { if (facetOuterPanel.isAttached()) { main.setWidgetSize(facetOuterPanel, 0); facetOuterPanel.setVisible(false); } if (!centerPanel.isAttached()) main.add(centerPanel); if (args.size() != 1) { handleHistoryTokenError(token); return; } userService.checkSession(null, loginCallback); presenter = new EntityPresenter(new EntityView(args.get(0))); presenter.display(centerPanel, facetContent, header, loginPanel, notificationPanel); } else if (state == SeadState.RELATED) { if (facetOuterPanel.isAttached()) { main.setWidgetSize(facetOuterPanel, 0); facetOuterPanel.setVisible(false); } if (!centerPanel.isAttached()) main.add(centerPanel); /*if(loginPanel.isAttached()){ main.setWidgetSize(loginPanel, 0); }*/ if (outerMoreLinks.isAttached()) { main.setWidgetSize(outerMoreLinks, 0); } if (args.size() != 1) { handleHistoryTokenError(token); return; } userService.checkSession(null, loginCallback); presenter = new RelationsPresenter(new RelationsView(args.get(0))); presenter.display(centerPanel, facetContent, header, loginPanel, notificationPanel); } else if (state == SeadState.CURATIONOBJECT) { if (facetOuterPanel.isAttached()) { main.setWidgetSize(facetOuterPanel, 0); facetOuterPanel.setVisible(false); } if (!centerPanel.isAttached()) main.add(centerPanel); /*if(loginPanel.isAttached()){ main.setWidgetSize(loginPanel, 0); }*/ if (outerMoreLinks.isAttached()) { main.setWidgetSize(outerMoreLinks, 0); } if (args.size() != 1) { handleHistoryTokenError(token); return; } userService.checkSession(null, loginCallback); presenter = new CurationObjectPresenter(new CurationView(args.get(0))); presenter.display(centerPanel, facetContent, header, loginPanel, notificationPanel); } else if (state == SeadState.LOGIN) { try { presenter = new LoginPresenter(new LoginPopupPanel()); presenter.display(centerPanel, facetContent, header, loginPanel, notificationPanel); } catch (Exception e) { e.printStackTrace(); } } else if (state == SeadState.LOGOUT) { if (!centerPanel.isAttached()) main.add(centerPanel); AsyncCallback<Void> cb = new AsyncCallback<Void>() { public void onSuccess(Void result) { initNoLogin(); History.newItem(SeadState.HOME.toToken()); } public void onFailure(Throwable error) { Window.alert("Failed to logout: " + error.getMessage()); } }; userService.clearSession(cb); } else if (state == SeadState.CURATOR) { if (args.size() > 0) History.newItem(SeadState.CURATOR.toToken()); if (!centerPanel.isAttached()) main.add(centerPanel); if (facetOuterPanel.isAttached()) { main.setWidgetSize(facetOuterPanel, 0); facetOuterPanel.setVisible(false); } AsyncCallback<UserSession> cb = new AsyncCallback<UserSession>() { public void onSuccess(UserSession result) { if (result.isSession()) { if (result.getRole() == Role.ROLE_CURATOR) { initCuratorLogin(); } else if (result.getRole() == Role.ROLE_ADMIN) { initAdminLogin(); } else { History.newItem(SeadState.HOME.toToken()); //no permissions } initLogoutButton(); if (!logoutButton.isAttached()) loginPanel.add(logoutButton); // History.newItem("upload"); } else History.newItem(SeadState.LOGIN.toToken()); } public void onFailure(Throwable error) { Window.alert("Failed to login: " + error.getMessage()); } }; curatorPage.setStyleName("OptionSelected"); adminPage.setStyleName("Option"); home.setStyleName("Option"); uploadData.setStyleName("Option"); userService.checkSession(null, cb); presenter = new CuratorViewPresenter(new CuratorView()); presenter.display(centerPanel, facetContent, header, loginPanel, notificationPanel); } else if (state == SeadState.PROV) { if (!centerPanel.isAttached()) main.add(centerPanel); if (facetOuterPanel.isAttached()) { main.setWidgetSize(facetOuterPanel, 0); facetOuterPanel.setVisible(false); } AsyncCallback<UserSession> cb = new AsyncCallback<UserSession>() { public void onSuccess(UserSession result) { if (result.isSession()) { if (result.getRole() == Role.ROLE_ADMIN) { initAdminLogin(); } else if (result.getRole() == Role.ROLE_CURATOR) { initCuratorLogin(); } else { initUserLogin(); } initLogoutButton(); String displayName = ""; if (result.getfName() != null) displayName = result.getfName(); if (result.getlName() != null) displayName += " " + result.getlName(); Label displayNameLabel = new Label(); displayNameLabel.setStyleName("welcomeFont"); displayNameLabel.setText("Welcome " + displayName); loginPanel.clear(); loginPanel.add(displayNameLabel); if (!logoutButton.isAttached()) loginPanel.add(logoutButton); activityPage.setStyleName("OptionSelected"); adminPage.setStyleName("Option"); home.setStyleName("Option"); uploadData.setStyleName("Option"); curatorPage.setStyleName("Option"); } else History.newItem(SeadState.LOGIN.toToken()); } public void onFailure(Throwable error) { Window.alert("Failed to login: " + error.getMessage()); } }; userService.checkSession(null, cb); presenter = new EntityProvPresenter(new EntityProvView(args.get(0))); presenter.display(centerPanel, facetContent, header, loginPanel, notificationPanel); } else if (state == SeadState.EDIT) { if (!centerPanel.isAttached()) main.add(centerPanel); if (facetOuterPanel.isAttached()) { main.setWidgetSize(facetOuterPanel, 0); facetOuterPanel.setVisible(false); } List<String> tempargs = SeadState.tokenArguments(token); curatorPage.setStyleName("OptionSelected"); adminPage.setStyleName("Option"); home.setStyleName("Option"); uploadData.setStyleName("Option"); userService.checkSession(null, logincallback2); presenter = new EditPresenter(new EditView(tempargs.get(0))); presenter.display(centerPanel, facetContent, header, loginPanel, notificationPanel); } else if (state == SeadState.ACTIVITY) { /* if(count==0){ forceReload(); count++; }*/ if (!centerPanel.isAttached()) main.add(centerPanel); if (facetOuterPanel.isAttached()) { main.setWidgetSize(facetOuterPanel, 0); facetOuterPanel.setVisible(false); } AsyncCallback<UserSession> cb = new AsyncCallback<UserSession>() { public void onSuccess(UserSession result) { if (result.isSession()) { if (result.getRole() == Role.ROLE_ADMIN) { initAdminLogin(); } else if (result.getRole() == Role.ROLE_CURATOR) { initCuratorLogin(); } else { initUserLogin(); } initLogoutButton(); String displayName = ""; if (result.getfName() != null) displayName = result.getfName(); if (result.getlName() != null) displayName += " " + result.getlName(); Label displayNameLabel = new Label(); displayNameLabel.setStyleName("welcomeFont"); displayNameLabel.setText("Welcome " + displayName); loginPanel.clear(); loginPanel.add(displayNameLabel); if (!logoutButton.isAttached()) loginPanel.add(logoutButton); activityPage.setStyleName("OptionSelected"); adminPage.setStyleName("Option"); home.setStyleName("Option"); uploadData.setStyleName("Option"); curatorPage.setStyleName("Option"); } else History.newItem(SeadState.LOGIN.toToken()); } public void onFailure(Throwable error) { Window.alert("Failed to login: " + error.getMessage()); } }; userService.checkSession(null, cb); presenter = new ActivityPresenter(new ActivityView()); presenter.display(centerPanel, facetContent, header, loginPanel, notificationPanel); } else if (state == SeadState.AUTH) { if (!centerPanel.isAttached()) main.add(centerPanel); else centerPanel.clear(); if (facetOuterPanel.isAttached()) { main.setWidgetSize(facetOuterPanel, 0); facetOuterPanel.setVisible(false); } dataSearch.setStyleName("Option"); uploadData.setStyleName("OptionSelected"); AsyncCallback<UserSession> cb = new AsyncCallback<UserSession>() { public void onSuccess(UserSession result) { if (result.isSession()) { if (result.getRole() == Role.ROLE_ADMIN) { Label logoutLbl = Util.label("Logout", "LogoutButton"); if (args.size() > 0) { ClickHandler logout = new ClickHandler() { @Override public void onClick(ClickEvent event) { loginPanel.clear(); // loginPanel.add(loginLabel); History.newItem("logout"); } }; logoutLbl.addClickHandler(logout); loginPanel.clear(); loginPanel.add(logoutLbl); } } History.newItem("upload"); } else History.newItem("login"); } public void onFailure(Throwable error) { Window.alert("Failed to login: " + error.getMessage()); } }; String argument = null; if (args.size() > 0) argument = args.get(1); userService.checkSession(argument, cb); } else if (state == SeadState.UPLOAD) { if (args.size() > 0) History.newItem(SeadState.UPLOAD.toToken()); if (facetOuterPanel.isAttached()) main.setWidgetSize(facetOuterPanel, 0); facetOuterPanel.setVisible(false); if (!centerPanel.isAttached()) main.add(centerPanel); AsyncCallback<UserSession> cb = new AsyncCallback<UserSession>() { public void onSuccess(UserSession result) { if (result.isSession()) { if (result.getRole() == Role.ROLE_ADMIN) initAdminLogin(); else if (result.getRole() == Role.ROLE_CURATOR) initCuratorLogin(); else initUserLogin(); initLogoutButton(); String displayName = ""; if (result.getfName() != null) displayName = result.getfName(); if (result.getlName() != null) displayName += " " + result.getlName(); Label displayNameLabel = new Label(); displayNameLabel.setStyleName("welcomeFont"); displayNameLabel.setText("Welcome " + displayName); loginPanel.clear(); loginPanel.add(displayNameLabel); if (!logoutButton.isAttached()) loginPanel.add(logoutButton); // History.newItem("upload"); curatorPage.setStyleName("Option"); adminPage.setStyleName("Option"); home.setStyleName("Option"); uploadData.setStyleName("OptionSelected"); } else History.newItem(SeadState.LOGIN.toToken()); } public void onFailure(Throwable error) { Window.alert("Failed to login: " + error.getMessage()); } }; userService.checkSession(null, cb); centerPanel.clear(); centerPanel.add(publishData); presenter = new PublishDataPresenter(new PublishDataView()); presenter.display(publishData, facetContent, header, loginPanel, notificationPanel); } else if (state == SeadState.ACRUPLOAD) { if (facetOuterPanel.isAttached()) main.setWidgetSize(facetOuterPanel, 0); facetOuterPanel.setVisible(false); if (!centerPanel.isAttached()) main.add(centerPanel); AsyncCallback<UserSession> cb = new AsyncCallback<UserSession>() { public void onSuccess(UserSession result) { if (result.isSession()) { if (result.getRole() == Role.ROLE_ADMIN) initAdminLogin(); else if (result.getRole() == Role.ROLE_CURATOR) initCuratorLogin(); else initUserLogin(); initLogoutButton(); String displayName = ""; if (result.getfName() != null) displayName = result.getfName(); if (result.getlName() != null) displayName += " " + result.getlName(); Label displayNameLabel = new Label(); displayNameLabel.setStyleName("welcomeFont"); displayNameLabel.setText("Welcome " + displayName); loginPanel.clear(); loginPanel.add(displayNameLabel); if (!logoutButton.isAttached()) loginPanel.add(logoutButton); // History.newItem("upload"); curatorPage.setStyleName("Option"); adminPage.setStyleName("Option"); home.setStyleName("Option"); uploadData.setStyleName("OptionSelected"); } else History.newItem(SeadState.LOGIN.toToken()); } public void onFailure(Throwable error) { Window.alert("Failed to login: " + error.getMessage()); } }; userService.checkSession(null, cb); centerPanel.clear(); centerPanel.add(publishData); presenter = new AcrPublishDataPresenter(new AcrPublishDataView()); presenter.display(publishData, facetContent, header, loginPanel, notificationPanel); } else if (state == SeadState.ADMIN) { if (!centerPanel.isAttached()) main.add(centerPanel); AsyncCallback<UserSession> cb = new AsyncCallback<UserSession>() { public void onSuccess(UserSession result) { if (result.isSession()) { if (result.getRole() == Role.ROLE_ADMIN) { initAdminLogin(); } else History.newItem(SeadState.HOME.toToken());//no permissions } else History.newItem("login"); } public void onFailure(Throwable error) { Window.alert("Failed to login: " + error.getMessage()); } }; userService.checkSession(null, cb); presenter = new AdminPresenter(new AdminView()); presenter.display(centerPanel, facetContent, header, loginPanel, notificationPanel); } else if (state == SeadState.MONITOR) { if (facetOuterPanel.isAttached()) main.setWidgetSize(facetOuterPanel, 0); facetOuterPanel.setVisible(false); if (!centerPanel.isAttached()) main.add(centerPanel); AsyncCallback<UserSession> cb = new AsyncCallback<UserSession>() { public void onSuccess(UserSession result) { if (result.isSession()) { if (result.getRole() == Role.ROLE_ADMIN) { initAdminLogin(); } else if (result.getRole() == Role.ROLE_CURATOR) { initCuratorLogin(); } else { initUserLogin(); } initLogoutButton(); String displayName = ""; if (result.getfName() != null) displayName = result.getfName(); if (result.getlName() != null) displayName += " " + result.getlName(); Label displayNameLabel = new Label(); displayNameLabel.setStyleName("welcomeFont"); displayNameLabel.setText("Welcome " + displayName); loginPanel.clear(); loginPanel.add(displayNameLabel); if (!logoutButton.isAttached()) loginPanel.add(logoutButton); dataHistory.setStyleName("OptionSelected"); adminPage.setStyleName("Option"); home.setStyleName("Option"); uploadData.setStyleName("Option"); curatorPage.setStyleName("Option"); } else History.newItem(SeadState.LOGIN.toToken()); } public void onFailure(Throwable error) { Window.alert("Failed to login: " + error.getMessage()); } }; userService.checkSession(null, cb); presenter = new ProvenancePresenter(new ProvenanceView()); presenter.display(centerPanel, facetContent, header, loginPanel, notificationPanel); } else { handleHistoryTokenError(token); return; } }
From source file:org.dataconservancy.dcs.access.client.SeadApp.java
License:Apache License
private Widget createAccessServiceUrlEditor() { FlexTable table = new FlexTable(); table.setText(0, 0, ""); table.setStyleName("FooterTable"); Label aboutLabel = Util.label("About", "Hyperlink"); Util.addColumn(table, aboutLabel); aboutLabel.addStyleName("LeftPad"); aboutLabel.addClickHandler(new ClickHandler() { @Override/*from w ww. j a v a 2s . c o m*/ public void onClick(ClickEvent event) { Window.open("http://sead-data.net/", "_blank", ""); } }); Label faq = Util.label("FAQ", "Hyperlink"); Util.addColumn(table, faq); faq.addStyleName("LeftPad"); faq.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Window.open("http://sead-data.net/", "_blank", ""); } }); Label contactLabel = Util.label("Contact Us", "Hyperlink"); Util.addColumn(table, contactLabel); contactLabel.addStyleName("LeftPad"); contactLabel.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Window.open("mailto:seadva-l@indiana.edu", "_blank", ""); } }); Label privacyLabel = Util.label("Privay Policy", "Hyperlink"); Util.addColumn(table, privacyLabel); privacyLabel.addStyleName("LeftPad"); privacyLabel.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { } }); /*set.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { String s = accessurl_tb.getText().trim(); if (!s.isEmpty()) { accessurl = s; History.fireCurrentHistoryState(); } } });*/ return table; }
From source file:org.dataconservancy.dcs.access.client.ui.ResultNavigationWidget.java
License:Apache License
public ResultNavigationWidget(final int page, final int numpages, final SearchInput searchInput, long totalResults, final boolean isAdvanced) { navigationPanel = new HorizontalPanel(); initWidget(navigationPanel);/* ww w . ja v a 2s . co m*/ navigationPanel.setStylePrimaryName("ResultsNav"); // navigationPanel.setSpacing(2); int currentRangeMin = (page) * Constants.MAX_SEARCH_RESULTS + 1; int currentRangeMax = (page + 1) * Constants.MAX_SEARCH_RESULTS; if (currentRangeMax > totalResults) { currentRangeMax = (int) totalResults; } Label resultNavigator = Util.label(" ", "ResultNavigator"); if (SeadState.fromToken(History.getToken()) == SeadState.SEARCH) { String queries = ""; if (searchInput.getUserqueries().length > 0) { for (int i = 0; i < searchInput.getUserqueries().length; i++) { queries += searchInput.getUserqueries()[i]; if (i < searchInput.getUserqueries().length - 1) queries += ","; } } if (searchInput.getFacetValue().length > 0) { if (searchInput.getUserqueries().length > 0) queries += ","; for (int i = 0; i < searchInput.getFacetField().length; i++) { queries += searchInput.getFacetValue()[i]; if (i < searchInput.getFacetValue().length - 1) queries += ","; } } String showingString = "\"" + queries + "\"\t Showing " + currentRangeMin + " - " + currentRangeMax + " out of " + totalResults; resultNavigator = Util.label(showingString, "ResultNavigator"); } navigationPanel.add(resultNavigator); if (numpages > 1) { if (page > 0) { Label first = Util.label("<<", "Hyperlink"); first.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { FacetedSearchPresenter.EVENT_BUS .fireEvent(new SearchEvent( new SearchInput(searchInput.getUserfields(), searchInput.getUserqueries(), 0, searchInput.getFacetField(), searchInput.getFacetValue()), isAdvanced)); } }); navigationPanel.add(first); final int offset = (page - 1) * Constants.MAX_SEARCH_RESULTS; Label previous = Util.label("Previous", "Hyperlink"); previous.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { FacetedSearchPresenter.EVENT_BUS .fireEvent(new SearchEvent( new SearchInput(searchInput.getUserfields(), searchInput.getUserqueries(), offset, searchInput.getFacetField(), searchInput.getFacetValue()), isAdvanced)); } }); navigationPanel.add(previous); } int max_pages_shown = 10; int startpage = page - (max_pages_shown / 2); if (startpage < 0) { startpage = 0; } int endpage = startpage + max_pages_shown; if (endpage > numpages) { endpage = numpages; } for (int i = startpage; i < endpage; i++) { if (i == page) { navigationPanel.add(Util.label("" + (i + 1), "CurrentNavigationPage")); } else { final int offset = i * Constants.MAX_SEARCH_RESULTS; Label pageIndex = Util.label(String.valueOf(i + 1), "Hyperlink"); pageIndex.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { FacetedSearchPresenter.EVENT_BUS.fireEvent(new SearchEvent( new SearchInput(searchInput.getUserfields(), searchInput.getUserqueries(), offset, searchInput.getFacetField(), searchInput.getFacetValue()), isAdvanced)); } }); navigationPanel.add(pageIndex); } } if (page < numpages - 1) { final int offset = (page + 1) * Constants.MAX_SEARCH_RESULTS; Label next = Util.label("Next", "Hyperlink"); next.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { FacetedSearchPresenter.EVENT_BUS .fireEvent(new SearchEvent( new SearchInput(searchInput.getUserfields(), searchInput.getUserqueries(), offset, searchInput.getFacetField(), searchInput.getFacetValue()), isAdvanced)); } }); navigationPanel.add(next); Label last = Util.label(">>", "Hyperlink"); last.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { FacetedSearchPresenter.EVENT_BUS .fireEvent(new SearchEvent( new SearchInput(searchInput.getUserfields(), searchInput.getUserqueries(), (numpages - 1) * Constants.MAX_SEARCH_RESULTS, searchInput.getFacetField(), searchInput.getFacetValue()), isAdvanced)); } }); navigationPanel.add(last); } } }