String getMessagePreview(final EIURI instanceURI, final String instanceLabel) { final Person fromInfo = new Person( fromNameText.getText(), fromEmailText.getText(), fromTitleText.getText(), fromLabName.getText(), institutionNameText.getText(), institutionSelect.getItemText(institutionSelect.getSelectedIndex()) ); final TributaryRequestDetailInfo requestDetailInfo = new TributaryRequestDetailInfo( instanceURI, instanceLabel, descriptionText.getText(), additionalInfoText.getText(), agreeToCiteCheckBox.getValue(), agreeToShareCheckBox.getValue() ); final ContactBean msg = new TributaryBean( fromInfo, requestDetailInfo, subject, ccEmailCheckBox.getValue() ); // this will deliver html in case that's what the message will use, or plain-text if no html: showGlasspane(); InstancePage.contactService.getMessageContent( SessionContext.getSessionId(), msg, true, new RootAsyncCallback<String>() { @Override public void onSuccess(String result) { if ( result != null ) { contentPreview = result; new TributaryPreviewPanel( contentPreview ) ; hideGlasspane(); } else { Window.alert( "Error obtaining message text. Please check required fields." ); } } }); return "Still only a mock-message: working on the async callback...."; }
@Override void sendMessage(final EIEntity instanceEntity, final ResourceFacet facet) { if ( validateFields() ) { final Person fromInfo = new Person( fromNameText.getText(), fromEmailText.getText(), fromTitleText.getText(), fromLabName.getText(), institutionNameText.getText(), institutionSelect.getItemText(institutionSelect.getSelectedIndex()) ); final TributaryRequestDetailInfo requestDetailInfo = new TributaryRequestDetailInfo( instanceEntity.getURI(), instanceEntity.getLabel(), descriptionText.getText(), additionalInfoText.getText(), agreeToCiteCheckBox.getValue(), agreeToShareCheckBox.getValue() ); final ContactBean msg = new TributaryBean( fromInfo, requestDetailInfo, subject, ccEmailCheckBox.getValue() ); showGlasspane(); InstancePage.contactService.contactMessage( SessionContext.getSessionId(), msg, new RootAsyncCallback<Boolean>() { @Override public void onSuccess(Boolean result) { if ( result ) { hideGlasspane(); Window.alert( "Your message has been sent." ); clearFields(); hidePart2(); } } @Override public void onFailure(final Throwable caught) { super.onFailure(caught); hideGlasspane(); } }); } }