private FolderView(Folder f) { super(new AbsoluteLayout()); l = (AbsoluteLayout) getCompositionRoot(); setSizeFull(); l.setSizeFull(); folder = f; setDropHandler(this); }
private Panel designLoginPanel() { final Panel loginPanel = new Panel("Login"); HashMap<String, String> users = null; loginPanel.setWidth("100%"); loginPanel.setHeight("100%"); // Create absolute layout specifying its properties final AbsoluteLayout loginLayout = new AbsoluteLayout(); loginLayout.setSizeFull(); // Create components Objects and specify their properties int startLeft = 200, startTop = 300; try { users = getLoginInfo("jdbc:mysql://localhost:3306/", "linkeval", "root", "mofo"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } Button btnLogin = new Button("Login"); final ComboBox cmbUser = new ComboBox("Select your USER ID"); final ComboBox cmbTask = new ComboBox("Select your TASK"); cmbUser.setNullSelectionAllowed(false); cmbTask.setNullSelectionAllowed(false); // Add data Iterator it = users.entrySet().iterator(); while (it.hasNext()) { Map.Entry pairs = (Map.Entry) it.next(); cmbUser.addItem(pairs.getKey()); cmbUser.setItemCaption(pairs.getKey(), pairs.getValue().toString()); it.remove(); // avoids a ConcurrentModificationException } cmbUser.setValue(cmbUser.getItemIds().iterator().next()); // Listeners btnLogin.addClickListener( new Button.ClickListener() { @Override public void buttonClick(ClickEvent event) { userId = String.valueOf( cmbUser .getValue()); // which is his Id in tabel as this combo box shows names as // captions and Ids as values userName = cmbUser.getItemCaption(userId); task = String.valueOf(cmbTask.getValue()); if (task != "" && userId != "") { VerticalSplitPanel vsplit = new VerticalSplitPanel(); displayedPanel = designMainPanel(); vsplit.setSecondComponent(displayedPanel); vsplit.setFirstComponent(allLinksDetails()); UI.getCurrent().setContent(vsplit); } } }); cmbUser.addFocusListener( new FocusListener() { @Override public void focus(FocusEvent event) { // TODO Auto-generated method stub cmbUser.setValue(cmbUser.getItemIds().iterator().next()); } }); cmbUser.addValueChangeListener( new ValueChangeListener() { @Override public void valueChange(final ValueChangeEvent event) { final String valueString = String.valueOf(event.getProperty().getValue()); try { List<String> tasks = getTasksInfo( "jdbc:mysql://localhost:3306/", "linkeval", "root", "mofo", valueString); cmbTask.removeAllItems(); if (tasks != null) { for (String task : tasks) { cmbTask.addItem(task); } cmbTask.setValue(cmbTask.getItemIds().iterator().next()); } } catch (SQLException e) { // TODO Auto-generated catch block Notification.show(e.getMessage()); } } }); loginLayout.addComponent(cmbUser, "left: 800px; top: 200px;"); loginLayout.addComponent(cmbTask, "left: 800px; top: 300px;"); loginLayout.addComponent(btnLogin, "left: 900px; top: 400px;"); loginPanel.setContent(loginLayout); return loginPanel; }
private Panel designMainPanel() { // positioning indices final int leftStart = 450, topStart = 10, space = 100; // create the panel that will hold all components Panel pnlURIsProperties = new Panel("URI Display"); pnlURIsProperties.setWidth("100%"); pnlURIsProperties.setHeight("100%"); // Create absolute layout specifying its properties final AbsoluteLayout layout = new AbsoluteLayout(); layout.setWidth("100%"); layout.setHeight("100%"); layout.setSizeFull(); // Create components Objects and specify their properties Button btnCorrect = new Button("Correct"); Button btnIncorrect = new Button("Incorrect"); Button btnUnsure = new Button("Unsure"); Button btnGetProperties = new Button("Get properties"); final NativeSelect cmbSourceEndpoint = new NativeSelect("Source Endpoint"); final NativeSelect cmbDestinationEndpoint = new NativeSelect("Destination Endpoint"); final ListSelect lstSuggestedProperties = new ListSelect("Lookup Properties"); // to load properties of loaded resources automatically final CheckBox chkAutomaticPropertiesLoad = new CheckBox("Automatic Properties loading (next time)"); chkAutomaticPropertiesLoad.setValue(false); cmbSourceEndpoint.setNullSelectionAllowed(false); cmbDestinationEndpoint.setNullSelectionAllowed(false); lstSuggestedProperties.setRows(4); lstSuggestedProperties.setNullSelectionAllowed(false); source = new Label("Source URI"); destination = new Label("Destination URI"); final Table tblSourcePropertiesMapping = new Table("Source Properties"); final Table tblDestinationPropertiesMapping = new Table("Destination Properties"); tblSourcePropertiesParam = tblSourcePropertiesMapping; tblDestinationPropertiesParam = tblDestinationPropertiesMapping; tblSourcePropertiesMapping.setWidth("50%"); tblDestinationPropertiesMapping.setWidth("100%"); tblSourcePropertiesMapping.setSelectable(true); tblDestinationPropertiesMapping.setSelectable(true); /* Define the names and data types of columns. * The "default value" parameter is meaningless here. */ tblSourcePropertiesMapping.addContainerProperty("Property", String.class, null); tblSourcePropertiesMapping.addContainerProperty("Value", String.class, null); tblDestinationPropertiesMapping.addContainerProperty("Property", String.class, null); tblDestinationPropertiesMapping.addContainerProperty("Value", String.class, null); tblDestinationPropertiesMapping.setMultiSelect(true); /// get data for comboboxes SQLContainer cmbContainer = connectToDB("root", "mofo", "Endpoints"); // fill endpoints cmbSourceEndpoint.setContainerDataSource(cmbContainer); cmbDestinationEndpoint.setContainerDataSource(cmbContainer); cmbSourceEndpoint.setValue(cmbSourceEndpoint.getItemIds().iterator().next()); cmbDestinationEndpoint.setValue(cmbDestinationEndpoint.getItemIds().iterator().next()); SQLContainer lstContainer = getSuggestedProperties("root", "mofo"); int lstSize = lstContainer.size(); int i = 0; for (Object cityItemId : lstContainer.getItemIds()) { lstSuggestedProperties.addItem(i); String g = lstContainer.getItem(cityItemId).getItemProperty("property").getValue().toString(); lstSuggestedProperties.setItemCaption(i, g); i++; } lstSuggestedProperties.setValue(lstSuggestedProperties.getItemIds().iterator().next()); btnCorrect.addClickListener( new Button.ClickListener() { @Override public void buttonClick(ClickEvent event) { try { Object rowId = tblSourceDestinationparam.getValue(); Item myitem = tblSourceDestinationparam.getItem(tblSourceDestinationparam.getValue()); lEndTime = System.currentTimeMillis(); long lEllapsedTime = lEndTime - lStartTime; tblSourceDestinationparam.setEditable(true); tblSourceDestinationparam.getContainerProperty(rowId, "decision").setValue("Correct"); tblSourceDestinationparam .getContainerProperty(rowId, "time") .setValue(String.valueOf(lEllapsedTime)); tblSourceDestinationparam.setEditable(false); SQLContainer c = (SQLContainer) tblSourceDestinationparam.getContainerDataSource(); try { c.commit(); } catch (UnsupportedOperationException | SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } int maxindex = tblSourceDestination.size(); SQLContainer s = (SQLContainer) tblSourceDestination.getContainerDataSource(); // Item x=s.getItem(tblSourceDestination.getValue()); if (!(tblSourceDestination.getValue().equals(tblSourceDestination.lastItemId()))) { int index = s.indexOfId(tblSourceDestination.getValue()); index++; tblSourceDestination.setValue(s.getIdByIndex(index)); try { Object rowId2 = tblSourceDestination.getValue(); Property sourceProperty = tblSourceDestination.getContainerProperty(rowId2, "sourceURI"); Property destinationProperty = tblSourceDestination.getContainerProperty(rowId2, "destinationURI"); source.setValue(sourceProperty.toString()); destination.setValue(destinationProperty.toString()); tblSourcePropertiesParam.removeAllItems(); tblDestinationPropertiesParam.removeAllItems(); Notification loadURI = new Notification(""); loadURI.show("Links' URIs are successfully loaded "); if (chkAutomaticPropertiesLoad.getValue()) // the automatic buton i schecked { // load the properties automatically String sourceEndpoint = "", destinationEndpoint = ""; sourceEndpoint = cmbSourceEndpoint.getItemCaption(cmbSourceEndpoint.getValue()); destinationEndpoint = cmbDestinationEndpoint.getItemCaption(cmbDestinationEndpoint.getValue()); try { String sparqlQuery = source.getValue(); getURIProperties(sparqlQuery, sourceEndpoint, tblSourcePropertiesMapping); sparqlQuery = destination.getValue(); getURIProperties( sparqlQuery, destinationEndpoint, tblDestinationPropertiesMapping); } catch (Exception e) { Notification.show("ERROR"); } lStartTime = System.currentTimeMillis(); // start time for next one } } catch (Exception e) { Notification error = new Notification("Error"); error.show("You did not select an item in the links table"); } } } catch (Exception e) { Notification.show(e.getMessage()); } /////////////////////////////////// } }); btnIncorrect.addClickListener( new Button.ClickListener() { @Override public void buttonClick(ClickEvent event) { try { Object rowId = tblSourceDestinationparam.getValue(); Item myitem = tblSourceDestinationparam.getItem(tblSourceDestinationparam.getValue()); lEndTime = System.currentTimeMillis(); long lEllapsedTime = lEndTime - lStartTime; tblSourceDestinationparam.setEditable(true); tblSourceDestinationparam .getContainerProperty(rowId, "decision") .setValue("Incorrect"); tblSourceDestinationparam .getContainerProperty(rowId, "time") .setValue(String.valueOf(lEllapsedTime)); tblSourceDestinationparam.setEditable(false); SQLContainer c = (SQLContainer) tblSourceDestinationparam.getContainerDataSource(); try { c.commit(); } catch (UnsupportedOperationException | SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } int maxindex = tblSourceDestination.size(); SQLContainer s = (SQLContainer) tblSourceDestination.getContainerDataSource(); // Item x=s.getItem(tblSourceDestination.getValue()); if (!(tblSourceDestination.getValue().equals(tblSourceDestination.lastItemId()))) { int index = s.indexOfId(tblSourceDestination.getValue()); index++; tblSourceDestination.setValue(s.getIdByIndex(index)); try { Object rowId2 = tblSourceDestination.getValue(); Property sourceProperty = tblSourceDestination.getContainerProperty(rowId2, "sourceURI"); Property destinationProperty = tblSourceDestination.getContainerProperty(rowId2, "destinationURI"); source.setValue(sourceProperty.toString()); destination.setValue(destinationProperty.toString()); tblSourcePropertiesParam.removeAllItems(); tblDestinationPropertiesParam.removeAllItems(); Notification loadURI = new Notification(""); loadURI.show("Links' URIs are successfully loaded "); if (chkAutomaticPropertiesLoad.getValue()) // the automatic buton i schecked { // load the properties automatically String sourceEndpoint = "", destinationEndpoint = ""; sourceEndpoint = cmbSourceEndpoint.getItemCaption(cmbSourceEndpoint.getValue()); destinationEndpoint = cmbDestinationEndpoint.getItemCaption(cmbDestinationEndpoint.getValue()); try { String sparqlQuery = source.getValue(); getURIProperties(sparqlQuery, sourceEndpoint, tblSourcePropertiesMapping); sparqlQuery = destination.getValue(); getURIProperties( sparqlQuery, destinationEndpoint, tblDestinationPropertiesMapping); } catch (Exception e) { Notification.show("ERROR Not Properties queried"); } lStartTime = System.currentTimeMillis(); // start time for next one } } catch (Exception e) { Notification error = new Notification("Error"); error.show("You did not select an item in the links table"); } } } catch (Exception e) { Notification.show(e.getMessage()); } /////////////////////////////////// } }); btnUnsure.addClickListener( new Button.ClickListener() { @Override public void buttonClick(ClickEvent event) { try { Object rowId = tblSourceDestinationparam.getValue(); Item myitem = tblSourceDestinationparam.getItem(tblSourceDestinationparam.getValue()); lEndTime = System.currentTimeMillis(); float lEllapsedTime = lEndTime - lStartTime; String elapsedTime = String.valueOf(lEllapsedTime); tblSourceDestinationparam.setEditable(true); tblSourceDestinationparam.getContainerProperty(rowId, "decision").setValue("Unsure"); tblSourceDestinationparam.getContainerProperty(rowId, "time").setValue(elapsedTime); tblSourceDestinationparam.setEditable(false); SQLContainer c = (SQLContainer) tblSourceDestinationparam.getContainerDataSource(); try { c.commit(); } catch (UnsupportedOperationException | SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } // int selectedId=Integer.parseInt(tblSourceDestination.getValue().toString()); int maxindex = tblSourceDestination.size(); SQLContainer s = (SQLContainer) tblSourceDestination.getContainerDataSource(); // Item x=s.getItem(tblSourceDestination.getValue()); if (!(tblSourceDestination.getValue().equals(tblSourceDestination.lastItemId()))) { int index = s.indexOfId(tblSourceDestination.getValue()); index++; tblSourceDestination.setValue(s.getIdByIndex(index)); try { Object rowId2 = tblSourceDestination.getValue(); Property sourceProperty = tblSourceDestination.getContainerProperty(rowId2, "sourceURI"); Property destinationProperty = tblSourceDestination.getContainerProperty(rowId2, "destinationURI"); source.setValue(sourceProperty.toString()); destination.setValue(destinationProperty.toString()); tblSourcePropertiesParam.removeAllItems(); tblDestinationPropertiesParam.removeAllItems(); Notification loadURI = new Notification(""); loadURI.show("Links' URIs are successfully loaded "); if (chkAutomaticPropertiesLoad.getValue()) // the automatic buton i schecked { // load the properties automatically String sourceEndpoint = "", destinationEndpoint = ""; sourceEndpoint = cmbSourceEndpoint.getItemCaption(cmbSourceEndpoint.getValue()); destinationEndpoint = cmbDestinationEndpoint.getItemCaption(cmbDestinationEndpoint.getValue()); try { String sparqlQuery = source.getValue(); getURIProperties(sparqlQuery, sourceEndpoint, tblSourcePropertiesMapping); sparqlQuery = destination.getValue(); getURIProperties( sparqlQuery, destinationEndpoint, tblDestinationPropertiesMapping); } catch (Exception e) { Notification.show("ERROR Not Properties queried"); } lStartTime = System.currentTimeMillis(); // start time for next one } } catch (Exception e) { Notification error = new Notification("Error"); error.show("You did not select an item in the links table"); } } } catch (Exception e) { Notification.show(e.getMessage()); } } }); btnGetProperties.addClickListener( new Button.ClickListener() { @Override public void buttonClick(ClickEvent event) { String sourceEndpoint = "", destinationEndpoint = ""; sourceEndpoint = cmbSourceEndpoint.getItemCaption(cmbSourceEndpoint.getValue()); destinationEndpoint = cmbDestinationEndpoint.getItemCaption(cmbDestinationEndpoint.getValue()); lStartTime = System.currentTimeMillis(); try { String sparqlQuery = source.getValue(); getURIProperties(sparqlQuery, sourceEndpoint, tblSourcePropertiesMapping); sparqlQuery = destination.getValue(); getURIProperties(sparqlQuery, destinationEndpoint, tblDestinationPropertiesMapping); } catch (Exception e) { Notification.show( "ERROR while sparqling the endpoint for resources' properties (Are they selected/loaded ?)"); } // cachingForTriples(tblSourceDestination, sourceEndpoint); } }); lstSuggestedProperties.addValueChangeListener( new ValueChangeListener() { @Override public void valueChange(final ValueChangeEvent event) { final String valueString = String.valueOf(event.getProperty().getValue()); // Notification.show(valueString); List<Object> Ids = new ArrayList<Object>(); Object first = null; for (Iterator i = tblSourcePropertiesMapping.getItemIds().iterator(); i.hasNext(); ) { // Get the current item identifier, which is an integer. first = i.next(); int iid = (Integer) first; String other = tblSourcePropertiesMapping.getItem(iid).getItemProperty("Property").toString(); // Notification.show(other); if (other.equals(valueString)) // if(other.equals(property)) { Ids.add(iid); break; } } tblSourcePropertiesMapping.setImmediate(true); tblSourcePropertiesMapping.setValue(Ids); tblDestinationPropertiesMapping.setCurrentPageFirstItemId(first); } }); tblSourcePropertiesMapping.addItemClickListener( new ItemClickEvent.ItemClickListener() { @Override public void itemClick(ItemClickEvent event) { String property = tblSourcePropertiesMapping .getContainerProperty(event.getItemId(), event.getPropertyId()) .toString(); List<String> res = getRelatedProperties(property); if (res == null) { Notification.show("No related Properties"); return; } boolean Found = false; List<Object> Ids = new ArrayList<Object>(); Object first = null; int x = 0; for (String relatedProperty : res) { for (Iterator i = tblDestinationPropertiesMapping.getItemIds().iterator(); i.hasNext(); ) { // Get the current item identifier, which is an integer. Object theId = i.next(); int iid = (Integer) theId; String other = tblDestinationPropertiesMapping .getItem(iid) .getItemProperty(event.getPropertyId()) .toString(); if (other.equals(relatedProperty)) // if(other.equals(property)) { Ids.add(iid); if (x == 0) { first = theId; x = 1; } Found = true; } } } if (!Found) Notification.show( "Related property is not Found in destination table try manual search"); else { Notification.show("Found in destination table"); tblDestinationPropertiesMapping.setValue(Ids); tblDestinationPropertiesMapping.setCurrentPageFirstItemId(first); } } }); // add component to the layout specifying its position on the layout layout.addComponent(btnCorrect, "left: " + leftStart + "px; top: " + (topStart + 450) + "px;"); layout.addComponent( btnIncorrect, "left: " + (leftStart + space) + "px; top: " + (topStart + 450) + "px;"); layout.addComponent( btnUnsure, "left: " + (leftStart + 2 * space) + "px; top: " + (topStart + 450) + "px;"); layout.addComponent( btnGetProperties, "left: " + (leftStart + 3 * space + 50) + "px; top: " + (topStart + 450) + "px;"); layout.addComponent( chkAutomaticPropertiesLoad, "left: " + (leftStart + 3 * space + 250) + "px; top: " + (topStart + 450) + "px;"); /*layout.addComponent(sourceURI,"left: "+(leftStart-space/2)+"px; top: "+(topStart+space/2)+"px;"); layout.addComponent(destinationURI,"left: "+(leftStart+2*space)+"px; top: "+(topStart+space/2)+"px;");*/ layout.addComponent(source, "left: 30px; top: " + (topStart + space / 2) + "px;"); layout.addComponent( destination, "left: " + (leftStart + 3 * space + 200) + "px; top: " + (topStart + space / 2) + "px;"); layout.addComponent(cmbSourceEndpoint, "left: 50px; top: " + (topStart + 20) + "px;"); layout.addComponent( cmbDestinationEndpoint, "left: " + (leftStart + 3 * space + 200) + "px; top: " + (topStart + 20) + "px;"); layout.addComponent( lstSuggestedProperties, "left: " + (leftStart + 100) + "px; top: " + (topStart + 20) + "px;"); layout.addComponent( tblSourcePropertiesMapping, "left: 10px; top: " + (topStart + space) + "px;"); layout.addComponent( tblDestinationPropertiesMapping, "left: " + (leftStart + 3 * space + 200) + "px; top: " + (topStart + space) + "px;"); pnlURIsProperties.setContent(layout); return pnlURIsProperties; }
private Panel allLinksDetails() { // positioning indices // final int leftStart=10,topStart=10, space=100; // create the panel that will hold all components Panel linksDetails = new Panel("Links Details"); // set panel's properties linksDetails.setWidth("100%"); linksDetails.setHeight("100%"); // Create absolute layout specifying its properties final AbsoluteLayout layout = new AbsoluteLayout(); // set layout's properties layout.setSizeFull(); // Create components Objects and specify their properties Button btnLoad = new Button("Load task"); // final Table tblSourceDestination = new Table("Source and Destination URIs"); tblSourceDestination.setSelectable(true); tblSourceDestination.setWidth("90%"); // fill the Source and Destination URIs table SQLContainer container = connectToDB("root", "mofo", userName); Notification.show("Welcome " + userName + " you loaded task Nr.: " + task); Compare.Equal suburbFilter = new Compare.Equal("taskId", Integer.valueOf(task)); container.addContainerFilter(suburbFilter); // Fill the main (tblSourceDestination) table with resources tblSourceDestination.setContainerDataSource(container); tblSourceDestinationparam = tblSourceDestination; // add component to the layout specifying its position on the layout int tableWidth = (int) tblSourceDestination.getWidth(); layout.addComponent(btnLoad, "left:1500px; top: 10px;"); layout.addComponent(tblSourceDestination, "left: 10px; top: 20px;"); linksDetails.setContent(layout); // Add EventHandlers for some of the components btnLoad.addClickListener( new Button.ClickListener() { @Override public void buttonClick(ClickEvent event) { // lStartTime= System.currentTimeMillis(); try { Object rowId = tblSourceDestination.getValue(); Property sourceProperty = tblSourceDestination.getContainerProperty(rowId, "sourceURI"); Property destinationProperty = tblSourceDestination.getContainerProperty(rowId, "destinationURI"); source.setValue(sourceProperty.toString()); destination.setValue(destinationProperty.toString()); tblSourcePropertiesParam.removeAllItems(); tblDestinationPropertiesParam.removeAllItems(); Notification loadURI = new Notification(""); loadURI.show("Links' URIs are successfully loaded "); } catch (Exception e) { Notification error = new Notification("Error"); error.show("You did not select an item in the links table"); } } }); tblSourceDestination.addItemClickListener( new ItemClickEvent.ItemClickListener() { @Override public void itemClick(ItemClickEvent event) { /*lStartTime= System.currentTimeMillis(); try { Object rowId =tblSourceDestination.getValue(); Property sourceProperty=tblSourceDestination.getContainerProperty(rowId,"sourceURI"); Property destinationProperty=tblSourceDestination.getContainerProperty(rowId,"destinationURI"); source.setValue(sourceProperty.toString()); destination.setValue(destinationProperty.toString()); tblSourcePropertiesParam.removeAllItems(); tblDestinationPropertiesParam.removeAllItems(); Notification loadURI= new Notification(""); loadURI.show("Links' URIs are successfully loaded "); } catch(Exception e) { Notification error= new Notification("Error"); error.show("You did not select an item in the links table"); }*/ } }); return linksDetails; }