Mercurial > hg > ismi-richfaces
changeset 168:e9ab943ec528 public_by_author
new start for publicByAuthor using EntityRepositoryBean.
author | Robert Casties <casties@mpiwg-berlin.mpg.de> |
---|---|
date | Wed, 30 May 2018 20:23:45 +0200 |
parents | 54246f538821 |
children | 0b5d02012299 |
files | src/main/java/de/mpiwg/itgroup/ismi/merge/PublicByAuthorBean.java src/main/webapp/clean/components/findAuthor.xhtml src/main/webapp/clean/publicByAuthor.xhtml |
diffstat | 3 files changed, 127 insertions(+), 220 deletions(-) [+] |
line wrap: on
line diff
--- a/src/main/java/de/mpiwg/itgroup/ismi/merge/PublicByAuthorBean.java Wed May 30 19:17:10 2018 +0200 +++ b/src/main/java/de/mpiwg/itgroup/ismi/merge/PublicByAuthorBean.java Wed May 30 20:23:45 2018 +0200 @@ -1,19 +1,13 @@ package de.mpiwg.itgroup.ismi.merge; import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; import javax.faces.event.ActionEvent; import javax.faces.event.ValueChangeEvent; -import javax.faces.model.SelectItem; import org.apache.log4j.Logger; -import org.mpi.openmind.search.utils.ResultEntry; -import org.mpi.openmind.search.utils.SAttributeMultipleName; -import org.mpi.openmind.search.utils.SEntity; -import org.mpi.openmind.search.utils.SRelation; +import de.mpiwg.itgroup.ismi.browse.EntityRepositoryBean; import de.mpiwg.itgroup.ismi.entry.beans.AbstractISMIBean; public class PublicByAuthorBean extends AbstractISMIBean implements Serializable{ @@ -22,30 +16,11 @@ private static final long serialVersionUID = 1L; - private String currentTemplate; - private static List<SelectItem> templateList; - private String findAuthorName = ""; - - private boolean searched = false; - private long timeExecution; - private List<ResultEntry> rs; + private EntityRepositoryBean browseBean; - static{ - templateList = new ArrayList<SelectItem>(); - //templateList.add(new SelectItem("sample01")); - templateList.add(new SelectItem("witness4Title", "Witnesses for a title")); - //templateList.add(new SelectItem("sample03")); - //templateList.add(new SelectItem("sample04")); - //templateList.add(new SelectItem("sample05")); - templateList.add(new SelectItem("titles4Person", "Titles for a person")); - templateList.add(new SelectItem("codexOwnership", "Codex ownership")); - //templateList.add(new SelectItem("sample07")); - //templateList.add(new SelectItem("sample08")); - //templateList.add(new SelectItem("sample09")); - } public PublicByAuthorBean(){ //logger.info("AdvancedSearchBean"); @@ -54,7 +29,8 @@ public void reset(){ //logger.info("AdvancedSearchBean.reset()"); - currentTemplate = "witness4Title"; + browseBean = new EntityRepositoryBean(); + browseBean.setObjectClass("PERSON"); } public void listenerChange(ValueChangeEvent event){ @@ -69,7 +45,6 @@ long start = System.currentTimeMillis(); this.search(); long end = System.currentTimeMillis(); - this.searched = true; this.timeExecution = end - start; logger.info(toString() + " time execution=" + (timeExecution)); } catch (Exception e) { @@ -89,68 +64,12 @@ public void search(){ long start = System.currentTimeMillis(); - rs = sample06(); - - //printRs(rs); - long end = System.currentTimeMillis(); logger.info("execution time [ms] = " + (end - start)); - logger.info("Search resultSet size= " + this.rs.size()); } /** - * 6) Bring up people associated with a particular title (not just one huge list of people, but be able to distinguish author, student, teacher) - * @return - */ - private List<ResultEntry> sample06(){ - - List<SEntity> entFilters = new ArrayList<SEntity>(); - List<SRelation> relFilters = new ArrayList<SRelation>(); - - //alias, "is_prime_alias_name_of", "PERSON" - //alias, "is_alias_name_of", "PERSON" - SEntity person = new SEntity(1, "PERSON"); - person.addAtt(new SAttributeMultipleName("a", "name_translit", "name")); - entFilters.add(person); - - /* - SEntity alias = new SEntity(1, "ALIAS"); - alias.addAtt(new SAttributeUniqueName("alias", "abu")); - entFilters.add(alias); - */ - - /* - SEntity title = new SEntity(2, "TEXT"); - title.addAtt(new SAttributeMultipleName("abu", "full_title_translit", "full_title")); - entFilters.add(title); - */ - - /* - SRelationMultipleName title_to_person = new SRelationMultipleName(title, person, "had_patron", "was_dedicated_to", "was_created_by"); - relFilters.add(title_to_person); - */ - - List<ResultEntry> rs = getAppBean().getSS().search(entFilters, relFilters); - - return rs; - - } - - - public String getCurrentTemplate() { - return currentTemplate; - } - - public void setCurrentTemplate(String currentTemplate) { - this.currentTemplate = currentTemplate; - } - - public List<SelectItem> getTemplateList() { - return templateList; - } - - /** * @return the findAuthorName */ public String getFindAuthorName() { @@ -165,17 +84,10 @@ } /** - * @return the rs + * @return the browseBean */ - public List<ResultEntry> getRs() { - return rs; - } - - /** - * @return the searched - */ - public boolean isSearched() { - return searched; + public EntityRepositoryBean getBrowseBean() { + return browseBean; } }
--- a/src/main/webapp/clean/components/findAuthor.xhtml Wed May 30 19:17:10 2018 +0200 +++ b/src/main/webapp/clean/components/findAuthor.xhtml Wed May 30 20:23:45 2018 +0200 @@ -16,147 +16,142 @@ <h:panelGrid columns="1"> <h:outputLabel value="Person name" /> - <h:outputLabel value="(name_translit, empty shows all)" /> + <h:outputLabel value="(name_translit)" /> </h:panelGrid> - <h:inputText - value="#{Session.publicByAuthor.findAuthorName}" /> + <h:inputText value="#{Session.publicByAuthor.browseBean.personNameTranslit}" /> - <h:outputText /> + <a4j:commandButton value="show all" + actionListener="#{Session.publicByAuthor.listenerAllAuthorSearch}" + render="selectPersonPanel" /> + <a4j:commandButton value="search" - actionListener="#{Session.publicByAuthor.listenerFindAuthorSearch}" + actionListener="#{Session.publicByAuthor.browseBean.actionSearchByAttributes}" render="selectPersonPanel" /> + </h:panelGrid> - <h:panelGrid id="selectPersonPanel" columns="1"> - - <h:panelGrid columns="1" - rendered="#{!empty Session.publicByAuthor.rs}"> - - <rich:dataTable var="entry" - value="#{Session.publicByAuthor.rs}" - paginator="true" rows="20"> - - <f:facet name="header"> - <rich:dataScroller id="scroller" /> - </f:facet> + <h:panelGrid id="selectPersonPanel" columns="1" + style="margin-left: auto; margin-right: auto; text-align: center; width: 100%;" + > - <h:column> - <f:facet name="header"> - <h:outputText value="Person ID" /> - </f:facet> - <h:outputText value="#{entry.personId}" /> - </h:column> - - <h:column> - <f:facet name="header"> - <h:outputText value="Person Label" /> - </f:facet> - <h:outputText value="#{entry.personOv}" /> - </h:column> - <h:column> - <f:facet name="header"> - <h:outputText value="Role" /> - </f:facet> - <h:outputText value="#{entry.role}" /> - </h:column> - - <h:column - rendered="#{Session.advancedSearch.titles4PersonQuery.displayAlias}"> - <f:facet name="header"> - <h:outputText value="Alias 2 Person" /> - </f:facet> - <h:outputText value="#{entry.alias2Person}" /> - </h:column> - - <h:column - rendered="#{Session.advancedSearch.titles4PersonQuery.displayAlias}"> - <f:facet name="header"> - <h:outputText value="Alias" /> - </f:facet> - <h:outputText value="#{entry.alias}" /> - </h:column> - - <h:column> - <f:facet name="header"> - <h:outputText value="Subject" /> - </f:facet> - <h:outputText value="#{entry.subject}" /> - </h:column> + <h:outputText + value="#{Session.publicByAuthor.browseBean.resultSummaryMsg}" + rendered="#{!empty Session.publicByAuthor.browseBean.resultSummaryMsg}" + styleClass="sumaryMsg" /> - <h:column> - <f:facet name="header"> - <h:outputText value="Title ID" /> - </f:facet> - <h:outputText value="#{entry.titleId}" /> - </h:column> - - <h:column> - <f:facet name="header"> - <h:outputText value="Subject" /> - </f:facet> - <h:outputText value="#{entry.subject}" /> - </h:column> - - <h:column> - <f:facet name="header"> - <h:outputText value="Title Label" /> - </f:facet> - <h:outputText value="#{entry.titleOv}" /> - </h:column> - - <h:column - rendered="#{Session.advancedSearch.titles4PersonQuery.displayCodex}"> - <f:facet name="header"> - <h:outputText value="Codex Id" /> - </f:facet> - <h:outputText value="#{entry.codexId}" /> - </h:column> - - <h:column - rendered="#{Session.advancedSearch.titles4PersonQuery.displayCodex}"> - <f:facet name="header"> - <h:outputText value="Codex Label" /> - </f:facet> - <h:outputText value="#{entry.codexOv}" /> - </h:column> - - <h:column - rendered="#{Session.advancedSearch.titles4PersonQuery.displayCodex}"> - <f:facet name="header"> - <h:outputText value="Witness Id" /> - </f:facet> - <h:outputText value="#{entry.witnessId}" /> - </h:column> - - <h:column - rendered="#{Session.advancedSearch.titles4PersonQuery.displayCodex}"> - <f:facet name="header"> - <h:outputText value="Witness Label" /> - </f:facet> - <h:outputText value="#{entry.witnessOv}" /> - </h:column> - - <h:column> - <f:facet name="header"> - <h:outputText value="Query" /> - </f:facet> - <h:outputText value="#{entry.query}" /> - </h:column> - </rich:dataTable> + <h:column + rendered="#{!empty Session.publicByAuthor.browseBean.entities}"> + <h:outputText value="go to page" styleClass="sumaryMsg" /> + <h:inputText value="#{Session.publicByAuthor.browseBean.page}" + size="4" /> + <h:commandButton value="submit" + actionListener="#{Session.publicByAuthor.browseBean.actionGoToPageAdvancedResult}" /> + <h:outputText value=" #{Session.publicByAuthor.browseBean.pageMsg}" + rendered="#{!empty Session.publicByAuthor.browseBean.pageMsg}" + style="color:red" /> + </h:column> + <h:column + rendered="#{!empty Session.publicByAuthor.browseBean.entities}"> + <h:panelGroup> + <h:commandButton + image="/resources/css/xp/css-images/arrow-first.gif" + style="border:none;" title="First Page" + action="#{Session.publicByAuthor.browseBean.advancedFirst}" /> - </h:panelGrid> + <h:commandButton image="/resources/css/xp/css-images/arrow-fr.gif" + style="border:none;" title="Fast Backwards" + action="#{Session.publicByAuthor.browseBean.advancedFastRewind}" /> + + <h:commandButton + image="/resources/css/xp/css-images/arrow-previous.gif" + style="border:none;" title="Previous Page" + action="#{Session.publicByAuthor.browseBean.advancedPrevious}" /> + + <h:outputText + value="#{Session.publicByAuthor.browseBean.advancedPaginator.recordStatus}" + styleClass="sumaryMsg" /> + + <h:commandButton + image="/resources/css/xp/css-images/arrow-next.gif" + style="border:none;" title="Next Page" + action="#{Session.publicByAuthor.browseBean.advancedNext}" /> + + <h:commandButton image="/resources/css/xp/css-images/arrow-ff.gif" + style="border:none;" title="Fast Forward" + action="#{Session.publicByAuthor.browseBean.advancedFastForward}" /> + + <h:commandButton + image="/resources/css/xp/css-images/arrow-last.gif" + style="border:none;" title="Last Page" + action="#{Session.publicByAuthor.browseBean.advancedLast}" /> + </h:panelGroup> + </h:column> + + <rich:dataTable id="advancedDataTable" rows="10" + value="#{Session.publicByAuthor.browseBean.currentEntities}" + rendered="#{!empty Session.publicByAuthor.browseBean.currentEntities}" + var="entity" styleClass="rsPanel" columnClasses="rsPanelColumn"> + <h:column> + <h:outputText value="[#{entity.objectClass}] " /> + <h:outputLink + value="#{ApplicationBean1.root}/browse/entityDetails.xhtml?eid=#{entity.id}"> + <h:outputText + value="#{entity.ownValue} - [#{entity.id}, #{entity.privacity}]" /> + </h:outputLink> + <h:commandButton + action="#{Session.publicByAuthor.browseBean.actionEdit}" + rendered="#{Session.canEdit}" + image="/resources/css/xp/css-images//edit16.gif" + title="Edit this entity" /> + </h:column> + </rich:dataTable> + + <h:column + rendered="#{!empty Session.publicByAuthor.browseBean.entities}"> + <h:panelGroup> + <h:commandButton + image="/resources/css/xp/css-images/arrow-first.gif" + style="border:none;" title="First Page" + action="#{Session.publicByAuthor.browseBean.advancedFirst}" /> + + <h:commandButton image="/resources/css/xp/css-images/arrow-fr.gif" + style="border:none;" title="Fast Backwards" + action="#{Session.publicByAuthor.browseBean.advancedFastRewind}" /> + + <h:commandButton + image="/resources/css/xp/css-images/arrow-previous.gif" + style="border:none;" title="Previous Page" + action="#{Session.publicByAuthor.browseBean.advancedPrevious}" /> + + <h:outputText + value="#{Session.publicByAuthor.browseBean.advancedPaginator.recordStatus}" + styleClass="sumaryMsg" /> + + <h:commandButton + image="/resources/css/xp/css-images/arrow-next.gif" + style="border:none;" title="Next Page" + action="#{Session.publicByAuthor.browseBean.advancedNext}" /> + + <h:commandButton image="/resources/css/xp/css-images/arrow-ff.gif" + style="border:none;" title="Fast Forward" + action="#{Session.publicByAuthor.browseBean.advancedFastForward}" /> + + <h:commandButton + image="/resources/css/xp/css-images/arrow-last.gif" + style="border:none;" title="Last Page" + action="#{Session.publicByAuthor.browseBean.advancedLast}" /> + </h:panelGroup> + </h:column> + </h:panelGrid> - - - </ui:composition> </body> </html>
--- a/src/main/webapp/clean/publicByAuthor.xhtml Wed May 30 19:17:10 2018 +0200 +++ b/src/main/webapp/clean/publicByAuthor.xhtml Wed May 30 20:23:45 2018 +0200 @@ -7,9 +7,9 @@ xmlns:rich="http://richfaces.org/rich"> <body> - <ui:composition template="/templates/publicTemplate.xhtml"> + <ui:composition template="/templates/privateTemplate.xhtml"> - <ui:define name="publicContent"> + <ui:define name="privateContent"> <h:outputStylesheet name="/css/ismi-db/display.css" />