Skip to content

Commit

Permalink
still not fixed concurrent session stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
koehlers committed Mar 5, 2018
1 parent 9c8c298 commit 7303902
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 39 deletions.
1 change: 1 addition & 0 deletions src/hpoweb/HpowebUI.java
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@ protected void init(VaadinRequest request) {
setContent(gridContainer);

page.addUriFragmentChangedListener(new UriFragmentChangedListener() {
@Override
public void uriFragmentChanged(UriFragmentChangedEvent source) {
System.out.println("got a change in uri fragment here");
Page page = HpowebUI.get().getPage();
Expand Down
44 changes: 10 additions & 34 deletions src/hpoweb/uicontent/SearchBarFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,11 @@
import org.vaadin.viritin.LazyList;
import org.vaadin.viritin.fields.CaptionGenerator;
import org.vaadin.viritin.fields.LazyComboBox;
import org.vaadin.viritin.fields.MValueChangeEvent;
import org.vaadin.viritin.fields.MValueChangeListener;

import com.vaadin.server.Page;

import hpoweb.data.HpData;
import hpoweb.data.dataprovider.LazySearchbarService;
import hpoweb.data.entities.SearchableEntity;
import hpoweb.data.entities.SearchableEntity.SearchableEntityType;
import hpoweb.util.CONSTANTS;
import hpoweb.util.UpdatePageClickListener;

public class SearchBarFactory implements Serializable {

Expand All @@ -41,38 +36,19 @@ public int size(String filter) {
}
};

final LazyComboBox<SearchableEntity> cb = new LazyComboBox<SearchableEntity>(SearchableEntity.class, filterablePagingProvider,
filterableCountProvider).setCaptionGenerator(new CaptionGenerator<SearchableEntity>() {
final LazyComboBox<SearchableEntity> cb = new LazyComboBox<SearchableEntity>(SearchableEntity.class,
filterablePagingProvider, filterableCountProvider)
.setCaptionGenerator(new CaptionGenerator<SearchableEntity>() {

@Override
public String getCaption(SearchableEntity option) {
return option.toString();
}
});
@Override
public String getCaption(SearchableEntity option) {
return option.toString();
}
});

cb.setInputPrompt("Enter search terms ...");

cb.addMValueChangeListener(new MValueChangeListener<SearchableEntity>() {

@Override
public void valueChange(MValueChangeEvent<SearchableEntity> event) {

String searchParameter = null;
if (event.getValue().getType().equals(SearchableEntityType.HPO)) {
searchParameter = CONSTANTS.hpRequestId;
}
else if (event.getValue().getType().equals(SearchableEntityType.Gene)) {
searchParameter = CONSTANTS.geneRequestId;
}
else if (event.getValue().getType().equals(SearchableEntityType.Disease)) {
searchParameter = CONSTANTS.diseaseRequestId;
}

String searchValue = event.getValue().getSearchValue();

Page.getCurrent().setLocation(CONSTANTS.rootLocation + "?" + searchParameter + "=" + searchValue);
}
});
cb.addMValueChangeListener(new UpdatePageClickListener(null, null));

return cb;

Expand Down
67 changes: 62 additions & 5 deletions src/hpoweb/util/UpdatePageClickListener.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package hpoweb.util;

import org.vaadin.viritin.fields.MValueChangeEvent;
import org.vaadin.viritin.fields.MValueChangeListener;

import com.vaadin.data.Item;
import com.vaadin.event.ItemClickEvent;
import com.vaadin.event.ItemClickEvent.ItemClickListener;
Expand All @@ -8,9 +11,16 @@
import com.vaadin.ui.Button.ClickListener;

import hpoweb.HpowebUI;
import hpoweb.data.entities.SearchableEntity;
import hpoweb.data.entities.SearchableEntity.SearchableEntityType;

public class UpdatePageClickListener implements ClickListener, ItemClickListener {
public class UpdatePageClickListener
implements ClickListener, ItemClickListener, MValueChangeListener<SearchableEntity> {

/**
*
*/
private static final long serialVersionUID = -3327642630118820000L;
private String id;
private String requestType;

Expand All @@ -21,8 +31,9 @@ public UpdatePageClickListener(String id, String requestType) {

@Override
public void buttonClick(ClickEvent event) {
Page page = HpowebUI.get().getPage();
page.setUriFragment(requestType + "=" + id);
// Page page = HpowebUI.get().getPage();
// page.setUriFragment(requestType + "=" + id);
updateUi(requestType, id);
}

/*
Expand All @@ -49,8 +60,54 @@ else if (requestType.equals(CONSTANTS.hpRequestId)) {
id = id.replaceAll(":", "_");
}

Page page = HpowebUI.get().getPage();
page.setUriFragment(requestType + "=" + id);
// Page page = HpowebUI.get().getPage();
// page.setUriFragment(requestType + "=" + id);
updateUi(requestType, id);
}

/*
* (non-Javadoc)
*
* @see
* org.vaadin.viritin.fields.MValueChangeListener#valueChange(org.vaadin.viritin
* .fields.MValueChangeEvent)
*/
@Override
public void valueChange(MValueChangeEvent<SearchableEntity> event) {
String searchParameter = null;
if (event.getValue().getType().equals(SearchableEntityType.HPO)) {
searchParameter = CONSTANTS.hpRequestId;
}
else if (event.getValue().getType().equals(SearchableEntityType.Gene)) {
searchParameter = CONSTANTS.geneRequestId;
}
else if (event.getValue().getType().equals(SearchableEntityType.Disease)) {
searchParameter = CONSTANTS.diseaseRequestId;
}

String searchValue = event.getValue().getSearchValue();

// Page.getCurrent().setLocation(CONSTANTS.rootLocation + "?" + searchParameter
// + "=" + searchValue);
updateUi(searchParameter, searchValue);

}

/**
* @param searchParameter
* @param searchValue
*/
private void updateUi(String searchParameter, String searchValue) {

HpowebUI.get().access(new Runnable() {

@Override
public void run() {
Page page = HpowebUI.get().getPage();
page.setUriFragment(searchParameter + "=" + searchValue);
}
});

}

}

0 comments on commit 7303902

Please sign in to comment.