r109 - in trunk/simexplorer-is-web/src/main: java/fr/cemagref/simexplorer/is/ui/web java/fr/cemagref/simexplorer/is/ui/web/components java/fr/cemagref/simexplorer/is/ui/web/grid java/fr/cemagref/simexplorer/is/ui/web/pages resources/fr/cemagref/simexplorer/is/ui/web/components resources/fr/cemagref/simexplorer/is/ui/web/pages webapp
Author: glandais Date: 2008-01-10 16:00:01 +0000 (Thu, 10 Jan 2008) New Revision: 109 Added: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/grid/ElementDataSource.java trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementDetail.java trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementList.java trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/pages/ElementDetail.properties trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/pages/ElementList.properties trunk/simexplorer-is-web/src/main/webapp/ElementDetail.tml trunk/simexplorer-is-web/src/main/webapp/ElementList.tml Removed: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/base/ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/grid/ApplicationDataSource.java trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractApplicationDetail.java trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractApplicationExport.java trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractApplicationImport.java trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractApplicationList.java trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractGroupEdit.java trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractGroupList.java trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractUserEdit.java trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractUserList.java trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationDetail.java trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationList.java trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationDetail.properties trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationList.properties trunk/simexplorer-is-web/src/main/webapp/ApplicationDetail.tml trunk/simexplorer-is-web/src/main/webapp/ApplicationList.tml Modified: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/components/Layout.java trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationExport.java trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationImport.java trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/GroupEdit.java trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/GroupList.java trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/UserEdit.java trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/UserList.java trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/components/Layout.properties trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/components/Layout.tml trunk/simexplorer-is-web/src/main/webapp/index.html Log: Affichage de tous les types d'?\195?\169l?\195?\169ments Recherche Modified: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/components/Layout.java =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/components/Layout.java 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/components/Layout.java 2008-01-10 16:00:01 UTC (rev 109) @@ -20,15 +20,17 @@ import java.util.Locale; -import org.apache.tapestry.Asset; +import org.apache.tapestry.annotations.Component; import org.apache.tapestry.annotations.IncludeStylesheet; import org.apache.tapestry.annotations.InjectPage; import org.apache.tapestry.annotations.Parameter; -import org.apache.tapestry.annotations.Path; import org.apache.tapestry.annotations.Service; +import org.apache.tapestry.corelib.components.Form; +import org.apache.tapestry.corelib.components.TextField; import org.apache.tapestry.ioc.annotations.Inject; import org.apache.tapestry.services.PersistentLocale; +import fr.cemagref.simexplorer.is.ui.web.pages.ElementList; import fr.cemagref.simexplorer.is.ui.web.pages.UserList; /** @@ -46,6 +48,17 @@ @InjectPage private UserList userList; + @Component + private TextField searchField; + + private String searchText; + + @Component + private Form form; + + @InjectPage + private ElementList elementList; + /** * page title */ @@ -91,5 +104,25 @@ public boolean getAdministrator() { return true; } - + + Object onSuccess() { + elementList.searchQuery(searchText); + // form.recordError(searchField, "Invalid request."); + // return null; + return elementList; + } + + public Object onActionFromApplicationList() throws Exception { + elementList.searchQuery(null); + return elementList; + } + + public String getSearchText() { + return searchText; + } + + public void setSearchText(String searchText) { + this.searchText = searchText; + } + } Deleted: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/grid/ApplicationDataSource.java =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/grid/ApplicationDataSource.java 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/grid/ApplicationDataSource.java 2008-01-10 16:00:01 UTC (rev 109) @@ -1,87 +0,0 @@ -package fr.cemagref.simexplorer.is.ui.web.grid; - -import javax.naming.NamingException; - -import org.apache.tapestry.beaneditor.PropertyModel; -import org.apache.tapestry.grid.GridDataSource; - -import fr.cemagref.simexplorer.is.entities.metadata.MetaDataEntity; -import fr.cemagref.simexplorer.is.ui.web.services.StorageServiceFactory; - -public class ApplicationDataSource implements GridDataSource { - - private String query = ""; - private int indexStart = 0; - private MetaDataEntity[] entities = null; - - public ApplicationDataSource(String query) { - super(); - this.query = query; - } - - public ApplicationDataSource() { - super(); - this.query = ""; - } - - public int getAvailableRows() { - int result = 0; - try { - if (query.isEmpty()) { - result = StorageServiceFactory.getService() - .findApplicationsCount(false); - } else { - result = StorageServiceFactory.getService().findFullTextCount( - query, false); - } - } catch (NamingException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - return result; - } - - public Class getRowType() { - return MetaDataEntity.class; - } - - public Object getRowValue(int index) { - return entities[index - indexStart]; - } - - public void prepare(int startIndex, int endIndex, PropertyModel sortModel, - boolean ascending) { - try { - this.indexStart = startIndex; - - int dateOrder = 0; - if (sortModel != null - && "creationDate".equals(sortModel.getPropertyName())) { - if (ascending) { - dateOrder = 1; - } else { - dateOrder = -1; - } - } - - if (query.isEmpty()) { - entities = StorageServiceFactory.getService() - .findApplications(false, startIndex, - 1 + endIndex - startIndex, dateOrder); - } else { - entities = StorageServiceFactory.getService().findFullText( - query, false, startIndex, 1 + endIndex - startIndex, - dateOrder); - } - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - this.indexStart = 0; - entities = new MetaDataEntity[0]; - } - } - -} Copied: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/grid/ElementDataSource.java (from rev 106, trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/grid/ApplicationDataSource.java) =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/grid/ElementDataSource.java (rev 0) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/grid/ElementDataSource.java 2008-01-10 16:00:01 UTC (rev 109) @@ -0,0 +1,91 @@ +package fr.cemagref.simexplorer.is.ui.web.grid; + +import javax.naming.NamingException; + +import org.apache.tapestry.beaneditor.PropertyModel; +import org.apache.tapestry.grid.GridDataSource; + +import fr.cemagref.simexplorer.is.entities.metadata.MetaDataEntity; +import fr.cemagref.simexplorer.is.ui.web.services.StorageServiceFactory; + +public class ElementDataSource implements GridDataSource { + + private String query = ""; + private int indexStart = 0; + private MetaDataEntity[] entities = null; + + public ElementDataSource(String query) { + super(); + this.query = query; + } + + public ElementDataSource() { + super(); + this.query = ""; + } + + public int getAvailableRows() { + int result = 0; + try { + if (query.isEmpty()) { + result = StorageServiceFactory.getService() + .findApplicationsCount(false); + } else { + result = StorageServiceFactory.getService().findFullTextCount( + query, false); + } + } catch (NamingException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return result; + } + + public Class getRowType() { + return MetaDataEntity.class; + } + + public Object getRowValue(int index) { + return entities[index - indexStart]; + } + + public void prepare(int startIndex, int endIndex, PropertyModel sortModel, + boolean ascending) { + try { + this.indexStart = startIndex; + + int dateOrder = 0; + if (sortModel != null + && "creationDate".equals(sortModel.getPropertyName())) { + if (ascending) { + dateOrder = 1; + } else { + dateOrder = -1; + } + } + + if (query.isEmpty()) { + entities = StorageServiceFactory.getService() + .findApplications(false, startIndex, + 1 + endIndex - startIndex, dateOrder); + } else { + entities = StorageServiceFactory.getService().findFullText( + query, false, startIndex, 1 + endIndex - startIndex, + dateOrder); + } + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + this.indexStart = 0; + entities = new MetaDataEntity[0]; + } + } + + public String getQuery() { + return query; + } + +} Deleted: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractApplicationDetail.java =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractApplicationDetail.java 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractApplicationDetail.java 2008-01-10 16:00:01 UTC (rev 109) @@ -1,30 +0,0 @@ -// Automatically generated by LutinGenerator -package fr.cemagref.simexplorer.is.ui.web.pages; - -import org.apache.tapestry.annotations.InjectPage; -import fr.cemagref.simexplorer.is.ui.web.base.UseCasePage; - -/* - * State AbstractApplicationDetail - */ -public abstract class AbstractApplicationDetail extends UseCasePage { - - /* linked state "ApplicationList" */ - @InjectPage - private ApplicationList applicationList; - - /* getter for state "ApplicationList" */ - protected ApplicationList getApplicationList() { - return applicationList; - } - - /* transition on "retour" event */ - public Object onActionFromRetour() { - return applicationList; - } - - /* return a unique state id for model */ - protected final String getUseCaseName() { - return "ad"; - } -} \ No newline at end of file Deleted: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractApplicationExport.java =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractApplicationExport.java 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractApplicationExport.java 2008-01-10 16:00:01 UTC (rev 109) @@ -1,30 +0,0 @@ -// Automatically generated by LutinGenerator -package fr.cemagref.simexplorer.is.ui.web.pages; - -import org.apache.tapestry.annotations.InjectPage; -import fr.cemagref.simexplorer.is.ui.web.base.UseCasePage; - -/* - * State AbstractApplicationExport - */ -public abstract class AbstractApplicationExport extends UseCasePage { - - /* linked state "ApplicationList" */ - @InjectPage - private ApplicationList applicationList; - - /* getter for state "ApplicationList" */ - protected ApplicationList getApplicationList() { - return applicationList; - } - - /* transition on "retour" event */ - public Object onActionFromRetour() { - return applicationList; - } - - /* return a unique state id for model */ - protected final String getUseCaseName() { - return "ae"; - } -} \ No newline at end of file Deleted: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractApplicationImport.java =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractApplicationImport.java 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractApplicationImport.java 2008-01-10 16:00:01 UTC (rev 109) @@ -1,30 +0,0 @@ -// Automatically generated by LutinGenerator -package fr.cemagref.simexplorer.is.ui.web.pages; - -import org.apache.tapestry.annotations.InjectPage; -import fr.cemagref.simexplorer.is.ui.web.base.UseCasePage; - -/* - * State AbstractApplicationImport - */ -public abstract class AbstractApplicationImport extends UseCasePage { - - /* linked state "ApplicationList" */ - @InjectPage - private ApplicationList applicationList; - - /* getter for state "ApplicationList" */ - protected ApplicationList getApplicationList() { - return applicationList; - } - - /* transition on "retour" event */ - public Object onActionFromRetour() { - return applicationList; - } - - /* return a unique state id for model */ - protected final String getUseCaseName() { - return "ai"; - } -} \ No newline at end of file Deleted: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractApplicationList.java =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractApplicationList.java 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractApplicationList.java 2008-01-10 16:00:01 UTC (rev 109) @@ -1,73 +0,0 @@ -// Automatically generated by LutinGenerator -package fr.cemagref.simexplorer.is.ui.web.pages; - -import org.apache.tapestry.annotations.InjectPage; -import fr.cemagref.simexplorer.is.ui.web.base.UseCasePage; - -/* - * State AbstractApplicationList - */ -public abstract class AbstractApplicationList extends UseCasePage { - - /* linked state "ApplicationDetail" */ - @InjectPage - private ApplicationDetail applicationDetail; - - /* getter for state "ApplicationDetail" */ - protected ApplicationDetail getApplicationDetail() { - return applicationDetail; - } - - /* transition on "detail" event */ - public Object onActionFromDetail() { - return applicationDetail; - } - - /* linked state "ApplicationImport" */ - @InjectPage - private ApplicationImport applicationImport; - - /* getter for state "ApplicationImport" */ - protected ApplicationImport getApplicationImport() { - return applicationImport; - } - - /* transition on "importer" event */ - public Object onActionFromImporter() { - return applicationImport; - } - - /* linked state "ApplicationExport" */ - @InjectPage - private ApplicationExport applicationExport; - - /* getter for state "ApplicationExport" */ - protected ApplicationExport getApplicationExport() { - return applicationExport; - } - - /* transition on "export" event */ - public Object onActionFromExport() { - return applicationExport; - } - - /* linked state "UserAdministration" */ - @InjectPage - private UserList userList; - - /* getter for state "UserAdministration" */ - protected UserList getUserList() { - return userList; - } - - /* transition on administration event */ - public Object onActionFromAdministration() { - enterUseCase(); - return userList; - } - - /* return a unique state id for model */ - protected final String getUseCaseName() { - return "al"; - } -} \ No newline at end of file Deleted: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractGroupEdit.java =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractGroupEdit.java 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractGroupEdit.java 2008-01-10 16:00:01 UTC (rev 109) @@ -1,30 +0,0 @@ -// Automatically generated by LutinGenerator -package fr.cemagref.simexplorer.is.ui.web.pages; - -import org.apache.tapestry.annotations.InjectPage; -import fr.cemagref.simexplorer.is.ui.web.base.UseCasePage; - -/* - * State AbstractGroupEdit - */ -public abstract class AbstractGroupEdit extends UseCasePage { - - /* linked state "GroupList" */ - @InjectPage - private GroupList groupList; - - /* getter for state "GroupList" */ - protected GroupList getGroupList() { - return groupList; - } - - /* transition on "retour" event */ - public Object onActionFromRetour() { - return groupList; - } - - /* return a unique state id for model */ - protected final String getUseCaseName() { - return "ge"; - } -} \ No newline at end of file Deleted: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractGroupList.java =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractGroupList.java 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractGroupList.java 2008-01-10 16:00:01 UTC (rev 109) @@ -1,58 +0,0 @@ -// Automatically generated by LutinGenerator -package fr.cemagref.simexplorer.is.ui.web.pages; - -import org.apache.tapestry.annotations.InjectPage; -import fr.cemagref.simexplorer.is.ui.web.base.UseCasePage; - -/* - * State AbstractGroupList - */ -public abstract class AbstractGroupList extends UseCasePage { - - /* linked state "UserList" */ - @InjectPage - private UserList userList; - - /* getter for state "UserList" */ - protected UserList getUserList() { - return userList; - } - - /* transition on "retour" event */ - public Object onActionFromRetour() { - return userList; - } - - /* linked state "GroupEdit" */ - @InjectPage - private GroupEdit groupEdit; - - /* getter for state "GroupEdit" */ - protected GroupEdit getGroupEdit() { - return groupEdit; - } - - /* transition on "edit" event */ - public Object onActionFromEdit() { - return groupEdit; - } - - /* linked state "UserEdit" */ - @InjectPage - private UserEdit userEdit; - - /* getter for state "UserEdit" */ - protected UserEdit getUserEdit() { - return userEdit; - } - - /* transition on "usergroup" event */ - public Object onActionFromUsergroup() { - return userEdit; - } - - /* return a unique state id for model */ - protected final String getUseCaseName() { - return "gl"; - } -} \ No newline at end of file Deleted: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractUserEdit.java =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractUserEdit.java 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractUserEdit.java 2008-01-10 16:00:01 UTC (rev 109) @@ -1,44 +0,0 @@ -// Automatically generated by LutinGenerator -package fr.cemagref.simexplorer.is.ui.web.pages; - -import org.apache.tapestry.annotations.InjectPage; -import fr.cemagref.simexplorer.is.ui.web.base.UseCasePage; - -/* - * State AbstractUserEdit - */ -public abstract class AbstractUserEdit extends UseCasePage { - - /* linked state "UserList" */ - @InjectPage - private UserList userList; - - /* getter for state "UserList" */ - protected UserList getUserList() { - return userList; - } - - /* transition on "retour" event */ - public Object onActionFromRetour() { - return userList; - } - - /* linked state "GroupList" */ - @InjectPage - private GroupList groupList; - - /* getter for state "GroupList" */ - protected GroupList getGroupList() { - return groupList; - } - - /* transition on "" event */ - public Object onActionFrom() { - return groupList; - } - - /* return a unique state id for model */ - protected final String getUseCaseName() { - return "ue"; - } -} \ No newline at end of file Deleted: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractUserList.java =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractUserList.java 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/AbstractUserList.java 2008-01-10 16:00:01 UTC (rev 109) @@ -1,49 +0,0 @@ -// Automatically generated by LutinGenerator -package fr.cemagref.simexplorer.is.ui.web.pages; - -import org.apache.tapestry.annotations.InjectPage; -import fr.cemagref.simexplorer.is.ui.web.base.UseCasePage; - -/* - * State AbstractUserList - */ -public abstract class AbstractUserList extends UseCasePage { - - /* linked state "GroupList" */ - @InjectPage - private GroupList groupList; - - /* getter for state "GroupList" */ - protected GroupList getGroupList() { - return groupList; - } - - /* transition on "group" event */ - public Object onActionFromGroup() { - return groupList; - } - - /* linked state "UserEdit" */ - @InjectPage - private UserEdit userEdit; - - /* getter for state "UserEdit" */ - protected UserEdit getUserEdit() { - return userEdit; - } - - /* transition on "edit" event */ - public Object onActionFromEdit() { - return userEdit; - } - - /* transition on "retour" event */ - public Object onActionFromRetour() { - return leaveUseCase(); - } - - /* return a unique state id for model */ - protected final String getUseCaseName() { - return "ul"; - } -} \ No newline at end of file Deleted: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationDetail.java =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationDetail.java 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationDetail.java 2008-01-10 16:00:01 UTC (rev 109) @@ -1,281 +0,0 @@ -package fr.cemagref.simexplorer.is.ui.web.pages; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Set; -import java.util.StringTokenizer; - -import org.apache.tapestry.ComponentResources; -import org.apache.tapestry.Link; -import org.apache.tapestry.StreamResponse; -import org.apache.tapestry.annotations.Persist; -import org.apache.tapestry.ioc.annotations.Inject; -import org.apache.tapestry.util.TextStreamResponse; -import org.codelutin.tapestry.beans.TreeNode; - -import com.healthmarketscience.rmiio.RemoteOutputStreamServer; -import com.healthmarketscience.rmiio.SimpleRemoteOutputStream; - -import fr.cemagref.simexplorer.is.entities.data.Code; -import fr.cemagref.simexplorer.is.entities.data.Component; -import fr.cemagref.simexplorer.is.entities.data.Constant; -import fr.cemagref.simexplorer.is.entities.data.ConstantValue; -import fr.cemagref.simexplorer.is.entities.data.ExplorationApplication; -import fr.cemagref.simexplorer.is.entities.data.ExplorationData; -import fr.cemagref.simexplorer.is.entities.data.Library; -import fr.cemagref.simexplorer.is.entities.data.Result; -import fr.cemagref.simexplorer.is.entities.data.Structure; -import fr.cemagref.simexplorer.is.entities.metadata.MetaDataEntity; -import fr.cemagref.simexplorer.is.ui.web.services.StorageServiceFactory; -import fr.cemagref.simexplorer.is.ui.web.tools.XMLAttachment; - -public class ApplicationDetail extends AbstractApplicationDetail { - - @Inject - private ComponentResources resources; - - @Persist - private ExplorationApplication explorationApplication; - - public void setup(String uuid, String version) throws Exception { - explorationApplication = StorageServiceFactory.getService() - .getExplorationApplication(uuid, version); - } - - public List<String> getHeaders() { - List<String> result = new ArrayList<String>(); - result.add(""); - result.add(""); - result.add(""); - result.add(""); - return result; - } - - public List<TreeNode> getNodes() { - List<TreeNode> nodes = new ArrayList<TreeNode>(); - nodes.add(generateAppllication()); - return nodes; - } - - public Object exportElement(String uuid, String version) throws Exception { - StreamResponse response = null; - - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - RemoteOutputStreamServer xmlRemoteOutputStream = new SimpleRemoteOutputStream( - bos); - StorageServiceFactory.getService().exportElement( - xmlRemoteOutputStream.export(), uuid, version); - - MetaDataEntity mde = StorageServiceFactory.getService().getMetadata( - uuid, version); - ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray()); - response = new XMLAttachment(bis, mde.getType() + "." + mde.getUuid() + ".v" - + mde.getVersion()); - - return response; - } - - public Object onExportea(String context) throws Exception { - return exportElement(explorationApplication.getMetaData().getUuid(), - explorationApplication.getMetaData().getVersion().toString()); - } - - public Object onExportElement(String context) throws Exception { - StringTokenizer st = new StringTokenizer(context, ","); - String uuid = st.nextToken(); - String version = st.nextToken(); - return exportElement(uuid, version); - } - - private String[] generateStringArray(String s1, String s2, String s3) { - List<String> result = new ArrayList<String>(); - result.add(s1); - result.add(s2); - result.add(s3); - result.add(""); - return result.toArray(new String[0]); - } - - private String[] generateStringArray(String s1, String s2, String s3, - String actionCaption, String action, Object context) { - List<String> result = new ArrayList<String>(); - result.add(s1); - result.add(s2); - result.add(s3); - Link link = resources.createActionLink(action, false, context); - StringBuffer sb = new StringBuffer(""); - sb.append("<a href=\""); - sb.append(link.toString()); - sb.append("\">"); - sb.append(actionCaption); - sb.append("</a>"); - result.add(sb.toString()); - return result.toArray(new String[0]); - } - - private TreeNode generateAppllication() { - TreeNode node = new TreeNode(); - node.setType(TreeNode.TYPE_FOLDER); - - node.setColumns(generateStringArray("Exploration Application", - explorationApplication.getMetaData().getDescription(), - explorationApplication.getMetaData().getVersion().toString(), - "Export", "exportea", null)); - TreeNode[] children = new TreeNode[2]; - children[0] = new TreeNode(); - children[0].setType(TreeNode.TYPE_FOLDER); - children[0].setColumns(generateStringArray("Components", "", "")); - children[0].setChildren(generateComponents()); - - children[1] = new TreeNode(); - children[1].setType(TreeNode.TYPE_FOLDER); - children[1].setColumns(generateStringArray("Explorations", "", "")); - children[1].setChildren(generateExplorations()); - - node.setChildren(children); - - return node; - } - - private TreeNode[] generateExplorations() { - TreeNode[] res = new TreeNode[explorationApplication.getExplorations() - .size()]; - int i = 0; - for (ExplorationData explorationData : explorationApplication - .getExplorations()) { - res[i] = new TreeNode(); - res[i].setType(TreeNode.TYPE_FOLDER); - res[i] - .setColumns(generateStringArray("Exploration data", - explorationData.getMetaData().getDescription(), - explorationData.getMetaData().getVersion() - .toString(), "Export", "exportElement", - explorationData.getMetaData().getUuid() - + "," - + explorationData.getMetaData() - .getVersion())); - TreeNode[] children = new TreeNode[2]; - children[0] = generateResult(explorationData.getResult()); - children[1] = new TreeNode(); - children[1].setType(TreeNode.TYPE_FOLDER); - children[1].setColumns(generateStringArray("Values", "", "")); - children[1].setChildren(generateValues(explorationData)); - res[i].setChildren(children); - i++; - } - return res; - } - - private TreeNode[] generateValues(ExplorationData explorationData) { - Set<ConstantValue> values = explorationData.getValuesMap(); - TreeNode[] res = new TreeNode[values.size()]; - int i = 0; - for (ConstantValue value : values) { - res[i] = new TreeNode(); - res[i].setType(TreeNode.TYPE_DOCUMENT); - res[i].setColumns(generateStringArray( - value.getConstant().getName(), value.getValue(), value - .getConstant().getType().getSimpleName())); - i++; - } - - return res; - } - - private TreeNode generateResult(Result result) { - TreeNode res = new TreeNode(); - res.setType(TreeNode.TYPE_DOCUMENT); - res.setColumns(generateStringArray("Result", "", "")); - return res; - } - - private TreeNode[] generateComponents() { - Set<Component> components = explorationApplication.getComponents(); - TreeNode[] res = new TreeNode[components.size()]; - - int i = 0; - for (Component component : components) { - res[i] = new TreeNode(); - res[i].setType(TreeNode.TYPE_FOLDER); - res[i].setColumns(generateStringArray("Component", component - .getMetaData().getDescription(), component.getMetaData() - .getVersion().toString(), "Export", "exportElement", - component.getMetaData().getUuid() + "," - + component.getMetaData().getVersion())); - TreeNode[] children = new TreeNode[4]; - for (int j = 0; j < children.length; j++) { - children[j] = new TreeNode(); - children[j].setType(TreeNode.TYPE_FOLDER); - } - children[0].setColumns(generateStringArray("Constants", "", "")); - children[0] - .setChildren(generateConstants(component.getConstants())); - children[1].setColumns(generateStringArray("Structures", "", "")); - children[1].setChildren(generateStructures(component - .getStructures())); - children[2].setColumns(generateStringArray("Codes", "", "")); - children[2].setChildren(generateCodes(component.getCodes())); - children[3].setColumns(generateStringArray("Libraries", "", "")); - children[3] - .setChildren(generateLibraries(component.getLibraries())); - res[i].setChildren(children); - i++; - } - - return res; - } - - private TreeNode[] generateLibraries(Set<Library> libraries) { - TreeNode[] res = new TreeNode[libraries.size()]; - int i = 0; - for (Library library : libraries) { - res[i] = new TreeNode(); - res[i].setType(TreeNode.TYPE_DOCUMENT); - res[i].setColumns(generateStringArray("Library", "", "")); - i++; - } - return res; - } - - private TreeNode[] generateCodes(Set<Code> codes) { - TreeNode[] res = new TreeNode[codes.size()]; - int i = 0; - for (Code code : codes) { - res[i] = new TreeNode(); - res[i].setType(TreeNode.TYPE_DOCUMENT); - res[i].setColumns(generateStringArray("Code", code.getLanguage(), - code.getCode())); - i++; - } - return res; - } - - private TreeNode[] generateStructures(Set<Structure> structures) { - TreeNode[] res = new TreeNode[structures.size()]; - int i = 0; - for (Structure structure : structures) { - res[i] = new TreeNode(); - res[i].setType(TreeNode.TYPE_DOCUMENT); - res[i].setColumns(generateStringArray("Structure", "", "")); - i++; - } - return res; - } - - private TreeNode[] generateConstants(Set<Constant> constants) { - TreeNode[] res = new TreeNode[constants.size()]; - int i = 0; - for (Constant constant : constants) { - res[i] = new TreeNode(); - res[i].setType(TreeNode.TYPE_DOCUMENT); - res[i].setColumns(generateStringArray("Constant", constant - .getName(), constant.getType().getSimpleName())); - i++; - } - return res; - } - -} Modified: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationExport.java =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationExport.java 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationExport.java 2008-01-10 16:00:01 UTC (rev 109) @@ -4,6 +4,6 @@ import fr.cemagref.simexplorer.is.ui.web.components.Layout; -public class ApplicationExport extends AbstractApplicationExport { +public class ApplicationExport { } Modified: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationImport.java =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationImport.java 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationImport.java 2008-01-10 16:00:01 UTC (rev 109) @@ -9,7 +9,7 @@ import fr.cemagref.simexplorer.is.ui.web.components.Layout; import fr.cemagref.simexplorer.is.ui.web.services.StorageServiceFactory; -public class ApplicationImport extends AbstractApplicationImport { +public class ApplicationImport { private UploadedFile fileEA; private UploadedFile fileLib; Deleted: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationList.java =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationList.java 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationList.java 2008-01-10 16:00:01 UTC (rev 109) @@ -1,82 +0,0 @@ -package fr.cemagref.simexplorer.is.ui.web.pages; - -import java.util.ArrayList; -import java.util.List; -import java.util.StringTokenizer; - -import org.apache.tapestry.ComponentResources; -import org.apache.tapestry.annotations.InjectPage; -import org.apache.tapestry.annotations.Retain; -import org.apache.tapestry.beaneditor.BeanModel; -import org.apache.tapestry.internal.beaneditor.BeanModelImpl; -import org.apache.tapestry.ioc.annotations.Inject; -import org.apache.tapestry.services.BeanModelSource; - -import fr.cemagref.simexplorer.is.entities.metadata.MetaDataEntity; -import fr.cemagref.simexplorer.is.ui.web.grid.ApplicationDataSource; - -public class ApplicationList extends AbstractApplicationList { - - @Retain - private BeanModel model; - - @Inject - private BeanModelSource beanModelSource; - - @Inject - private ComponentResources resources; - - private MetaDataEntity application; - - @InjectPage - private ApplicationDetail applicationDetail; - - void pageLoaded() { - model = beanModelSource.create(MetaDataEntity.class, true, resources); - List<String> wantedProperties = new ArrayList<String>(); - wantedProperties.add("uuid"); - wantedProperties.add("name"); - wantedProperties.add("description"); - wantedProperties.add("version"); - wantedProperties.add("creationDate"); - List<String> properties = model.getPropertyNames(); - for (String property : properties) { - if (!"creationDate".equals(property)) { - model.get(property).sortable(false); - } - if (!wantedProperties.contains(property)) { - model = model.remove(property); - } - } - } - - public BeanModel getModel() { - return model; - } - - public ApplicationDataSource getApplications() { - return new ApplicationDataSource(); - } - - public MetaDataEntity getApplication() { - return application; - } - - public void setApplication(MetaDataEntity application) { - this.application = application; - } - - public String getDetailApplicationContext() { - String result = application.getUuid() + "," + application.getVersion(); - return result; - } - - public Object onActionFromDetailApplication(String context) throws Exception { - StringTokenizer st = new StringTokenizer(context, ","); - String uuid = st.nextToken(); - String version = st.nextToken(); - applicationDetail.setup(uuid, version); - return applicationDetail; - } - -} Copied: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementDetail.java (from rev 106, trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationDetail.java) =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementDetail.java (rev 0) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementDetail.java 2008-01-10 16:00:01 UTC (rev 109) @@ -0,0 +1,299 @@ +package fr.cemagref.simexplorer.is.ui.web.pages; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; +import java.util.StringTokenizer; + +import org.apache.tapestry.ComponentResources; +import org.apache.tapestry.Link; +import org.apache.tapestry.StreamResponse; +import org.apache.tapestry.annotations.Persist; +import org.apache.tapestry.ioc.annotations.Inject; +import org.codelutin.tapestry.beans.TreeNode; + +import com.healthmarketscience.rmiio.RemoteOutputStreamServer; +import com.healthmarketscience.rmiio.SimpleRemoteOutputStream; + +import fr.cemagref.simexplorer.is.entities.data.Code; +import fr.cemagref.simexplorer.is.entities.data.Component; +import fr.cemagref.simexplorer.is.entities.data.Constant; +import fr.cemagref.simexplorer.is.entities.data.ConstantValue; +import fr.cemagref.simexplorer.is.entities.data.ExplorationApplication; +import fr.cemagref.simexplorer.is.entities.data.ExplorationData; +import fr.cemagref.simexplorer.is.entities.data.Library; +import fr.cemagref.simexplorer.is.entities.data.LoggableElement; +import fr.cemagref.simexplorer.is.entities.data.Result; +import fr.cemagref.simexplorer.is.entities.data.Structure; +import fr.cemagref.simexplorer.is.entities.metadata.MetaDataEntity; +import fr.cemagref.simexplorer.is.ui.web.services.StorageServiceFactory; +import fr.cemagref.simexplorer.is.ui.web.tools.XMLAttachment; + +public class ElementDetail { + + @Inject + private ComponentResources resources; + + @Persist + private LoggableElement element; + + public void setup(String uuid, String version) throws Exception { + element = StorageServiceFactory.getService().getElement(uuid, version); + } + + public List<String> getHeaders() { + List<String> result = new ArrayList<String>(); + result.add(""); + result.add(""); + result.add(""); + result.add(""); + return result; + } + + public List<TreeNode> getNodes() { + List<TreeNode> nodes = new ArrayList<TreeNode>(); + nodes.add(generateElement()); + return nodes; + } + + public Object exportElement(String uuid, String version) throws Exception { + StreamResponse response = null; + + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + RemoteOutputStreamServer xmlRemoteOutputStream = new SimpleRemoteOutputStream( + bos); + StorageServiceFactory.getService().exportElement( + xmlRemoteOutputStream.export(), uuid, version); + + MetaDataEntity mde = StorageServiceFactory.getService().getMetadata( + uuid, version); + ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray()); + response = new XMLAttachment(bis, mde.getType() + "." + mde.getUuid() + + ".v" + mde.getVersion()); + + return response; + } + + public Object onExportElement(String context) throws Exception { + StringTokenizer st = new StringTokenizer(context, ","); + String uuid = st.nextToken(); + String version = st.nextToken(); + return exportElement(uuid, version); + } + + private String[] generateStringArray(String s1, String s2, String s3) { + List<String> result = new ArrayList<String>(); + result.add(s1); + result.add(s2); + result.add(s3); + result.add(""); + return result.toArray(new String[0]); + } + + private String[] generateStringArray(String s1, String s2, String s3, + String actionCaption, String action, Object context) { + List<String> result = new ArrayList<String>(); + result.add(s1); + result.add(s2); + result.add(s3); + Link link = resources.createActionLink(action, false, context); + StringBuffer sb = new StringBuffer(""); + sb.append("<a href=\""); + sb.append(link.toString()); + sb.append("\">"); + sb.append(actionCaption); + sb.append("</a>"); + result.add(sb.toString()); + return result.toArray(new String[0]); + } + + private TreeNode generateElement() { + TreeNode node = null; + if (element instanceof ExplorationApplication) { + node = generateExplorationApplication(); + } + if (element instanceof ExplorationData) { + node = generateExplorationData((ExplorationData) element); + } + if (element instanceof Component) { + node = generateComponent((Component) element); + } + + return node; + } + + private TreeNode generateExplorationApplication() { + TreeNode node; + node = new TreeNode(); + + node.setType(TreeNode.TYPE_FOLDER); + + node.setColumns(generateStringArray("Application exploration", element + .getMetaData().getDescription(), element.getMetaData() + .getVersion().toString(), "Export", "exportElement", element + .getMetaData().getUuid() + + "," + element.getMetaData().getVersion())); + + TreeNode[] children = new TreeNode[2]; + children[0] = new TreeNode(); + children[0].setType(TreeNode.TYPE_FOLDER); + children[0].setColumns(generateStringArray("Components", "", "")); + children[0] + .setChildren(generateComponents((ExplorationApplication) element)); + + children[1] = new TreeNode(); + children[1].setType(TreeNode.TYPE_FOLDER); + children[1].setColumns(generateStringArray("Explorations", "", "")); + children[1] + .setChildren(generateExplorations((ExplorationApplication) element)); + + node.setChildren(children); + return node; + } + + private TreeNode[] generateExplorations( + ExplorationApplication explorationApplication) { + TreeNode[] res = new TreeNode[explorationApplication.getExplorations() + .size()]; + int i = 0; + for (ExplorationData explorationData : explorationApplication + .getExplorations()) { + res[i] = generateExplorationData(explorationData); + i++; + } + return res; + } + + private TreeNode generateExplorationData(ExplorationData explorationData) { + TreeNode explorationDataNode = new TreeNode(); + explorationDataNode.setType(TreeNode.TYPE_FOLDER); + explorationDataNode.setColumns(generateStringArray("Exploration data", + explorationData.getMetaData().getDescription(), explorationData + .getMetaData().getVersion().toString(), "Export", + "exportElement", explorationData.getMetaData().getUuid() + "," + + explorationData.getMetaData().getVersion())); + TreeNode[] children = new TreeNode[2]; + children[0] = generateResult(explorationData.getResult()); + children[1] = new TreeNode(); + children[1].setType(TreeNode.TYPE_FOLDER); + children[1].setColumns(generateStringArray("Values", "", "")); + children[1].setChildren(generateValues(explorationData)); + explorationDataNode.setChildren(children); + return explorationDataNode; + } + + private TreeNode[] generateValues(ExplorationData explorationData) { + Set<ConstantValue> values = explorationData.getValuesMap(); + TreeNode[] res = new TreeNode[values.size()]; + int i = 0; + for (ConstantValue value : values) { + res[i] = new TreeNode(); + res[i].setType(TreeNode.TYPE_DOCUMENT); + res[i].setColumns(generateStringArray( + value.getConstant().getName(), value.getValue(), value + .getConstant().getType().getSimpleName())); + i++; + } + + return res; + } + + private TreeNode generateResult(Result result) { + TreeNode res = new TreeNode(); + res.setType(TreeNode.TYPE_DOCUMENT); + res.setColumns(generateStringArray("Result", "", "")); + return res; + } + + private TreeNode[] generateComponents( + ExplorationApplication explorationApplication) { + Set<Component> components = explorationApplication.getComponents(); + TreeNode[] res = new TreeNode[components.size()]; + + int i = 0; + for (Component component : components) { + res[i] = generateComponent(component); + i++; + } + + return res; + } + + private TreeNode generateComponent(Component component) { + TreeNode componentNode = new TreeNode(); + componentNode.setType(TreeNode.TYPE_FOLDER); + componentNode.setColumns(generateStringArray("Component", component + .getMetaData().getDescription(), component.getMetaData() + .getVersion().toString(), "Export", "exportElement", component + .getMetaData().getUuid() + + "," + component.getMetaData().getVersion())); + TreeNode[] children = new TreeNode[4]; + for (int j = 0; j < children.length; j++) { + children[j] = new TreeNode(); + children[j].setType(TreeNode.TYPE_FOLDER); + } + children[0].setColumns(generateStringArray("Constants", "", "")); + children[0].setChildren(generateConstants(component.getConstants())); + children[1].setColumns(generateStringArray("Structures", "", "")); + children[1].setChildren(generateStructures(component.getStructures())); + children[2].setColumns(generateStringArray("Codes", "", "")); + children[2].setChildren(generateCodes(component.getCodes())); + children[3].setColumns(generateStringArray("Libraries", "", "")); + children[3].setChildren(generateLibraries(component.getLibraries())); + componentNode.setChildren(children); + return componentNode; + } + + private TreeNode[] generateLibraries(Set<Library> libraries) { + TreeNode[] res = new TreeNode[libraries.size()]; + int i = 0; + for (Library library : libraries) { + res[i] = new TreeNode(); + res[i].setType(TreeNode.TYPE_DOCUMENT); + res[i].setColumns(generateStringArray("Library", "", "")); + i++; + } + return res; + } + + private TreeNode[] generateCodes(Set<Code> codes) { + TreeNode[] res = new TreeNode[codes.size()]; + int i = 0; + for (Code code : codes) { + res[i] = new TreeNode(); + res[i].setType(TreeNode.TYPE_DOCUMENT); + res[i].setColumns(generateStringArray("Code", code.getLanguage(), + code.getCode())); + i++; + } + return res; + } + + private TreeNode[] generateStructures(Set<Structure> structures) { + TreeNode[] res = new TreeNode[structures.size()]; + int i = 0; + for (Structure structure : structures) { + res[i] = new TreeNode(); + res[i].setType(TreeNode.TYPE_DOCUMENT); + res[i].setColumns(generateStringArray("Structure", "", "")); + i++; + } + return res; + } + + private TreeNode[] generateConstants(Set<Constant> constants) { + TreeNode[] res = new TreeNode[constants.size()]; + int i = 0; + for (Constant constant : constants) { + res[i] = new TreeNode(); + res[i].setType(TreeNode.TYPE_DOCUMENT); + res[i].setColumns(generateStringArray("Constant", constant + .getName(), constant.getType().getSimpleName())); + i++; + } + return res; + } + +} Copied: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementList.java (from rev 106, trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationList.java) =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementList.java (rev 0) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementList.java 2008-01-10 16:00:01 UTC (rev 109) @@ -0,0 +1,111 @@ +package fr.cemagref.simexplorer.is.ui.web.pages; + +import java.util.ArrayList; +import java.util.List; +import java.util.StringTokenizer; + +import org.apache.tapestry.ComponentResources; +import org.apache.tapestry.annotations.InjectPage; +import org.apache.tapestry.annotations.Persist; +import org.apache.tapestry.annotations.Retain; +import org.apache.tapestry.beaneditor.BeanModel; +import org.apache.tapestry.ioc.annotations.Inject; +import org.apache.tapestry.services.BeanModelSource; + +import fr.cemagref.simexplorer.is.entities.metadata.MetaDataEntity; +import fr.cemagref.simexplorer.is.ui.web.grid.ElementDataSource; + +public class ElementList { + + @Retain + private BeanModel model; + + @Inject + private BeanModelSource beanModelSource; + + @Inject + private ComponentResources resources; + + @Persist + private ElementDataSource elementDataSource; + + private MetaDataEntity element; + + @InjectPage + private ElementDetail elementDetail; + + void pageLoaded() { + model = beanModelSource.create(MetaDataEntity.class, true, resources); + List<String> wantedProperties = new ArrayList<String>(); + wantedProperties.add("type"); + wantedProperties.add("uuid"); + wantedProperties.add("name"); + wantedProperties.add("description"); + wantedProperties.add("version"); + wantedProperties.add("creationDate"); + List<String> properties = model.getPropertyNames(); + for (String property : properties) { + if (!"creationDate".equals(property)) { + model.get(property).sortable(false); + } + if (!wantedProperties.contains(property)) { + model = model.remove(property); + } + } + elementDataSource = new ElementDataSource(); + } + + public BeanModel getModel() { + return model; + } + + public void searchQuery(String query) { + if (query == null || query.isEmpty()) { + elementDataSource = new ElementDataSource(); + } else { + elementDataSource = new ElementDataSource(query); + } + } + + public ElementDataSource getElements() { + if (elementDataSource == null) { + elementDataSource = new ElementDataSource(); + } + return elementDataSource; + } + + public MetaDataEntity getElement() { + return element; + } + + public void setElement(MetaDataEntity element) { + this.element = element; + } + + public String getDetailElementContext() { + String result = element.getUuid() + "," + element.getVersion(); + return result; + } + + public Object onActionFromDetailElement(String context) + throws Exception { + StringTokenizer st = new StringTokenizer(context, ","); + String uuid = st.nextToken(); + String version = st.nextToken(); + elementDetail.setup(uuid, version); + return elementDetail; + } + + public String getWindowTitle() { + String windowTitle = null; + if (elementDataSource.getQuery() != null + && !elementDataSource.getQuery().isEmpty()) { + windowTitle = String.format("Search results for \"%s\"", + elementDataSource.getQuery()); + } else { + windowTitle = "Application list"; + } + return windowTitle; + } + +} Modified: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/GroupEdit.java =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/GroupEdit.java 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/GroupEdit.java 2008-01-10 16:00:01 UTC (rev 109) @@ -1,18 +1,14 @@ package fr.cemagref.simexplorer.is.ui.web.pages; -import org.apache.tapestry.annotations.Component; import org.apache.tapestry.annotations.Persist; -import fr.cemagref.simexplorer.is.ui.web.components.Layout; +public class GroupEdit { -public class GroupEdit extends AbstractGroupEdit { - @Persist private int groupId; void onActivate(int groupId) { this.groupId = groupId; - this.onActivate(); } } Modified: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/GroupList.java =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/GroupList.java 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/GroupList.java 2008-01-10 16:00:01 UTC (rev 109) @@ -1,9 +1,6 @@ package fr.cemagref.simexplorer.is.ui.web.pages; -import org.apache.tapestry.annotations.Component; -import fr.cemagref.simexplorer.is.ui.web.components.Layout; +public class GroupList { -public class GroupList extends AbstractGroupList { - } Modified: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/UserEdit.java =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/UserEdit.java 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/UserEdit.java 2008-01-10 16:00:01 UTC (rev 109) @@ -1,18 +1,14 @@ package fr.cemagref.simexplorer.is.ui.web.pages; -import org.apache.tapestry.annotations.Component; import org.apache.tapestry.annotations.Persist; -import fr.cemagref.simexplorer.is.ui.web.components.Layout; +public class UserEdit { -public class UserEdit extends AbstractUserEdit { - @Persist private int userId; void onActivate(int userId) { this.userId = userId; - this.onActivate(); } } Modified: trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/UserList.java =================================================================== --- trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/UserList.java 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/java/fr/cemagref/simexplorer/is/ui/web/pages/UserList.java 2008-01-10 16:00:01 UTC (rev 109) @@ -1,9 +1,6 @@ package fr.cemagref.simexplorer.is.ui.web.pages; -import org.apache.tapestry.annotations.Component; -import fr.cemagref.simexplorer.is.ui.web.components.Layout; +public class UserList { -public class UserList extends AbstractUserList { - } Modified: trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/components/Layout.properties =================================================================== --- trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/components/Layout.properties 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/components/Layout.properties 2008-01-10 16:00:01 UTC (rev 109) @@ -20,3 +20,5 @@ abstractpage-administration=Administration abstractpage-copyright=Copyright © 2007. Code Lutin - GPL + +search=Search \ No newline at end of file Modified: trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/components/Layout.tml =================================================================== --- trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/components/Layout.tml 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/components/Layout.tml 2008-01-10 16:00:01 UTC (rev 109) @@ -32,7 +32,9 @@ <h2 class="Title">${message:abstractpage-menusubtitle1}</h2> <menu class="menu"> - <li><t:pagelink page="ApplicationList">${message:abstractpage-menuitem1-1}</t:pagelink></li> + <li> + <t:actionlink t:id="applicationList">${message:abstractpage-menuitem1-1}</t:actionlink> + </li> <li><t:pagelink page="ApplicationImport">${message:abstractpage-menuitem1-2}</t:pagelink></li> </menu> @@ -45,10 +47,24 @@ </menu --> </div> + + <!-- menu --> + <h1 class="tab">${message:search}</h1> + <div id="tabMenu"> + + <t:form> + <t:errors/> + <h2 class="Title"><t:label for="searchField"/>:</h2> + <input t:type="TextField" t:id="searchField" t:value="searchText" t:validate="required,minlength=3" size="30"/> + <input type="submit" value="${message:search}"/> + </t:form> + + </div> + </div> <div id="Content"> - <!-- main template here --> + <!-- main template here --> <t:body/> </div> Deleted: trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationDetail.properties =================================================================== --- trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationDetail.properties 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationDetail.properties 2008-01-10 16:00:01 UTC (rev 109) @@ -1 +0,0 @@ -windowtitle=Application detail \ No newline at end of file Deleted: trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationList.properties =================================================================== --- trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationList.properties 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationList.properties 2008-01-10 16:00:01 UTC (rev 109) @@ -1 +0,0 @@ -windowtitle=Application list \ No newline at end of file Copied: trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/pages/ElementDetail.properties (from rev 106, trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationDetail.properties) =================================================================== --- trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/pages/ElementDetail.properties (rev 0) +++ trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/pages/ElementDetail.properties 2008-01-10 16:00:01 UTC (rev 109) @@ -0,0 +1 @@ +windowtitle=Element detail \ No newline at end of file Copied: trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/pages/ElementList.properties (from rev 106, trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/pages/ApplicationList.properties) =================================================================== --- trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/pages/ElementList.properties (rev 0) +++ trunk/simexplorer-is-web/src/main/resources/fr/cemagref/simexplorer/is/ui/web/pages/ElementList.properties 2008-01-10 16:00:01 UTC (rev 109) @@ -0,0 +1 @@ +windowtitle=Application list \ No newline at end of file Deleted: trunk/simexplorer-is-web/src/main/webapp/ApplicationDetail.tml =================================================================== --- trunk/simexplorer-is-web/src/main/webapp/ApplicationDetail.tml 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/webapp/ApplicationDetail.tml 2008-01-10 16:00:01 UTC (rev 109) @@ -1,7 +0,0 @@ -<t:layout xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd" - title="message:windowtitle"> - - <table t:type="cl/TreeGrid" source="nodes" columnHeaders="headers"> - </table> - -</t:layout> Deleted: trunk/simexplorer-is-web/src/main/webapp/ApplicationList.tml =================================================================== --- trunk/simexplorer-is-web/src/main/webapp/ApplicationList.tml 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/webapp/ApplicationList.tml 2008-01-10 16:00:01 UTC (rev 109) @@ -1,10 +0,0 @@ -<t:layout xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd" - title="message:windowtitle"> - - <table t:type="Grid" source="applications" row="application" model="model"> - <t:parameter name="uuidCell"> - <t:actionlink t:id="detailApplication" context="${detailApplicationContext}">Details</t:actionlink> - </t:parameter> - </table> - -</t:layout> Copied: trunk/simexplorer-is-web/src/main/webapp/ElementDetail.tml (from rev 106, trunk/simexplorer-is-web/src/main/webapp/ApplicationDetail.tml) =================================================================== --- trunk/simexplorer-is-web/src/main/webapp/ElementDetail.tml (rev 0) +++ trunk/simexplorer-is-web/src/main/webapp/ElementDetail.tml 2008-01-10 16:00:01 UTC (rev 109) @@ -0,0 +1,7 @@ +<t:layout xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd" + title="message:windowtitle"> + + <table t:type="cl/TreeGrid" source="nodes" columnHeaders="headers"> + </table> + +</t:layout> Copied: trunk/simexplorer-is-web/src/main/webapp/ElementList.tml (from rev 106, trunk/simexplorer-is-web/src/main/webapp/ApplicationList.tml) =================================================================== --- trunk/simexplorer-is-web/src/main/webapp/ElementList.tml (rev 0) +++ trunk/simexplorer-is-web/src/main/webapp/ElementList.tml 2008-01-10 16:00:01 UTC (rev 109) @@ -0,0 +1,12 @@ +<t:layout xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd" + title="${windowtitle}"> + + <h1 class="Title">${windowtitle}</h1> + + <table t:type="Grid" source="elements" row="element" model="model"> + <t:parameter name="uuidCell"> + <t:actionlink t:id="detailElement" context="${detailElementContext}">Details</t:actionlink> + </t:parameter> + </table> + +</t:layout> Modified: trunk/simexplorer-is-web/src/main/webapp/index.html =================================================================== --- trunk/simexplorer-is-web/src/main/webapp/index.html 2008-01-10 15:59:16 UTC (rev 108) +++ trunk/simexplorer-is-web/src/main/webapp/index.html 2008-01-10 16:00:01 UTC (rev 109) @@ -4,7 +4,7 @@ <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"/> <meta http-equiv="refresh" - content="0; url=applicationlist"/> + content="0; url=elementlist"/> <title></title> <meta name="robots" content="noindex,follow"/> </head>
participants (1)
-
glandais@users.labs.libre-entreprise.org