Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.45 KB | None | 0 0
  1. package org.uberfire.client.perspectives;
  2.  
  3. import org.uberfire.client.annotations.Perspective;
  4. import org.uberfire.client.annotations.WorkbenchPerspective;
  5. import org.uberfire.client.workbench.panels.impl.MultiListWorkbenchPanelPresenter;
  6. import org.uberfire.mvp.impl.DefaultPlaceRequest;
  7. import org.uberfire.workbench.model.PerspectiveDefinition;
  8. import org.uberfire.workbench.model.impl.PartDefinitionImpl;
  9. import org.uberfire.workbench.model.impl.PerspectiveDefinitionImpl;
  10.  
  11. import javax.enterprise.context.ApplicationScoped;
  12.  
  13. @ApplicationScoped
  14. @WorkbenchPerspective(identifier = "SecondPerspective")
  15. public class SecondPerspective {
  16.  
  17.     @Perspective
  18.     public PerspectiveDefinition buildPerspective() {
  19.         final PerspectiveDefinition p = new PerspectiveDefinitionImpl( MultiListWorkbenchPanelPresenter.class.getName() );
  20.         p.setName( "SecondPerspective" );
  21.         p.getRoot().addPart( new PartDefinitionImpl( new DefaultPlaceRequest( "MyHelloWorldScreen" ) ) );
  22.  
  23.  
  24.         return p;
  25.     }
  26. }
  27.  
  28.  
  29.  
  30. package org.uberfire.client.screens;
  31.  
  32. import org.jboss.errai.common.client.api.Caller;
  33. import org.slf4j.Logger;
  34. import org.slf4j.LoggerFactory;
  35. import org.uberfire.client.annotations.WorkbenchPartTitle;
  36. import org.uberfire.client.annotations.WorkbenchPartView;
  37. import org.uberfire.client.annotations.WorkbenchScreen;
  38. import org.uberfire.client.mvp.UberElement;
  39. import org.uberfire.shared.RestService;
  40.  
  41. import javax.enterprise.context.Dependent;
  42. import javax.inject.Inject;
  43.  
  44.  
  45. @Dependent
  46. @WorkbenchScreen(identifier = "MyHelloWorldScreen")
  47. public class MyHelloWorldUberfirePresenter {
  48.  
  49.     private static final Logger logger = LoggerFactory.getLogger(MyHelloWorldUberfirePresenter.class);
  50.  
  51.     public interface View extends UberElement<MyHelloWorldUberfirePresenter> {
  52.     }
  53.  
  54.     @Inject
  55.     private View view;
  56.  
  57.     @Inject
  58.     private Caller<RestService> service;
  59.  
  60.     @WorkbenchPartTitle
  61.     public String getTitle() {
  62.         return "MyHelloWorldScreen";
  63.     }
  64.  
  65.     @WorkbenchPartView
  66.     public UberElement<MyHelloWorldUberfirePresenter> getView() {
  67.         return view;
  68.     }
  69.  
  70.  
  71.     public boolean loginAction(String username, String password) {
  72.         logger.info("Metodo login action");
  73.         logger.info("username : ".concat(username));
  74.         logger.info("password : ".concat(password));
  75.         return username.equals("admin") && password.equals("admin");
  76.  
  77.     }
  78.  
  79.  
  80.     public void callRpcServices() {
  81.  
  82.         logger.info("Metodo callRpcServices");
  83.         logger.info("service " + service.toString());
  84. /*
  85.         service.call(new RemoteCallback<String>() {
  86.  
  87.             public void callback(String s) {
  88.                 logger.info("callback " + s);
  89.             }
  90.  
  91.  
  92.         }).fo();
  93. */
  94.         service.call(o -> {
  95.             logger.info("o - callback " + o);
  96.             ((MyHelloWorldUberfireView)this.view).setRPCall(o.toString());
  97.         }).fo();
  98.     }
  99. }
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109. package org.uberfire.client.screens;
  110.  
  111.  
  112. import org.gwtbootstrap3.client.ui.AnchorButton;
  113. import org.gwtbootstrap3.client.ui.AnchorListItem;
  114. import org.gwtbootstrap3.client.ui.DropDownMenu;
  115. import org.gwtbootstrap3.client.ui.constants.Toggle;
  116. import org.jboss.errai.common.client.dom.*;
  117. import org.jboss.errai.security.shared.api.identity.User;
  118. import org.jboss.errai.ui.client.local.api.IsElement;
  119. import org.jboss.errai.ui.shared.api.annotations.DataField;
  120. import org.jboss.errai.ui.shared.api.annotations.EventHandler;
  121. import org.jboss.errai.ui.shared.api.annotations.ForEvent;
  122. import org.jboss.errai.ui.shared.api.annotations.Templated;
  123. import org.slf4j.Logger;
  124. import org.slf4j.LoggerFactory;
  125.  
  126. import javax.enterprise.context.Dependent;
  127. import javax.inject.Inject;
  128. import javax.inject.Named;
  129.  
  130. @Dependent
  131. @Templated("MyHelloWorldUberfireView.html")
  132. public class MyHelloWorldUberfireView implements MyHelloWorldUberfirePresenter.View, IsElement {
  133.  
  134.     private static final Logger logger = LoggerFactory.getLogger(MyHelloWorldUberfireView.class);
  135.     private MyHelloWorldUberfirePresenter presenter;
  136.  
  137.     @Named("h1")
  138.     @Inject
  139.     @DataField
  140.     private Heading welcome;
  141.  
  142.     @Inject
  143.     private User user;
  144.  
  145.     @Inject
  146.     @DataField
  147.     private TextInput username;
  148.  
  149.     // The corresponding input element has id=passwd
  150.     @Inject
  151.     @DataField("passwd")
  152.     private PasswordInput password;
  153.  
  154.     @Inject
  155.     @DataField
  156.     private Button cancel;
  157.  
  158.     @Inject
  159.     @DataField
  160.     private Button login;
  161.     @Inject
  162.     @DataField("result-login")
  163.     private Div result;
  164.  
  165.     @Inject
  166.     @DataField("rpc-call")
  167.     private Div rcpCall;
  168.  
  169.     @Inject
  170.     @DataField("my-dropdown")
  171.     private DropDownMenu myDropdown;
  172.  
  173.  
  174.  
  175.     public void init(MyHelloWorldUberfirePresenter presenter) {
  176.         logger.info("logger - metodo init " + this.getClass().toString());
  177.         this.presenter = presenter;
  178.         this.setUp(user.getIdentifier());
  179.         result.setClassName("hidden");
  180.  
  181.  
  182.         myDropdown.setTitle("my-dropdown");
  183.  
  184.  
  185.  
  186.         AnchorButton anchorButton = new AnchorButton();
  187.         anchorButton.setDataToggle(Toggle.DROPDOWN);
  188.         //menu = new DropDownMenu();
  189.         myDropdown.add(anchorButton);
  190.  
  191.         AnchorListItem li = new AnchorListItem();
  192.         li.setTitle("menu 1");
  193.         li.setText("menu 1");
  194.         myDropdown.add(li);
  195.  
  196.  
  197.     }
  198.  
  199.     public void setUp(String name) {
  200.         logger.info("logger - metodo setUp " + this.getClass().toString());
  201.         welcome.setInnerHTML("Benvenuto ".concat(name));
  202.  
  203.  
  204.     }
  205.  
  206.     @EventHandler("login")
  207.     public void loginHeandler(@ForEvent("click") final Event e) {
  208.         logger.info("logger - metodo loginHeandler");
  209.  
  210.         if (this.presenter.loginAction(username.getValue(), password.getValue())) {
  211.             result.setClassName("alert-success");
  212.             result.setInnerHTML("Login success");
  213.         } else {
  214.             result.setClassName("alert-danger");
  215.             result.setInnerHTML("Login error...");
  216.         }
  217.     }
  218.  
  219.     @EventHandler("cancel")
  220.     public void cancelHeandler(@ForEvent("click") final Event e) {
  221.         logger.info("logger - metodo cancelHeandler");
  222.         username.setValue("");
  223.         password.setValue("");
  224.     }
  225.  
  226.     @EventHandler("rpc")
  227.     public void rpcHeandler(@ForEvent("click") final Event e) {
  228.         logger.info("logger - metodo rpcHeandler");
  229.         this.presenter.callRpcServices();
  230.     }
  231.  
  232.     public void setRPCall(String s){
  233.          rcpCall.setInnerHTML(s);
  234.     }
  235.  
  236. }
  237.  
  238.  
  239.  
  240. <div class="container">
  241.     <h1 id="welcome"></h1>
  242.     <div class="jumbotron">
  243.         <div id="result-login" class="alert " role="alert"></div>
  244.         <legend>Log in to your account:</legend>
  245.         <label for="username">Username</label>
  246.         <input id="username" class="form-control" type="text" placeholder="Enter username">
  247.         <br/>
  248.         <label for="passwd">Password</label>
  249.         <input id="passwd" class="form-control" type="password" placeholder="********">
  250.         <br/>
  251.         <button id="cancel" class="btn btn-danger">Cancel</button>
  252.         <button id="login" data-field="login" class="btn btn-success">Sign In</button>
  253.     </div>
  254.     <div class="container">
  255.         <div class="row">
  256.             <div class="col-md-3">
  257.                 <button id="rpc" class="btn btn-primary">RPC </button>
  258.             </div>
  259.             <div id="rpc-call">
  260.  
  261.             </div>
  262.         </div>
  263.     </div>
  264.     <div class="container">
  265.         <div class="row">
  266.             <div class="col-md-3">
  267.                 <div class="dropdown">
  268.                     <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
  269.                         Dropdown
  270.                         <span class="caret"></span>
  271.                     </button>
  272.                     <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
  273.                         <li><a href="#">Action</a></li>
  274.                         <li><a href="#">Another action</a></li>
  275.                         <li><a href="#">Something else here</a></li>
  276.                         <li role="separator" class="divider"></li>
  277.                         <li><a href="#">Separated link</a></li>
  278.                     </ul>
  279.                 </div>
  280.             </div>
  281.             <div class="col-md-1"></div>
  282.             <div class="col-md-3">
  283.                 <div class="my-dropdown"></div>
  284.             </div>
  285.         </div>
  286.  
  287.     </div>
  288.  
  289. </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement