r54 - in trunk: cantharella.data/src/main/java/nc/ird/cantharella/data/model cantharella.service/src/main/java/nc/ird/cantharella/service/model cantharella.service/src/main/java/nc/ird/cantharella/service/services/impl cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/search cantharella.web/src/main/resources/commons
Author: echatellier Date: 2013-01-18 17:22:18 +0100 (Fri, 18 Jan 2013) New Revision: 54 Url: http://forge.codelutin.com/projects/cantharella/repository/revisions/54 Log: refs #1652: add molecule to search engine Modified: trunk/cantharella.data/src/main/java/nc/ird/cantharella/data/model/Molecule.java trunk/cantharella.service/src/main/java/nc/ird/cantharella/service/model/SearchResult.java trunk/cantharella.service/src/main/java/nc/ird/cantharella/service/services/impl/SearchServiceImpl.java trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/search/SearchPage.html trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/search/SearchPage.java trunk/cantharella.web/src/main/resources/commons/web_en.properties trunk/cantharella.web/src/main/resources/commons/web_fr.properties Modified: trunk/cantharella.data/src/main/java/nc/ird/cantharella/data/model/Molecule.java =================================================================== --- trunk/cantharella.data/src/main/java/nc/ird/cantharella/data/model/Molecule.java 2013-01-18 15:52:36 UTC (rev 53) +++ trunk/cantharella.data/src/main/java/nc/ird/cantharella/data/model/Molecule.java 2013-01-18 16:22:18 UTC (rev 54) @@ -83,17 +83,18 @@ @NotNull @Field(index=Index.YES, analyze=Analyze.YES, store=Store.YES) private String familleChimique; - + /** Famille developpée */ @Lob @Type(type="org.hibernate.type.StringClobType") // see HHH-6105 private String formuleDevMol; - + /** Nom IUPAC */ @Length(max = LENGTH_BIG_TEXT) @NotNull + @Field(index=Index.YES, analyze=Analyze.YES, store=Store.YES) private String nomIupca; - + /** Formule brute */ @Length(max = LENGTH_MEDIUM_TEXT) @NotEmpty Modified: trunk/cantharella.service/src/main/java/nc/ird/cantharella/service/model/SearchResult.java =================================================================== --- trunk/cantharella.service/src/main/java/nc/ird/cantharella/service/model/SearchResult.java 2013-01-18 15:52:36 UTC (rev 53) +++ trunk/cantharella.service/src/main/java/nc/ird/cantharella/service/model/SearchResult.java 2013-01-18 16:22:18 UTC (rev 54) @@ -27,6 +27,7 @@ import nc.ird.cantharella.data.model.Extraction; import nc.ird.cantharella.data.model.Lot; +import nc.ird.cantharella.data.model.Molecule; import nc.ird.cantharella.data.model.Purification; import nc.ird.cantharella.data.model.ResultatTestBio; import nc.ird.cantharella.data.model.Specimen; @@ -53,6 +54,8 @@ protected List<ResultatTestBio> resultatTestBios; protected List<Station> stations; + + protected List<Molecule> molecules; public List<Specimen> getSpecimens() { return specimens; @@ -101,4 +104,12 @@ public void setStations(List<Station> stations) { this.stations = stations; } + + public List<Molecule> getMolecules() { + return molecules; + } + + public void setMolecules(List<Molecule> molecules) { + this.molecules = molecules; + } } Modified: trunk/cantharella.service/src/main/java/nc/ird/cantharella/service/services/impl/SearchServiceImpl.java =================================================================== --- trunk/cantharella.service/src/main/java/nc/ird/cantharella/service/services/impl/SearchServiceImpl.java 2013-01-18 15:52:36 UTC (rev 53) +++ trunk/cantharella.service/src/main/java/nc/ird/cantharella/service/services/impl/SearchServiceImpl.java 2013-01-18 16:22:18 UTC (rev 54) @@ -28,6 +28,7 @@ import nc.ird.cantharella.data.model.Extraction; import nc.ird.cantharella.data.model.Lot; +import nc.ird.cantharella.data.model.Molecule; import nc.ird.cantharella.data.model.Purification; import nc.ird.cantharella.data.model.ResultatTestBio; import nc.ird.cantharella.data.model.Specimen; @@ -40,7 +41,6 @@ import org.apache.commons.logging.Log; import org.apache.lucene.index.FieldInfos; import org.apache.lucene.index.IndexReader; -import org.apache.lucene.index.MultiReader; import org.apache.lucene.queryParser.MultiFieldQueryParser; import org.apache.lucene.queryParser.ParseException; import org.apache.lucene.queryParser.QueryParser; @@ -118,6 +118,7 @@ org.hibernate.Query hibPurification = getQuery(fullTextSession, Purification.class, strQuery, utilisateur); org.hibernate.Query hibResultatTestBio = getQuery(fullTextSession, ResultatTestBio.class, strQuery, utilisateur); org.hibernate.Query hibStation = getQuery(fullTextSession, Station.class, strQuery, utilisateur); + org.hibernate.Query hibMolecule = getQuery(fullTextSession, Molecule.class, strQuery, utilisateur); // execute search List<Specimen> specimens = hibSpecimen.list(); @@ -126,6 +127,7 @@ List<Purification> purifications = hibPurification.list(); List<ResultatTestBio> resultatTestBios = hibResultatTestBio.list(); List<Station> resultatStations = hibStation.list(); + List<Molecule> resultatMolecules = hibMolecule.list(); result.setSpecimens(specimens); result.setLots(lots); @@ -133,6 +135,7 @@ result.setPurifications(purifications); result.setResultatTestBios(resultatTestBios); result.setStations(resultatStations); + result.setMolecules(resultatMolecules); } catch (ParseException e) { e.printStackTrace(); Modified: trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/search/SearchPage.html =================================================================== --- trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/search/SearchPage.html 2013-01-18 15:52:36 UTC (rev 53) +++ trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/search/SearchPage.html 2013-01-18 16:22:18 UTC (rev 54) @@ -61,6 +61,9 @@ <table cellspacing="0" wicket:id="SearchPage.ResultatTestBios.Results"/> <a wicket:id="SearchPage.ResultatTestBios.ExportCSV"><wicket:message key="SearchPage.ExportCSV" /></a> +<h3><wicket:message key="SearchPage.Molecules" /></h3> +<table cellspacing="0" wicket:id="SearchPage.Molecules.Results"/> +<a wicket:id="SearchPage.Molecules.ExportCSV"><wicket:message key="SearchPage.ExportCSV" /></a> </wicket:extend> </body> </html> \ No newline at end of file Modified: trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/search/SearchPage.java =================================================================== --- trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/search/SearchPage.java 2013-01-18 15:52:36 UTC (rev 53) +++ trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/search/SearchPage.java 2013-01-18 16:22:18 UTC (rev 54) @@ -30,6 +30,7 @@ import nc.ird.cantharella.data.model.Extrait; import nc.ird.cantharella.data.model.Fraction; import nc.ird.cantharella.data.model.Lot; +import nc.ird.cantharella.data.model.Molecule; import nc.ird.cantharella.data.model.Purification; import nc.ird.cantharella.data.model.ResultatTestBio; import nc.ird.cantharella.data.model.Specimen; @@ -44,6 +45,8 @@ import nc.ird.cantharella.web.pages.domain.campagne.ReadCampagnePage; import nc.ird.cantharella.web.pages.domain.extraction.ReadExtractionPage; import nc.ird.cantharella.web.pages.domain.lot.ReadLotPage; +import nc.ird.cantharella.web.pages.domain.molecule.ManageMoleculePage; +import nc.ird.cantharella.web.pages.domain.molecule.ReadMoleculePage; import nc.ird.cantharella.web.pages.domain.purification.ReadPurificationPage; import nc.ird.cantharella.web.pages.domain.specimen.ListSpecimensPage; import nc.ird.cantharella.web.pages.domain.specimen.ReadSpecimenPage; @@ -60,6 +63,7 @@ import nc.ird.cantharella.web.utils.columns.LinkableImagePropertyColumn; import nc.ird.cantharella.web.utils.columns.MapValuePropertyColumn; import nc.ird.cantharella.web.utils.columns.ShortDatePropertyColumn; +import nc.ird.cantharella.web.utils.columns.LinkableImagePropertyColumn.LinkableImagePanel; import nc.ird.cantharella.web.utils.links.CsvExportLink; import nc.ird.cantharella.web.utils.models.DisplayDecimalPropertyModel; import nc.ird.cantharella.web.utils.models.DisplayDecimalPropertyModel.DecimalDisplFormat; @@ -73,6 +77,7 @@ import org.apache.wicket.extensions.markup.html.repeater.data.table.DataTable; import org.apache.wicket.extensions.markup.html.repeater.data.table.DefaultDataTable; import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn; +import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.form.TextField; @@ -133,6 +138,7 @@ addPurificationsTable(currentPage, searchResult); addTestBiosTable(currentPage, searchResult); addStationsTable(currentPage, searchResult); + addMoleculesTable(currentPage, searchResult); } public String getQuery() { @@ -561,4 +567,56 @@ add(stationsDataTable); add(new CsvExportLink("SearchPage.Stations.ExportCSV", stationsDataTable, "stations.csv")); } + + protected void addMoleculesTable(final CallerPage currentPage, SearchResult searchResult) { + + // Liste des molecules + final List<Molecule> molecules = searchResult.getMolecules(); + + LoadableDetachableSortableListDataProvider<Molecule> moleculesDataProvider = new LoadableDetachableSortableListDataProvider<Molecule>( + molecules, getSession().getLocale()); + + List<IColumn<Molecule>> columns = new ArrayList<IColumn<Molecule>>(); + + columns.add(new LinkableImagePropertyColumn<Molecule>("images/read.png", getString("Read"), getString("Read")) { + @Override + public void onClick(Item<ICellPopulator<Molecule>> item, String componentId, IModel<Molecule> model) { + setResponsePage(new ReadMoleculePage(model.getObject().getIdMolecule(), currentPage)); + } + }); + columns.add(new LinkPropertyColumn<Molecule>(new Model<String>(getString("Molecule.idMolecule")), "idMolecule", "idMolecule", + getString("Read")) { + @Override + public void onClick(Item<ICellPopulator<Molecule>> item, String componentId, IModel<Molecule> model) { + setResponsePage(new ReadMoleculePage(model.getObject().getIdMolecule(), currentPage)); + } + }); + columns.add(new PropertyColumn<Molecule>(new Model<String>(getString("Molecule.formuleDevMol")), "formuleDevMol", + "formuleDevMol")); + columns.add(new PropertyColumn<Molecule>(new Model<String>(getString("Molecule.nomCommun")), "nomCommun", + "nomCommun")); + columns.add(new PropertyColumn<Molecule>(new Model<String>(getString("Molecule.familleChimique")), "familleChimique", + "familleChimique")); + columns.add(new PropertyColumn<Molecule>(new Model<String>(getString("Molecule.formuleBrute")), "formuleBrute", + "formuleBrute")); + columns.add(new DecimalPropertyColumn<Molecule>(new Model<String>(getString("Molecule.masseMolaire")), "masseMolaire", + "masseMolaire", DecimalDisplFormat.SMALL, getLocale())); + columns.add(new BooleanPropertyColumn<Molecule>(new Model<String>(getString("Molecule.nouvMolecul")), "nouvMolecul", + "nouvMolecul", this)); + columns.add(new LinkPropertyColumn<Molecule>(new Model<String>(getString("Molecule.campagne")), "campagne", + "campagne", getString("Read")) { + @Override + public void onClick(Item<ICellPopulator<Molecule>> item, String componentId, IModel<Molecule> model) { + setResponsePage(new ReadCampagnePage(model.getObject().getCampagne().getIdCampagne(), currentPage)); + } + }); + columns.add(new EnumPropertyColumn<Molecule>(new Model<String>(getString("Molecule.identifieePar")), "identifieePar", + "identifieePar", this)); + + final DataTable<Molecule> moleculesDataTable = new AjaxFallbackDefaultDataTable<Molecule>( + getResource() + ".Molecules.Results", columns, + moleculesDataProvider, WebContext.ROWS_PER_PAGE); + add(moleculesDataTable); + add(new CsvExportLink("SearchPage.Molecules.ExportCSV", moleculesDataTable, "molecules.csv")); + } } Modified: trunk/cantharella.web/src/main/resources/commons/web_en.properties =================================================================== --- trunk/cantharella.web/src/main/resources/commons/web_en.properties 2013-01-18 15:52:36 UTC (rev 53) +++ trunk/cantharella.web/src/main/resources/commons/web_en.properties 2013-01-18 16:22:18 UTC (rev 54) @@ -290,6 +290,7 @@ SearchPage.Purifications=Purifications SearchPage.ResultatTestBios=Bioassay SearchPage.Stations=Stations +SearchPage.Molecules=Molecules SearchPage.QuerySyntax=Search terms (or parts of words using *). For a more advanced search, consult the ${advancedLink}. SearchPage.QuerySyntaxAdvanced=complete syntax SearchPage.ExportCSV=Export to CSV Modified: trunk/cantharella.web/src/main/resources/commons/web_fr.properties =================================================================== --- trunk/cantharella.web/src/main/resources/commons/web_fr.properties 2013-01-18 15:52:36 UTC (rev 53) +++ trunk/cantharella.web/src/main/resources/commons/web_fr.properties 2013-01-18 16:22:18 UTC (rev 54) @@ -289,6 +289,7 @@ SearchPage.Purifications=Purifications SearchPage.ResultatTestBios=Tests biologiques SearchPage.Stations=Stations +SearchPage.Molecules=Molécules SearchPage.QuerySyntax=Rechercher des termes (ou des parties de termes avec *). Pour une utilisation plus avancée de la recherche, consulter la ${advancedLink}. SearchPage.QuerySyntaxAdvanced=synthaxe complète SearchPage.ExportCSV=Exporter en CSV
participants (1)
-
echatellier@users.forge.codelutin.com