litesoft
@ 948
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
package org.litesoft.sandbox.csapp.client.widgets; import com.google.gwt.event.dom.client.*; import com.google.gwt.safehtml.shared.*; import com.google.gwt.user.client.*; import com.google.gwt.user.client.ui.*; public class CertUploadWidget extends Composite implements IsWidget, UploadWidget.Callback { private static final String UP_IMAGE_URL = "common/uploadCert.png"; private static final String UP_DISABLED_IMAGE_URL = "common/uploadCertDisabled.png"; private static final String REMOVE_REGULAR_IMAGE_URL = "common/Remove.gif"; private static final String REMOVE_DISABLED_IMAGE_URL = "common/RemoveDisabled.gif"; private static final String REMOVE_HOVER_IMAGE_URL = "common/RemoveHover.gif"; private static final String REMOVE_PRESSED_IMAGE_URL = "common/RemovePressed.gif"; private static final String BUSY_IMAGE_URL = "common/BigBusy.gif"; private static final int SECONDS_TO_WAIT = 30; private static final String WAIT_MESSAGE = "Checking Certificate Validity,\nthis can take a while...\n${seconds}\nseconds until timeout."; private final UploadWidget uploader; private final HTML resultsDisplay = new HTML( " " ); private final ScrollPanel resultsContainer = new ScrollPanel(); public CertUploadWidget() { PushButton illusionaryButton = new PushButton( new Image( UP_IMAGE_URL ) ); illusionaryButton.getUpDisabledFace().setImage( new Image( UP_DISABLED_IMAGE_URL ) ); PushButton removeButton = new PushButton( new Image( REMOVE_REGULAR_IMAGE_URL ) ); removeButton.getUpDisabledFace().setImage( new Image( REMOVE_DISABLED_IMAGE_URL ) ); removeButton.getUpHoveringFace().setImage( new Image( REMOVE_HOVER_IMAGE_URL ) ); removeButton.getDownFace().setImage( new Image( REMOVE_PRESSED_IMAGE_URL ) ); removeButton.getDownHoveringFace().setImage( new Image( REMOVE_PRESSED_IMAGE_URL ) ); removeButton.addClickHandler( new ClickHandler() { @Override public void onClick( ClickEvent event ) { resultsDisplay.setHTML( " " ); // todo: Clear the actual Base64 file contents } } ); uploader = new UploadWidget( illusionaryButton, removeButton, SECONDS_TO_WAIT, this ); resultsContainer.setWidget( resultsDisplay ); resultsContainer.addStyleName( "CertUploadResults" ); VerticalPanel panel = new VerticalPanel(); panel.addStyleName( "CertUpload" ); panel.add( uploader ); panel.add( createSpacer( "CertUploadResultsRemoveSpacer" ) ); panel.add( createResultsRemoveWidget( resultsContainer, removeButton ) ); initWidget( panel ); } public void setServletPath( String url ) { uploader.setServletPath( url ); } public void setEnabled( boolean enable ) { uploader.setEnabled( enable ); } public void setResultsWidth( String width ) { resultsContainer.setWidth( width ); } public void setResultsHeight( String height ) { resultsContainer.setHeight( height ); } protected void showBusy() { uploader.showBusy(); } private Widget createResultsRemoveWidget( ScrollPanel resultsContainer, ButtonBase removeButton ) { HorizontalPanel panel = new HorizontalPanel(); panel.addStyleName( "CertUploadResultsRemove" ); panel.add( resultsContainer ); panel.add( createSpacer( "CertUploadResultsRemoveSpacer" ) ); panel.add( removeButton ); return panel; } private Widget createSpacer( String className ) { HTML div = new HTML( " " ); div.addStyleName( className ); return div; } @Override public Image createBusyImage() { return new Image( BUSY_IMAGE_URL ); } @Override public Widget createWaitingMessageWidget( Widget secondsRemaining ) { VerticalPanel panel = new VerticalPanel(); panel.setHorizontalAlignment( HasHorizontalAlignment.ALIGN_CENTER ); String message = WAIT_MESSAGE; int from = 0; for ( int at; -1 != (at = message.indexOf( '\n', from )); from = at + 1 ) { panel.add( createLabel( message.substring( from, at ), secondsRemaining ) ); } panel.add( createLabel( message.substring( from ), secondsRemaining ) ); return panel; } private Widget createLabel( String line, Widget secondsRemainingWidget ) { return line.equals( "${seconds}" ) ? secondsRemainingWidget : new Label( line ); } @Override public void requestingUpload( String filename ) { resultsDisplay.setHTML( "Uploading '" + filename + "' ..." ); } @Override public void timeout( String filename ) { if ( (filename == null) || (filename.length() == 0) ) { filename = "N/A"; } Window.alert( "The Cert processing for\n" + filename + "\nhas Timed Out.\n\nIt may yet arrive..." ); } @Override public void parseResponse( String fileName, String htmlResponse ) { // Truly Bad Url: // null // No Servlet: // <h2>HTTP ERROR: 404</h2><pre>NOT_FOUND</pre> // <p>RequestURI=/v2/TestSubmit</p><p><i><small><a href="http://jetty.mortbay.org/">Powered by Jetty://</a></small></i></p><br> // <br> // <br> // <br> // ... System.out.println( "parseResponse:\n" + htmlResponse ); resultsDisplay.setHTML( SafeHtmlUtils.htmlEscapeAllowEntities( "Got Response (" + htmlResponse.length() + " bytes)\nfor\n" + fileName ) ); } } |
Commits for litesoft/trunk/GWT_Sandbox/Upload/src/org/litesoft/sandbox/csapp/client/widgets/CertUploadWidget.java
Revision | Author | Commited | Message |
---|---|---|---|
948 Diff | GeorgeS | Sat 07 Jun, 2014 23:42:39 +0000 | Jusefuls Formatter Updated to New Code Format |
537 Diff | GeorgeS | Sun 02 Oct, 2011 17:58:21 +0000 | |
535 Diff | GeorgeS | Fri 30 Sep, 2011 18:34:03 +0000 | ! |
534 Diff | GeorgeS | Fri 30 Sep, 2011 17:55:53 +0000 | |
533 Diff | GeorgeS | Fri 30 Sep, 2011 17:25:49 +0000 | |
532 | GeorgeS | Thu 29 Sep, 2011 20:59:09 +0000 |