Advertisement
Guest User

Untitled

a guest
May 25th, 2018
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.66 KB | None | 0 0
  1. package sonc.client;
  2.  
  3. import sonc.shared.FieldVerifier;
  4. import com.google.gwt.core.client.EntryPoint;
  5. import com.google.gwt.core.client.GWT;
  6. import com.google.gwt.event.dom.client.ClickEvent;
  7. import com.google.gwt.event.dom.client.ClickHandler;
  8. import com.google.gwt.event.dom.client.KeyCodes;
  9. import com.google.gwt.event.dom.client.KeyUpEvent;
  10. import com.google.gwt.event.dom.client.KeyUpHandler;
  11. import com.google.gwt.user.client.rpc.AsyncCallback;
  12. import com.google.gwt.user.client.ui.Button;
  13. import com.google.gwt.user.client.ui.DeckPanel;
  14. import com.google.gwt.user.client.ui.DialogBox;
  15. import com.google.gwt.user.client.ui.HTML;
  16. import com.google.gwt.user.client.ui.Label;
  17. import com.google.gwt.user.client.ui.RootPanel;
  18. import com.google.gwt.user.client.ui.TextBox;
  19. import com.google.gwt.user.client.ui.VerticalPanel;
  20.  
  21. /**
  22. * Entry point classes define <code>onModuleLoad()</code>.
  23. */
  24. public class App implements EntryPoint {
  25. /**
  26. * The message displayed to the user when the server cannot be reached or
  27. * returns an error.
  28. */
  29. private static final String SERVER_ERROR = "An error occurred while "
  30. + "attempting to contact the server. Please check your network " + "connection and try again.";
  31.  
  32. /**
  33. * Create a remote service proxy to talk to the server-side Greeting service.
  34. */
  35. private final GreetingServiceAsync greetingService = GWT.create(GreetingService.class);
  36.  
  37. /**
  38. * This is the entry point method.
  39. */
  40. public void onModuleLoad() {
  41. final Button loginButton = new Button("Login!");
  42. loginButton.setText("Login");
  43.  
  44. final Button signupButton = new Button("Sign Up!");
  45. signupButton.setText("Sign Up");
  46.  
  47. final TextBox userField = new TextBox();
  48. userField.setText("");
  49.  
  50. final TextBox pwdField = new TextBox();
  51. pwdField.setText("");
  52. final Label errorLabel = new Label();
  53. final Label errorLabelRegister = new Label();
  54.  
  55. //DeckPanel deck = new DeckPanel();
  56.  
  57. RootPanel.get("userDiv").add(userField);
  58. RootPanel.get("passwordDiv").add(pwdField);
  59. RootPanel.get("buttonLogin").add(loginButton);
  60. RootPanel.get("buttonsignUp").add(signupButton);
  61.  
  62. // Focus the cursor on the name field when the app loads
  63. userField.setFocus(true);
  64. userField.selectAll();
  65.  
  66.  
  67. // Create the popup dialog box
  68. final DialogBox dialogBox = new DialogBox();
  69. final DialogBox passBox = new DialogBox();
  70. final DialogBox usernameRegisterBox = new DialogBox();
  71. final DialogBox passRegisterBox = new DialogBox();
  72. dialogBox.setText("Remote Procedure Call");
  73. dialogBox.setAnimationEnabled(true);
  74.  
  75. passBox.setText("Please enter at least four characters");
  76. final Button closeButton = new Button("Close");
  77. final Button passButton = new Button("Close");
  78.  
  79. // We can set the id of a widget by accessing its Element
  80. closeButton.getElement().setId("closeButton");
  81. passButton.getElement().setId("passButton");
  82.  
  83. final Label textToServerLabel = new Label();
  84. final HTML serverResponseLabel = new HTML();
  85. VerticalPanel dialogVPanel = new VerticalPanel();
  86. VerticalPanel passVPanel = new VerticalPanel();
  87.  
  88. dialogVPanel.addStyleName("dialogVPanel");
  89. dialogVPanel.add(new HTML("<b>Sending name to the server:</b>"));
  90. dialogVPanel.add(textToServerLabel);
  91. dialogVPanel.add(new HTML("<br><b>Server replies:</b>"));
  92. dialogVPanel.add(serverResponseLabel);
  93. dialogVPanel.setHorizontalAlignment(VerticalPanel.ALIGN_RIGHT);
  94. dialogVPanel.add(closeButton);
  95. dialogBox.setWidget(dialogVPanel);
  96.  
  97. passVPanel.addStyleName("passVPanel");
  98. passVPanel.add(new HTML("<b>Pass>4:</b>"));
  99. passVPanel.add(textToServerLabel);
  100. passVPanel.add(passButton);
  101. passBox.setWidget(passVPanel);
  102.  
  103.  
  104. // Add a handler to close the DialogBox
  105. closeButton.addClickHandler(new ClickHandler() {
  106. public void onClick(ClickEvent event) {
  107. dialogBox.hide();
  108. loginButton.setEnabled(true);
  109. loginButton.setFocus(true);
  110. }
  111. });
  112.  
  113. signupButton.addClickHandler(new ClickHandler() {
  114. public void onClick(ClickEvent event) {
  115. dialogBox.hide();
  116.  
  117. }
  118. });
  119.  
  120. passButton.addClickHandler(new ClickHandler() {
  121. public void onClick(ClickEvent event) {
  122. passBox.hide();
  123. //loginButton.setEnabled(true);
  124. //loginButton.setFocus(true);
  125. }
  126. });
  127.  
  128.  
  129.  
  130. // Create a handler for the loginButton and userField
  131. class MyHandler implements ClickHandler, KeyUpHandler {
  132. /**
  133. * Fired when the user clicks on the sendButton.
  134. */
  135. public void onClick(ClickEvent event) {
  136. sendNameToServer();
  137. }
  138.  
  139. /**
  140. * Fired when the user types in the userField.
  141. */
  142. public void onKeyUp(KeyUpEvent event) {
  143. if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
  144. sendNameToServer();
  145. }
  146. }
  147.  
  148. /**
  149. * Send the name from the userField to the server and wait for a response.
  150. */
  151. public void sendNameToServer() {
  152. // First, we validate the input.
  153. errorLabel.setText("");
  154. String user = userField.getText();
  155. String pass = pwdField.getText();
  156. if (!FieldVerifier.isValidName(user)) {
  157. errorLabel.setText("Please enter at least four characters");
  158. passBox.setAnimationEnabled(true);
  159. passBox.center();
  160.  
  161. return;
  162. }
  163. if (!FieldVerifier.isValidName(pass)) {
  164. errorLabel.setText("Please enter at least four characters");
  165. passBox.setAnimationEnabled(true);
  166. passBox.center();
  167.  
  168. return;
  169. }
  170. // Then, we send the input to the server.
  171. loginButton.setEnabled(false);
  172. textToServerLabel.setText(user);
  173. textToServerLabel.setText(pass);
  174. System.out.println("user " + user + " pass " + pass);
  175.  
  176. serverResponseLabel.setText("");
  177. greetingService.greetServer(user,pass, new AsyncCallback<String>() {
  178. public void onFailure(Throwable caught) {
  179. // Show the RPC error message to the user
  180. dialogBox.setText("Remote Procedure Call - Failure");
  181. serverResponseLabel.addStyleName("serverResponseLabelError");
  182. serverResponseLabel.setHTML(SERVER_ERROR);
  183. dialogBox.center();
  184. closeButton.setFocus(true);
  185. }
  186.  
  187. public void onSuccess(String result) {
  188. dialogBox.setText("Remote Procedure Call");
  189. serverResponseLabel.removeStyleName("serverResponseLabelError");
  190. serverResponseLabel.setHTML(result);
  191. dialogBox.center();
  192. closeButton.setFocus(true);
  193. }
  194. });
  195.  
  196. greetingService.authenticate(user, pass, new AsyncCallback<Boolean>() {
  197.  
  198. @Override
  199. public void onFailure(Throwable caught) {
  200. // TODO Auto-generated method stub
  201.  
  202. }
  203.  
  204. @Override
  205. public void onSuccess(Boolean result) {
  206. // TODO Auto-generated method stub
  207. if(result){
  208. System.out.println("TOP");
  209.  
  210. }
  211. else
  212. {
  213. System.out.println("TOP+wfdsfsfsfsdfssfdfsd");
  214.  
  215. }
  216. }
  217.  
  218.  
  219. });
  220. }
  221. }
  222. class signupHandler implements ClickHandler, KeyUpHandler {
  223. /**
  224. * Fired when the user clicks on the sendButton.
  225. */
  226. public void onClick(ClickEvent event) {
  227. register();
  228. }
  229.  
  230. /**
  231. * Fired when the user types in the userField.
  232. */
  233. public void onKeyUp(KeyUpEvent event) {
  234. if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
  235. register();
  236. }
  237. }
  238.  
  239. /**
  240. * Send the name from the userField to the server and wait for a response.
  241. */
  242. public void register() {
  243. // First, we validate the input.
  244. errorLabelRegister.setText("");
  245. String user = userField.getText();
  246. String pass = pwdField.getText();
  247. if (!FieldVerifier.isValidName(user)) {
  248. errorLabelRegister.setText("Please enter at least four characters");
  249. passBox.setAnimationEnabled(true);
  250. passBox.center();
  251.  
  252. return;
  253. }
  254. if (!FieldVerifier.isValidName(pass)) {
  255. errorLabelRegister.setText("Please enter at least four characters");
  256. passBox.setAnimationEnabled(true);
  257. passBox.center();
  258.  
  259. return;
  260. }
  261. // Then, we send the input to the server.
  262. signupButton.setEnabled(false);
  263. greetingService.register(user, pass, new AsyncCallback<Boolean>(){
  264.  
  265. @Override
  266. public void onFailure(Throwable caught){
  267. errorLabelRegister.setText(SERVER_ERROR);
  268. return;
  269. }
  270.  
  271. @Override
  272. public void onSuccess(Boolean result){
  273. if(result){
  274. errorLabelRegister.setText(usernameRegisterBox.getText() + ", registado com sucesso.");
  275.  
  276. }
  277. else{
  278.  
  279. }
  280.  
  281.  
  282. }
  283. });
  284.  
  285. }
  286. }
  287.  
  288. // Add a handler to send the name to the server
  289. MyHandler handler = new MyHandler();
  290. loginButton.addClickHandler(handler);
  291. userField.addKeyUpHandler(handler);
  292. pwdField.addKeyUpHandler(handler);
  293.  
  294. }
  295. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement