Author: glandais Date: 2008-01-30 11:11:08 +0000 (Wed, 30 Jan 2008) New Revision: 559 Added: trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/Install.java trunk/simexplorer-is-web/src/main/webapp/Install.tml 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/ElementExport.java trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/security/ProtectedPage.java trunk/simexplorer-is-web/src/main/webapp/WEB-INF/app.properties Log: Install page 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-30 10:44:10 UTC (rev 558) +++ trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementDetail.java 2008-01-30 11:11:08 UTC (rev 559) @@ -87,6 +87,9 @@ if (getElement() instanceof Component) { node = generateComponent((Component) getElement()); } + if (getElement() instanceof Library) { + node = generateLibrary((Library) getElement()); + } return node; } @@ -257,19 +260,24 @@ List<TreeNode> res = new ArrayList<TreeNode>(); int i = 0; for (Library library : libraries) { - TreeNode node = new TreeNode(); - node.setType(TreeNode.TYPE_DOCUMENT); + TreeNode node = generateLibrary(library); - node.setColumns(generateStringArray("Library", library - .getMetaData().getName(), library.getMetaData() - .getVersion().toString(), component.getMetaData(), false, - "export")); - res.add(node); } return res; } + private TreeNode generateLibrary(Library library) { + TreeNode node = new TreeNode(); + node.setType(TreeNode.TYPE_DOCUMENT); + + node.setColumns(generateStringArray("Library", library + .getMetaData().getName(), library.getMetaData() + .getVersion().toString(), library.getMetaData(), false, + "export")); + return node; + } + private List<TreeNode> generateCodes(Set<Code> codes) { List<TreeNode> res = new ArrayList<TreeNode>(); int i = 0; Modified: trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementExport.java =================================================================== --- trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementExport.java 2008-01-30 10:44:10 UTC (rev 558) +++ trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/ElementExport.java 2008-01-30 11:11:08 UTC (rev 559) @@ -130,6 +130,9 @@ if (getElement() instanceof Component) { node = generateComponent((Component) getElement()); } + if (getElement() instanceof Library) { + node = generateLibrary((Library) getElement()); + } return node; } @@ -232,25 +235,29 @@ List<TreeNode> res = new ArrayList<TreeNode>(); int i = 0; for (Library library : libraries) { - TreeNode node = new TreeNode(); - node.setType(TreeNode.TYPE_FOLDER); - - Map<String, ContentType> attachments = library.getMetaData() - .getAttachments(); - List<TreeNode> children = new ArrayList<TreeNode>(); - for (Map.Entry<String, ContentType> kv : attachments.entrySet()) { - children.add(generateDownload(library, kv)); - } - node.setChildren(children); - - node.setColumns(generateStringArray("Library", library - .getMetaData().getName())); - + TreeNode node = generateLibrary(library); res.add(node); } return res; } + private TreeNode generateLibrary(Library library) { + TreeNode node = new TreeNode(); + node.setType(TreeNode.TYPE_FOLDER); + + Map<String, ContentType> attachments = library.getMetaData() + .getAttachments(); + List<TreeNode> children = new ArrayList<TreeNode>(); + for (Map.Entry<String, ContentType> kv : attachments.entrySet()) { + children.add(generateDownload(library, kv)); + } + node.setChildren(children); + + node.setColumns(generateStringArray("Library", library + .getMetaData().getName())); + return node; + } + private TreeNode generateDownload(LoggableElement explorationData, Entry<String, ContentType> kv) { TreeNode node = new TreeNode(); Added: trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/Install.java =================================================================== --- trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/Install.java (rev 0) +++ trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/Install.java 2008-01-30 11:11:08 UTC (rev 559) @@ -0,0 +1,127 @@ +/* +* ##% 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.io.InputStream; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; +import java.util.Random; +import java.util.Set; + +import org.apache.tapestry.annotations.InjectPage; + +import com.healthmarketscience.rmiio.RemoteInputStream; +import com.healthmarketscience.rmiio.RemoteInputStreamServer; +import com.healthmarketscience.rmiio.SimpleRemoteInputStream; + +import fr.cemagref.simexplorer.is.contenttype.ContentType; +import fr.cemagref.simexplorer.is.entities.data.Component; +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.factories.BaseEntityFactory; +import fr.cemagref.simexplorer.is.factories.XmlConstants; +import fr.cemagref.simexplorer.is.service.ElementGenerator; +import fr.cemagref.simexplorer.is.ui.web.SimExplorerWebException; +import fr.cemagref.simexplorer.is.ui.web.pages.security.SuperAdminPage; +import fr.cemagref.simexplorer.is.ui.web.services.RemoteStorageService; + +public class Install extends SuperAdminPage { + + @InjectPage + private ElementList elementList; + + @Override + public String getWindowTitle() { + return ""; + } + + public Object onActionFromGenerateData() { + + ElementGenerator elementGenerator = new ElementGenerator(); + Random r = new Random(); + + int c = 20; + + try { + + for (int i = 0; i < c; i++) { + ExplorationApplication parentEa = null; + parentEa = elementGenerator.generateRandomEA(); + + int v = 2 + r.nextInt(5); + + for (int j = 0; j < v; j++) { + ExplorationApplication ea = elementGenerator + .generateRandomEA(); + ea.getMetaData().setUuid(parentEa.getMetaData().getUuid()); + ea.getMetaData().setVersion( + parentEa.getMetaData().getVersion().toString()); + + ea.getMetaData().getVersion().incVersion(r.nextInt(3)); + + InputStream xmlStream = BaseEntityFactory.getFactory( + ExplorationApplication.class).saveElement( + XmlConstants.VALUE_METADATA_TYPE_EA, ea); + + Map<String, RemoteInputStream> attachments = new HashMap<String, RemoteInputStream>(); + + Map<String, ContentType> attachmentsKeys = new HashMap<String, ContentType>(); + + attachmentsKeys.putAll(ea.getMetaData().getAttachments()); + Set<Component> components = ea.getComponents(); + for (Component component : components) { + attachmentsKeys.putAll(component.getMetaData() + .getAttachments()); + Set<Library> libraries = component.getLibraries(); + for (Library library : libraries) { + attachmentsKeys.putAll(library.getMetaData() + .getAttachments()); + } + } + Set<ExplorationData> explorations = ea.getExplorations(); + for (ExplorationData explorationData : explorations) { + attachmentsKeys.putAll(explorationData.getMetaData() + .getAttachments()); + } + + for (Map.Entry<String, ContentType> kv : attachmentsKeys + .entrySet()) { + InputStream stream = elementGenerator + .generateTextStream(); + RemoteInputStreamServer remoteStream = new SimpleRemoteInputStream( + stream); + attachments.put(kv.getKey(), remoteStream.export()); + } + + RemoteInputStreamServer xmlRemoteStream = new SimpleRemoteInputStream( + xmlStream); + RemoteStorageService.getStorageService().saveElement( + getToken(), xmlRemoteStream.export(), attachments); + } + + } + } catch (Exception e) { + throw new SimExplorerWebException(e); + } + + return elementList; + } + +} Modified: trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/security/ProtectedPage.java =================================================================== --- trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/security/ProtectedPage.java 2008-01-30 10:44:10 UTC (rev 558) +++ trunk/simexplorer-is-web/src/java/fr/cemagref/simexplorer/is/ui/web/pages/security/ProtectedPage.java 2008-01-30 11:11:08 UTC (rev 559) @@ -46,6 +46,8 @@ getUserRights(); if (!userLogged) return "Login"; + if (!hasAccessToPage()) + throw new SimExplorerWebException("simexplorer.security.norights"); return null; } Added: trunk/simexplorer-is-web/src/main/webapp/Install.tml =================================================================== --- trunk/simexplorer-is-web/src/main/webapp/Install.tml (rev 0) +++ trunk/simexplorer-is-web/src/main/webapp/Install.tml 2008-01-30 11:11:08 UTC (rev 559) @@ -0,0 +1,6 @@ +<t:layout xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd" + title="${windowtitle}"> + + <t:actionlink t:id="generatedata">${message:generatedata}</t:actionlink> + +</t:layout> Modified: trunk/simexplorer-is-web/src/main/webapp/WEB-INF/app.properties =================================================================== --- trunk/simexplorer-is-web/src/main/webapp/WEB-INF/app.properties 2008-01-30 10:44:10 UTC (rev 558) +++ trunk/simexplorer-is-web/src/main/webapp/WEB-INF/app.properties 2008-01-30 11:11:08 UTC (rev 559) @@ -1,3 +1,6 @@ +layout-install=Generate data +generatedata=Generate data + explorationapplication=Exploration application library=Library
participants (1)
-
glandais@users.labs.libre-entreprise.org