r9 - in refComp/client/src/main: java/fr/inra/refcomp java/fr/inra/refcomp/client java/fr/inra/refcomp/client/services java/fr/inra/refcomp/service webapp/WEB-INF
Author: jcouteau Date: 2010-11-04 11:57:18 +0100 (Thu, 04 Nov 2010) New Revision: 9 Url: http://chorem.org/repositories/revision/incubator/9 Log: Ugly search results (with no facets) Added: refComp/client/src/main/java/fr/inra/refcomp/client/SearchResults.ui.xml refComp/client/src/main/java/fr/inra/refcomp/client/services/SearchService.java refComp/client/src/main/java/fr/inra/refcomp/client/services/SearchServiceAsync.java refComp/client/src/main/java/fr/inra/refcomp/service/SearchServiceImpl.java Modified: refComp/client/src/main/java/fr/inra/refcomp/RefComp.gwt.xml refComp/client/src/main/java/fr/inra/refcomp/client/Search.java refComp/client/src/main/java/fr/inra/refcomp/client/SearchResults.java refComp/client/src/main/java/fr/inra/refcomp/service/Skill.java refComp/client/src/main/webapp/WEB-INF/web.xml Modified: refComp/client/src/main/java/fr/inra/refcomp/RefComp.gwt.xml =================================================================== --- refComp/client/src/main/java/fr/inra/refcomp/RefComp.gwt.xml 2010-11-04 09:40:42 UTC (rev 8) +++ refComp/client/src/main/java/fr/inra/refcomp/RefComp.gwt.xml 2010-11-04 10:57:18 UTC (rev 9) @@ -15,4 +15,7 @@ <!-- Specify the application specific style sheet. --> <stylesheet src='Application.css'/> + <source path="client"/> + <source path="service"/> + </module> \ No newline at end of file Modified: refComp/client/src/main/java/fr/inra/refcomp/client/Search.java =================================================================== --- refComp/client/src/main/java/fr/inra/refcomp/client/Search.java 2010-11-04 09:40:42 UTC (rev 8) +++ refComp/client/src/main/java/fr/inra/refcomp/client/Search.java 2010-11-04 10:57:18 UTC (rev 9) @@ -1,19 +1,24 @@ package fr.inra.refcomp.client; -import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.client.GWT; import com.google.gwt.dom.client.StyleInjector; +import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; +import com.google.gwt.uibinder.client.UiHandler; import com.google.gwt.uibinder.client.UiTemplate; -import com.google.gwt.user.client.ui.Button; +import com.google.gwt.user.client.Window; +import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Composite; -import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Panel; import com.google.gwt.user.client.ui.RootPanel; import com.google.gwt.user.client.ui.TextBox; +import fr.inra.refcomp.client.constants.Header; import fr.inra.refcomp.client.resources.Style; -import org.gwtmultipage.client.UrlPatternEntryPoint; +import fr.inra.refcomp.client.services.SearchService; +import fr.inra.refcomp.client.services.SearchServiceAsync; +import fr.inra.refcomp.service.Skill; +import java.util.List; /** * User: couteau @@ -21,6 +26,9 @@ */ public class Search extends Composite { + private final SearchServiceAsync searchService = GWT + .create(SearchService.class); + @UiTemplate("Search.ui.xml") interface MyUiBinder extends UiBinder<Panel, Search> { } @@ -32,6 +40,9 @@ private static boolean stylesInjected = false; + @UiField + TextBox searchBox; + public Search() { this.res = GWT.create(Style.class); @@ -44,6 +55,30 @@ initWidget(binder.createAndBindUi(this)); } + @UiHandler("buttonSearch") + void doClickSubmit(ClickEvent event) { + searchService.search(searchBox.getValue(), + new AsyncCallback<List<Skill>>() { + @Override + public void onFailure(Throwable caught) { + Window.alert("Server communication error"); + } + + @Override + public void onSuccess(List<Skill> result) { + RootPanel content = RootPanel.get("content"); + + content.clear(); + + SearchResults resultPanel = new SearchResults(); + + content.add(resultPanel); + + resultPanel.setResults(result); + } + }); + } + Modified: refComp/client/src/main/java/fr/inra/refcomp/client/SearchResults.java =================================================================== --- refComp/client/src/main/java/fr/inra/refcomp/client/SearchResults.java 2010-11-04 09:40:42 UTC (rev 8) +++ refComp/client/src/main/java/fr/inra/refcomp/client/SearchResults.java 2010-11-04 10:57:18 UTC (rev 9) @@ -1,22 +1,78 @@ package fr.inra.refcomp.client; -import com.google.gwt.core.client.EntryPoint; -import com.google.gwt.user.client.ui.Label; -import com.google.gwt.user.client.ui.RootPanel; +import com.google.gwt.core.client.GWT; +import com.google.gwt.dom.client.StyleInjector; +import com.google.gwt.uibinder.client.UiBinder; +import com.google.gwt.uibinder.client.UiField; +import com.google.gwt.uibinder.client.UiTemplate; +import com.google.gwt.user.client.ui.Composite; +import com.google.gwt.user.client.ui.Grid; +import com.google.gwt.user.client.ui.Panel; +import fr.inra.refcomp.client.resources.Style; +import fr.inra.refcomp.service.Skill; +import java.util.List; /** * User: couteau * Date: 3 nov. 2010 */ -public class SearchResults implements EntryPoint { +public class SearchResults extends Composite { - public void onModuleLoad(){ - Label searchLabel = new Label("Search"); - Label searchedText = new Label("Java"); + @UiTemplate("SearchResults.ui.xml") + interface MyUiBinder extends UiBinder<Panel, SearchResults> { + } - RootPanel.get("searchLabel").add(searchLabel); - RootPanel.get("searchedText").add(searchedText); - + private static final MyUiBinder binder = GWT.create(MyUiBinder.class); + + @UiField(provided = true) + final Style res; + + private static boolean stylesInjected = false; + + @UiField + Grid resultsGrid; + + public SearchResults() { + this.res = GWT.create(Style.class); + + // Inject only once. + if (!stylesInjected) { + StyleInjector.injectStylesheet(res.style().getText()); + stylesInjected = true; + } + + initWidget(binder.createAndBindUi(this)); } + public void setResults(List<Skill> skills){ + + resultsGrid.resize(skills.size() + 1, 6); + + //Set grid title + resultsGrid.setText(0,0,"Name"); + resultsGrid.setText(0,1,"Skill"); + resultsGrid.setText(0,2,"Linked Skill"); + resultsGrid.setText(0,3,"Level"); + resultsGrid.setText(0,4,"Comment"); + resultsGrid.setText(0,5,"Right"); + + + for (int i=0;i<skills.size();i++){ + + //The skill to put in row + Skill skill = skills.get(i); + + resultsGrid.setText(i+1,0,skill.getName()); + resultsGrid.setText(i+1,1,skill.getSkill()); + resultsGrid.setText(i+1,2,skill.getLinkedSkill()); + resultsGrid.setText(i+1,3,skill.getLevel()); + resultsGrid.setText(i+1,4,skill.getComment()); + resultsGrid.setText(i+1,5,skill.getRight()); + + } + + } + + + } Added: refComp/client/src/main/java/fr/inra/refcomp/client/SearchResults.ui.xml =================================================================== --- refComp/client/src/main/java/fr/inra/refcomp/client/SearchResults.ui.xml (rev 0) +++ refComp/client/src/main/java/fr/inra/refcomp/client/SearchResults.ui.xml 2010-11-04 10:57:18 UTC (rev 9) @@ -0,0 +1,27 @@ +<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder' + xmlns:gwt='urn:import:com.google.gwt.user.client.ui'> + + <ui:with field='res' type='fr.inra.refcomp.client.resources.Style'/> + + <gwt:HTMLPanel> + <div id="facets"> + <gwt:VerticalPanel styleName="{res.style.background}"> + + </gwt:VerticalPanel> + </div> + + <div align="center"> + <gwt:VerticalPanel styleName="{res.style.background}"> + <gwt:HorizontalPanel verticalAlignment="ALIGN_MIDDLE"> + <gwt:Label text="Search : " + styleName="{res.style.greyText}"/> + <gwt:Label ui:field="searchedLabel" text="Toto" + styleName="{res.style.greyText}"/> + </gwt:HorizontalPanel> + + <gwt:Grid ui:field="resultsGrid"/> + + </gwt:VerticalPanel> + </div> + </gwt:HTMLPanel> +</ui:UiBinder> \ No newline at end of file Added: refComp/client/src/main/java/fr/inra/refcomp/client/services/SearchService.java =================================================================== --- refComp/client/src/main/java/fr/inra/refcomp/client/services/SearchService.java (rev 0) +++ refComp/client/src/main/java/fr/inra/refcomp/client/services/SearchService.java 2010-11-04 10:57:18 UTC (rev 9) @@ -0,0 +1,16 @@ +package fr.inra.refcomp.client.services; + +import com.google.gwt.user.client.rpc.RemoteService; +import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; +import fr.inra.refcomp.service.Skill; +import java.util.List; + +/** + * User: couteau + * Date: 4 nov. 2010 + */ +@RemoteServiceRelativePath("search") +public interface SearchService extends RemoteService { + + List<Skill> search(String searchSentence); +} Added: refComp/client/src/main/java/fr/inra/refcomp/client/services/SearchServiceAsync.java =================================================================== --- refComp/client/src/main/java/fr/inra/refcomp/client/services/SearchServiceAsync.java (rev 0) +++ refComp/client/src/main/java/fr/inra/refcomp/client/services/SearchServiceAsync.java 2010-11-04 10:57:18 UTC (rev 9) @@ -0,0 +1,13 @@ +package fr.inra.refcomp.client.services; + +import com.google.gwt.user.client.rpc.AsyncCallback; +import fr.inra.refcomp.service.Skill; +import java.util.List; + +/** + * User: couteau + * Date: 4 nov. 2010 + */ +public interface SearchServiceAsync { + void search(String searchSentence, AsyncCallback<List<Skill>> callback); +} Added: refComp/client/src/main/java/fr/inra/refcomp/service/SearchServiceImpl.java =================================================================== --- refComp/client/src/main/java/fr/inra/refcomp/service/SearchServiceImpl.java (rev 0) +++ refComp/client/src/main/java/fr/inra/refcomp/service/SearchServiceImpl.java 2010-11-04 10:57:18 UTC (rev 9) @@ -0,0 +1,25 @@ +package fr.inra.refcomp.service; + +import com.google.gwt.user.server.rpc.RemoteServiceServlet; +import fr.inra.refcomp.client.services.SearchService; +import java.util.ArrayList; +import java.util.List; + +/** + * User: couteau + * Date: 4 nov. 2010 + */ +public class SearchServiceImpl extends RemoteServiceServlet implements + SearchService { + + List<Skill> searchResults; + + public List<Skill> search(String searchSentence) { + + searchResults = new ArrayList<Skill>(); + + searchResults.add(new Skill("Hervé Richard", "Java","Maîtrise", "Enfin pas trop quand même", "R", "CIAM")); + + return searchResults; + } +} \ No newline at end of file Modified: refComp/client/src/main/java/fr/inra/refcomp/service/Skill.java =================================================================== --- refComp/client/src/main/java/fr/inra/refcomp/service/Skill.java 2010-11-04 09:40:42 UTC (rev 8) +++ refComp/client/src/main/java/fr/inra/refcomp/service/Skill.java 2010-11-04 10:57:18 UTC (rev 9) @@ -1,11 +1,15 @@ package fr.inra.refcomp.service; +import java.io.Serializable; + /** * User: couteau * Date: 3 nov. 2010 */ -public class Skill { +public class Skill implements Serializable { + public Skill(){} + public String getName() { return name; } @@ -47,12 +51,23 @@ } protected String name; + + public String getSkill() { + return skill; + } + + public void setSkill(String skill) { + this.skill = skill; + } + + protected String skill; protected String level; protected String comment; protected String linkedSkill; protected String right; - public Skill(String name, String level, String comment, String linkedSkill, String right){ + public Skill(String name, String skill, String level, String comment, String linkedSkill, String right){ + this.skill=skill; this.name=name; this.level=level; this.comment=comment; Modified: refComp/client/src/main/webapp/WEB-INF/web.xml =================================================================== --- refComp/client/src/main/webapp/WEB-INF/web.xml 2010-11-04 09:40:42 UTC (rev 8) +++ refComp/client/src/main/webapp/WEB-INF/web.xml 2010-11-04 10:57:18 UTC (rev 9) @@ -28,5 +28,14 @@ <servlet-name>LoginService</servlet-name> <url-pattern>/fr.inra.refcomp.RefComp/login</url-pattern> </servlet-mapping> + <servlet> + <servlet-name>SearchService</servlet-name> + <servlet-class>fr.inra.refcomp.service.SearchServiceImpl + </servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>SearchService</servlet-name> + <url-pattern>/fr.inra.refcomp.RefComp/search</url-pattern> + </servlet-mapping> </web-app>
participants (1)
-
jcouteau@users.chorem.org