From glandais@users.labs.libre-entreprise.org Mon Jun 15 08:43:46 2026 From: glandais@users.labs.libre-entreprise.org To: simexplorer-si-commits@list.forge.codelutin.com Subject: [Simexplorer-si-commits] r545 - trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages Date: Fri, 25 Jan 2008 17:16:46 +0100 Message-ID: <20080125161646.D2BEC461AFA@labs.libre-entreprise.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5142182638032040685==" --===============5142182638032040685== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- 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; =20 -public class ElementDetail extends ElementPage { +public class ElementDetail extends ElementPageDetail { =20 - @Inject - private ComponentResources resources; - - @InjectPage - private ElementExport elementExport; - - @InjectPage - private ElementHistory elementHistory; - - @InjectPage - private ElementDelete elementDelete; - - @InjectPage - private ElementRights elementRights; - public String getWindowTitle() { return ""; } - =20 + /** * Headers of tree grid *=20 @@ -88,38 +73,6 @@ return nodes; } =20 - public Object onExport(String context) { - StringTokenizer st =3D new StringTokenizer(context, ","); - String uuid =3D st.nextToken(); - String version =3D st.nextToken(); - elementExport.setup(uuid, version); - return elementExport; - } - - public Object onHistory(String context) { - StringTokenizer st =3D new StringTokenizer(context, ","); - String uuid =3D st.nextToken(); - String version =3D st.nextToken(); - elementHistory.setup(uuid, version); - return elementHistory; - } - - public Object onDelete(String context) { - StringTokenizer st =3D new StringTokenizer(context, ","); - String uuid =3D st.nextToken(); - String version =3D st.nextToken(); - elementDelete.setup(uuid, version); - return elementDelete; - } - - public Object onRights(String context) { - StringTokenizer st =3D new StringTokenizer(context, ","); - String uuid =3D st.nextToken(); - String version =3D st.nextToken(); - elementRights.setup(uuid, version); - return elementRights; - } - private Object downloadElement(String uuid, String version) { StreamResponse response; =20 @@ -160,55 +113,6 @@ return node; } =20 - private String generateString(String actionCaption, String action, - LoggableElement element) { - String context =3D element.getMetaData().getUuid() + "," - + element.getMetaData().getVersion(); - Link link =3D resources.createActionLink(action, false, context); - StringBuffer sb =3D new StringBuffer(""); - sb.append(""); - sb.append(actionCaption); - sb.append(""); - return sb.toString(); - } - - private String generateActions(LoggableElement element, StringBuilder sb, - String... actions) { - String res; - for (String anAction : actions) { - sb.append("
"); - sb.append(generateString(anAction, anAction, element)); - } - sb.append("
"); - // TODO add security - sb.append(generateString("rights", "rights", element)); - - res =3D sb.substring(4); - return res; - } - - private String[] generateStringArray(String s1, String s2, String s3, - LoggableElement element, String... actions) { - List result =3D new ArrayList(); - result.add(s1); - result.add(s2); - result.add(s3); - String s4 =3D ""; - StringBuilder sb =3D new StringBuilder(""); - if (element !=3D null) { - s4 =3D 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 =3D new StringBuilder(); sb.append(""); @@ -225,8 +129,8 @@ =20 node.setColumns(generateStringArray("Application exploration", getElement().getMetaData().getName(), getElement() - .getMetaData().getVersion().toString(), getElement(), - "export", "history", "delete")); + .getMetaData().getVersion().toString(), getElement() + .getMetaData(), "export", "history", "delete")); =20 List children =3D new ArrayList(); TreeNode node1 =3D new TreeNode(); @@ -265,8 +169,8 @@ =20 explorationDataNode.setColumns(generateStringArray("Exploration data= ", explorationData.getMetaData().getName(), explorationData - .getMetaData().getVersion().toString(), - explorationData, "history", "delete")); + .getMetaData().getVersion().toString(), explorationD= ata + .getMetaData(), "history", "delete")); =20 List children =3D new ArrayList(); =20 @@ -302,8 +206,8 @@ TreeNode res =3D new TreeNode(); res.setType(TreeNode.TYPE_DOCUMENT); =20 - res.setColumns(generateStringArray("Result", "", "", explorationData, - "download")); + res.setColumns(generateStringArray("Result", "", "", explorationData + .getMetaData(), "download")); return res; } =20 @@ -331,7 +235,7 @@ =20 componentNode.setColumns(generateStringArray("Component", component .getMetaData().getName(), component.getMetaData().getVersion= () - .toString(), component, "history", "delete")); + .toString(), component.getMetaData(), "history", "delete")); =20 List children =3D new ArrayList(); =20 @@ -374,9 +278,11 @@ TreeNode node =3D new TreeNode(); node.setType(TreeNode.TYPE_DOCUMENT); =20 - 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")); =20 res.add(node); } Modified: trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web= /pages/ElementHistory.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- 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; =20 +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; =20 +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; =20 -public class ElementHistory extends ElementPage { +public class ElementHistory extends ElementPageDetail { =20 public class MetadataVersionComparator implements Comparator { @@ -44,6 +48,9 @@ @Persist private MetaDataEntity[] versions; =20 + @Inject + private ComponentResources resources; + @Override public void setup(String uuid, String version) { super.setup(uuid, version); @@ -58,7 +65,7 @@ public String getWindowTitle() { return ""; } - =20 + /** * Headers of tree grid *=20 @@ -134,7 +141,8 @@ TreeNode node =3D 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(); } =20 - private String[] generateStringArray(String... s) { - return s; - } - } Added: trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pa= ges/ElementPageDetail.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- 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 @@ +/*=20 +* ##% 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 =3D new StringTokenizer(context, ","); + String uuid =3D st.nextToken(); + String version =3D st.nextToken(); + elementExport.setup(uuid, version); + return elementExport; + } + + public Object onHistory(String context) { + StringTokenizer st =3D new StringTokenizer(context, ","); + String uuid =3D st.nextToken(); + String version =3D st.nextToken(); + elementHistory.setup(uuid, version); + return elementHistory; + } + + public Object onDelete(String context) { + StringTokenizer st =3D new StringTokenizer(context, ","); + String uuid =3D st.nextToken(); + String version =3D st.nextToken(); + elementDelete.setup(uuid, version); + return elementDelete; + } + + public Object onRights(String context) { + StringTokenizer st =3D new StringTokenizer(context, ","); + String uuid =3D st.nextToken(); + String version =3D st.nextToken(); + elementRights.setup(uuid, version); + return elementRights; + } + + public Object onDetails(String context) { + StringTokenizer st =3D new StringTokenizer(context, ","); + String uuid =3D st.nextToken(); + String version =3D st.nextToken(); + elementDetail.setup(uuid, version); + return elementDetail; + } + + private String generateString(String actionCaption, String action, + MetaDataEntity element) { + String context =3D element.getUuid() + "," + element.getVersion(); + Link link =3D resources.createActionLink(action, false, context); + StringBuffer sb =3D new StringBuffer(""); + sb.append(""); + sb.append(actionCaption); + sb.append(""); + return sb.toString(); + } + + private String generateActions(MetaDataEntity element, String... actions= ) { + StringBuilder sb =3D new StringBuilder(""); + + String res; + for (String anAction : actions) { + sb.append("
"); + sb.append(generateString(anAction, anAction, element)); + } + sb.append("
"); + // TODO add security + sb.append(generateString("rights", "rights", element)); + + res =3D sb.substring(4); + return res; + } + + protected String[] generateStringArray(String s1, String s2, String s3, + MetaDataEntity element, String... actions) { + List result =3D new ArrayList(); + result.add(s1); + result.add(s2); + result.add(s3); + String s4 =3D ""; + if (element !=3D null) { + s4 =3D generateActions(element, actions); + } + result.add(s4); + + return result.toArray(new String[result.size()]); + } + + protected String[] generateStringArray(String... s) { + return s; + } + +} --===============5142182638032040685==--