r545 - trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages
Author: glandais Date: 2008-01-25 16:16:46 +0000 (Fri, 25 Jan 2008) New Revision: 545 Added: trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementPageDetail.java Modified: trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementDetail.java trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementHistory.java Log: Share common links of detail and history Modified: trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementDetail.java =================================================================== --- trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementDetail.java 2008-01-25 16:16:18 UTC (rev 544) +++ trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementDetail.java 2008-01-25 16:16:46 UTC (rev 545) @@ -47,27 +47,12 @@ import fr.cemagref.simexplorer.is.ui.web.services.RemoteStorageService; import fr.cemagref.simexplorer.is.ui.web.tools.AttachmentStreamResponse; -public class ElementDetail extends ElementPage { +public class ElementDetail extends ElementPageDetail { - @Inject - private ComponentResources resources; - - @InjectPage - private ElementExport elementExport; - - @InjectPage - private ElementHistory elementHistory; - - @InjectPage - private ElementDelete elementDelete; - - @InjectPage - private ElementRights elementRights; - public String getWindowTitle() { return ""; } - + /** * Headers of tree grid * @@ -88,38 +73,6 @@ return nodes; } - public Object onExport(String context) { - StringTokenizer st = new StringTokenizer(context, ","); - String uuid = st.nextToken(); - String version = st.nextToken(); - elementExport.setup(uuid, version); - return elementExport; - } - - public Object onHistory(String context) { - StringTokenizer st = new StringTokenizer(context, ","); - String uuid = st.nextToken(); - String version = st.nextToken(); - elementHistory.setup(uuid, version); - return elementHistory; - } - - public Object onDelete(String context) { - StringTokenizer st = new StringTokenizer(context, ","); - String uuid = st.nextToken(); - String version = st.nextToken(); - elementDelete.setup(uuid, version); - return elementDelete; - } - - public Object onRights(String context) { - StringTokenizer st = new StringTokenizer(context, ","); - String uuid = st.nextToken(); - String version = st.nextToken(); - elementRights.setup(uuid, version); - return elementRights; - } - private Object downloadElement(String uuid, String version) { StreamResponse response; @@ -160,55 +113,6 @@ return node; } - private String generateString(String actionCaption, String action, - LoggableElement element) { - String context = element.getMetaData().getUuid() + "," - + element.getMetaData().getVersion(); - 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>"); - return sb.toString(); - } - - private String generateActions(LoggableElement element, StringBuilder sb, - String... actions) { - String res; - for (String anAction : actions) { - sb.append("<br>"); - sb.append(generateString(anAction, anAction, element)); - } - sb.append("<br>"); - // TODO add security - sb.append(generateString("rights", "rights", element)); - - res = sb.substring(4); - return res; - } - - private String[] generateStringArray(String s1, String s2, String s3, - LoggableElement element, String... actions) { - List<String> result = new ArrayList<String>(); - result.add(s1); - result.add(s2); - result.add(s3); - String s4 = ""; - StringBuilder sb = new StringBuilder(""); - if (element != null) { - s4 = generateActions(element, sb, actions); - } - result.add(s4); - - return result.toArray(new String[result.size()]); - } - - private String[] generateStringArray(String s1, String s2, String s3) { - return generateStringArray(s1, s2, s3, null); - } - private String generateHeader(String caption) { StringBuilder sb = new StringBuilder(); sb.append("<b>"); @@ -225,8 +129,8 @@ node.setColumns(generateStringArray("Application exploration", getElement().getMetaData().getName(), getElement() - .getMetaData().getVersion().toString(), getElement(), - "export", "history", "delete")); + .getMetaData().getVersion().toString(), getElement() + .getMetaData(), "export", "history", "delete")); List<TreeNode> children = new ArrayList<TreeNode>(); TreeNode node1 = new TreeNode(); @@ -265,8 +169,8 @@ explorationDataNode.setColumns(generateStringArray("Exploration data", explorationData.getMetaData().getName(), explorationData - .getMetaData().getVersion().toString(), - explorationData, "history", "delete")); + .getMetaData().getVersion().toString(), explorationData + .getMetaData(), "history", "delete")); List<TreeNode> children = new ArrayList<TreeNode>(); @@ -302,8 +206,8 @@ TreeNode res = new TreeNode(); res.setType(TreeNode.TYPE_DOCUMENT); - res.setColumns(generateStringArray("Result", "", "", explorationData, - "download")); + res.setColumns(generateStringArray("Result", "", "", explorationData + .getMetaData(), "download")); return res; } @@ -331,7 +235,7 @@ componentNode.setColumns(generateStringArray("Component", component .getMetaData().getName(), component.getMetaData().getVersion() - .toString(), component, "history", "delete")); + .toString(), component.getMetaData(), "history", "delete")); List<TreeNode> children = new ArrayList<TreeNode>(); @@ -374,9 +278,11 @@ TreeNode node = new TreeNode(); node.setType(TreeNode.TYPE_DOCUMENT); - node.setColumns(generateStringArray("Library", library - .getMetaData().getName(), library.getMetaData() - .getVersion().toString(), library, "download")); + node + .setColumns(generateStringArray("Library", library + .getMetaData().getName(), library.getMetaData() + .getVersion().toString(), library.getMetaData(), + "download")); res.add(node); } Modified: trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementHistory.java =================================================================== --- trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementHistory.java 2008-01-25 16:16:18 UTC (rev 544) +++ trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementHistory.java 2008-01-25 16:16:46 UTC (rev 545) @@ -22,15 +22,19 @@ import java.util.Comparator; import java.util.List; +import org.apache.tapestry.ComponentResources; +import org.apache.tapestry.Link; import org.apache.tapestry.annotations.Persist; +import org.apache.tapestry.ioc.annotations.Inject; import org.codelutin.tapestry.beans.TreeNode; +import fr.cemagref.simexplorer.is.entities.data.LoggableElement; import fr.cemagref.simexplorer.is.entities.metadata.MetaDataEntity; import fr.cemagref.simexplorer.is.entities.metadata.Version; import fr.cemagref.simexplorer.is.ui.web.SimExplorerWebException; import fr.cemagref.simexplorer.is.ui.web.services.RemoteStorageService; -public class ElementHistory extends ElementPage { +public class ElementHistory extends ElementPageDetail { public class MetadataVersionComparator implements Comparator<MetaDataEntity> { @@ -44,6 +48,9 @@ @Persist private MetaDataEntity[] versions; + @Inject + private ComponentResources resources; + @Override public void setup(String uuid, String version) { super.setup(uuid, version); @@ -58,7 +65,7 @@ public String getWindowTitle() { return ""; } - + /** * Headers of tree grid * @@ -134,7 +141,8 @@ TreeNode node = new TreeNode(); // FIXME date tostring node.setColumns(generateStringArray(mde.getVersion().toString(), mde - .getDescription(), mde.getCreationDate().toString())); + .getDescription(), mde.getCreationDate().toString(), mde, + "export", "delete", "details")); node.setObject(mde.getVersion()); node.setType(TreeNode.TYPE_DOCUMENT); return node; @@ -144,8 +152,4 @@ return (Version) treeNode.getObject(); } - private String[] generateStringArray(String... s) { - return s; - } - } Added: trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementPageDetail.java =================================================================== --- trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementPageDetail.java (rev 0) +++ trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementPageDetail.java 2008-01-25 16:16:46 UTC (rev 545) @@ -0,0 +1,140 @@ +/* +* ##% Copyright (C) 2008 Code Lutin, Gabriel Landais +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License +* as published by the Free Software Foundation; either version 2 +* of the License, or (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +* ##% */ +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.Link; +import org.apache.tapestry.annotations.InjectPage; +import org.apache.tapestry.ioc.annotations.Inject; + +import fr.cemagref.simexplorer.is.entities.data.LoggableElement; +import fr.cemagref.simexplorer.is.entities.metadata.MetaDataEntity; + +public abstract class ElementPageDetail extends ElementPage { + + @Inject + private ComponentResources resources; + + @InjectPage + private ElementExport elementExport; + + @InjectPage + private ElementHistory elementHistory; + + @InjectPage + private ElementDelete elementDelete; + + @InjectPage + private ElementRights elementRights; + + @InjectPage + private ElementDetail elementDetail; + + public Object onExport(String context) { + StringTokenizer st = new StringTokenizer(context, ","); + String uuid = st.nextToken(); + String version = st.nextToken(); + elementExport.setup(uuid, version); + return elementExport; + } + + public Object onHistory(String context) { + StringTokenizer st = new StringTokenizer(context, ","); + String uuid = st.nextToken(); + String version = st.nextToken(); + elementHistory.setup(uuid, version); + return elementHistory; + } + + public Object onDelete(String context) { + StringTokenizer st = new StringTokenizer(context, ","); + String uuid = st.nextToken(); + String version = st.nextToken(); + elementDelete.setup(uuid, version); + return elementDelete; + } + + public Object onRights(String context) { + StringTokenizer st = new StringTokenizer(context, ","); + String uuid = st.nextToken(); + String version = st.nextToken(); + elementRights.setup(uuid, version); + return elementRights; + } + + public Object onDetails(String context) { + StringTokenizer st = new StringTokenizer(context, ","); + String uuid = st.nextToken(); + String version = st.nextToken(); + elementDetail.setup(uuid, version); + return elementDetail; + } + + private String generateString(String actionCaption, String action, + MetaDataEntity element) { + String context = element.getUuid() + "," + element.getVersion(); + 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>"); + return sb.toString(); + } + + private String generateActions(MetaDataEntity element, String... actions) { + StringBuilder sb = new StringBuilder(""); + + String res; + for (String anAction : actions) { + sb.append("<br>"); + sb.append(generateString(anAction, anAction, element)); + } + sb.append("<br>"); + // TODO add security + sb.append(generateString("rights", "rights", element)); + + res = sb.substring(4); + return res; + } + + protected String[] generateStringArray(String s1, String s2, String s3, + MetaDataEntity element, String... actions) { + List<String> result = new ArrayList<String>(); + result.add(s1); + result.add(s2); + result.add(s3); + String s4 = ""; + if (element != null) { + s4 = generateActions(element, actions); + } + result.add(s4); + + return result.toArray(new String[result.size()]); + } + + protected String[] generateStringArray(String... s) { + return s; + } + +}
participants (1)
-
glandais@users.labs.libre-entreprise.org