|
From: <de...@us...> - 2012-05-03 22:38:42
|
Revision: 7151
http://fudaa.svn.sourceforge.net/fudaa/?rev=7151&view=rev
Author: deniger
Date: 2012-05-03 22:38:34 +0000 (Thu, 03 May 2012)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/ccal/CRLogReader.java
trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/log/CtuluLogRecordNode.java
trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/log/LogIconProvider.java
trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/services/AbstractPerspectiveService.java
trunk/soft/fudaa-crue/ui-common/src/main/resources/org/fudaa/fudaa/crue/common/log/Bundle.properties
trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/PostReportsTopComponent.java
trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/action/PostCloseAction.java
trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/node/ReportNodesBuilder.java
trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/perspective/PerspectiveServicePost.java
trunk/soft/fudaa-crue/ui-post/src/main/resources/org/fudaa/fudaa/crue/post/Bundle.properties
trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/actions/OpenRunCourantNodeAction.java
trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/actions/OpenRunNodeAction.java
trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/actions/OpenScenarioAction.java
trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/node/ManagerEMHScenarioNode.java
trunk/soft/fudaa-crue/ui-study/src/main/resources/org/fudaa/fudaa/crue/study/actions/Bundle.properties
Added Paths:
-----------
trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/PostReportStdoutTopComponent.form
trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/PostReportStdoutTopComponent.java
trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/actions/UnloadScenarioAction.java
Removed Paths:
-------------
trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/node/PostManagerEMHNode.java
trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/node/PostReportAvcNode.java
trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/node/PostReportNode.java
Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/ccal/CRLogReader.java
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/ccal/CRLogReader.java 2012-05-03 21:58:17 UTC (rev 7150)
+++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/ccal/CRLogReader.java 2012-05-03 22:38:34 UTC (rev 7151)
@@ -18,6 +18,7 @@
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
+import org.apache.commons.lang.CharUtils;
import org.apache.commons.lang.StringUtils;
import org.fudaa.ctulu.CtuluLibFile;
import org.fudaa.ctulu.CtuluLog;
@@ -109,7 +110,12 @@
CtuluLogRecord record = new CtuluLogRecord(getLevel(levelDetail), msg, id);
record.setLevelDetail(levelDetail);
readLog.addRecord(record);
- LocalDateTime date = DateDurationConverter.getDate(split[COLUMN_DATE]);
+ String dateValue = split[COLUMN_DATE];
+ //dans le cas de la sortie standard, la ligne commence par E ou S ou @
+ if (StringUtils.isNotEmpty(dateValue) && (!CharUtils.isAsciiNumeric(dateValue.charAt(0)))) {
+ dateValue = dateValue.substring(1);
+ }
+ LocalDateTime date = DateDurationConverter.getDate(dateValue);
record.setLogDate(date.toDateTime().toDate());
List args = new ArrayList();
args.add(split[COLUMN_FIRST_ARG]);
Modified: trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/log/CtuluLogRecordNode.java
===================================================================
--- trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/log/CtuluLogRecordNode.java 2012-05-03 21:58:17 UTC (rev 7150)
+++ trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/log/CtuluLogRecordNode.java 2012-05-03 22:38:34 UTC (rev 7151)
@@ -23,7 +23,7 @@
*
* @author genesis
*/
-public class CtuluLogRecordNode extends AbstractNode implements CtuluLogRecordContainer {
+public final class CtuluLogRecordNode extends AbstractNode implements CtuluLogRecordContainer {
public CtuluLogRecordNode(CtuluLogRecord record, ResourceBundle resourceBundle) {
super(Children.LEAF, Lookups.singleton(record));
Modified: trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/log/LogIconProvider.java
===================================================================
--- trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/log/LogIconProvider.java 2012-05-03 21:58:17 UTC (rev 7150)
+++ trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/log/LogIconProvider.java 2012-05-03 22:38:34 UTC (rev 7151)
@@ -5,6 +5,7 @@
package org.fudaa.fudaa.crue.common.log;
import java.awt.Image;
+import java.util.EnumMap;
import java.util.HashMap;
import java.util.Map;
import org.fudaa.ctulu.CtuluLogLevel;
@@ -16,10 +17,11 @@
*/
public class LogIconProvider {
- private static Map<CtuluLogLevel, Image> IMAGES = new HashMap<CtuluLogLevel, Image>();
- private static Map<CtuluLogLevel, String> RESOURCES = new HashMap<CtuluLogLevel, String>();
+ private static final Map<CtuluLogLevel, Image> IMAGES = new EnumMap<CtuluLogLevel, Image>(CtuluLogLevel.class);
+ private static final Map<CtuluLogLevel, String> RESOURCES = new EnumMap<CtuluLogLevel, String>(CtuluLogLevel.class);
static {
+ RESOURCES.put(CtuluLogLevel.DEBUG, "org/fudaa/fudaa/crue/common/icons/information.png");
RESOURCES.put(CtuluLogLevel.INFO, "org/fudaa/fudaa/crue/common/icons/information.png");
RESOURCES.put(CtuluLogLevel.WARNING, "org/fudaa/fudaa/crue/common/icons/avertissement.png");
RESOURCES.put(CtuluLogLevel.ERROR, "org/fudaa/fudaa/crue/common/icons/erreur-non-bloquante.png");
@@ -30,6 +32,7 @@
Image res = IMAGES.get(level);
if (res == null) {
res = ImageUtilities.loadImage(RESOURCES.get(level));
+ IMAGES.put(level, res);
}
return res;
}
Modified: trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/services/AbstractPerspectiveService.java
===================================================================
--- trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/services/AbstractPerspectiveService.java 2012-05-03 21:58:17 UTC (rev 7150)
+++ trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/services/AbstractPerspectiveService.java 2012-05-03 22:38:34 UTC (rev 7151)
@@ -129,7 +129,7 @@
}
@Override
- public final boolean deactivate() {
+ public boolean deactivate() {
if (isDirty()) {
return false;
}
Modified: trunk/soft/fudaa-crue/ui-common/src/main/resources/org/fudaa/fudaa/crue/common/log/Bundle.properties
===================================================================
--- trunk/soft/fudaa-crue/ui-common/src/main/resources/org/fudaa/fudaa/crue/common/log/Bundle.properties 2012-05-03 21:58:17 UTC (rev 7150)
+++ trunk/soft/fudaa-crue/ui-common/src/main/resources/org/fudaa/fudaa/crue/common/log/Bundle.properties 2012-05-03 22:38:34 UTC (rev 7151)
@@ -8,6 +8,7 @@
PropertyLogMessageDescription=Message
Type=Type
Level=Niveau
+MessageLevel.DEBUG=Debug
MessageLevel.INFO=Informations
MessageLevel.WARNING=Avertissement
MessageLevel.ERROR=Erreur
Copied: trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/PostReportStdoutTopComponent.form (from rev 7146, trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/PostReportsTopComponent.form)
===================================================================
--- trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/PostReportStdoutTopComponent.form (rev 0)
+++ trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/PostReportStdoutTopComponent.form 2012-05-03 22:38:34 UTC (rev 7151)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+ <AuxValues>
+ <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
+ <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+ <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
+ <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
+ <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+ <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+ <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+ <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,44,0,0,1,-112"/>
+ </AuxValues>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+</Form>
Copied: trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/PostReportStdoutTopComponent.java (from rev 7146, trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/PostReportsTopComponent.java)
===================================================================
--- trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/PostReportStdoutTopComponent.java (rev 0)
+++ trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/PostReportStdoutTopComponent.java 2012-05-03 22:38:34 UTC (rev 7151)
@@ -0,0 +1,121 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.fudaa.fudaa.crue.post;
+
+import org.fudaa.ctulu.CtuluLogGroup;
+import org.fudaa.dodico.crue.metier.emh.EMHScenario;
+import org.fudaa.fudaa.crue.common.RoleNames;
+import org.fudaa.fudaa.crue.common.log.CtuluLogsTopComponent;
+import org.fudaa.fudaa.crue.common.services.PostRunService;
+import org.fudaa.fudaa.crue.post.node.ReportNodesBuilder;
+import org.fudaa.fudaa.crue.study.services.EMHProjetService;
+import org.netbeans.api.settings.ConvertAsProperties;
+import org.openide.awt.ActionID;
+import org.openide.awt.ActionReference;
+import org.openide.util.Lookup;
+import org.openide.util.LookupEvent;
+import org.openide.util.LookupListener;
+import org.openide.util.NbBundle;
+import org.openide.windows.TopComponent;
+
+/**
+ * Top component which displays something.
+ */
+@ConvertAsProperties(dtd = "-//org.fudaa.fudaa.crue.post//PostReportStdoutTopComponent//EN",
+ autostore = false)
+@TopComponent.Description(preferredID = "PostReportStdoutTopComponent",
+ iconBase = "org/fudaa/fudaa/crue/post/carre-vert_16.png",
+ persistenceType = TopComponent.PERSISTENCE_ALWAYS)
+@TopComponent.Registration(mode = "output", openAtStartup = false, roles = {RoleNames.POST})
+@ActionID(category = "Window", id = "org.fudaa.fudaa.crue.post.PostReportStdoutTopComponent")
+@ActionReference(path = "Menu/Window/Post")
+@TopComponent.OpenActionRegistration(displayName = "#CTL_PostReportStdoutTopComponent",
+ preferredID = "PostReportStdoutTopComponent")
+public final class PostReportStdoutTopComponent extends TopComponent implements LookupListener {
+
+ private PostRunService postService = Lookup.getDefault().lookup(PostRunService.class);
+ EMHProjetService projetService = Lookup.getDefault().lookup(EMHProjetService.class);
+ private final Lookup.Result<EMHScenario> resultat;
+
+ public PostReportStdoutTopComponent() {
+ initComponents();
+ setName(NbBundle.getMessage(PostReportStdoutTopComponent.class, "CTL_PostReportStdoutTopComponent"));
+ setToolTipText(NbBundle.getMessage(PostReportStdoutTopComponent.class, "HINT_PostReportStdoutTopComponent"));
+ resultat = postService.getLookup().lookupResult(EMHScenario.class);
+ resultat.addLookupListener(this);
+ resultChanged(null);
+
+ }
+
+ /**
+ * This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The content of
+ * this method is always regenerated by the Form Editor.
+ */
+ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+ private void initComponents() {
+
+ setLayout(new java.awt.BorderLayout());
+ }// </editor-fold>//GEN-END:initComponents
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ // End of variables declaration//GEN-END:variables
+
+ @Override
+ public void componentOpened() {
+ resultChanged(null);
+ }
+
+ @Override
+ public void componentClosed() {
+ removeAll();
+ }
+
+ @Override
+ public void resultChanged(LookupEvent ev) {
+ if (!isOpened()) {
+ return;
+ }
+ if (postService.isRunLoaded()) {
+ runLoadedFromCurrentProject();
+ } else {
+ runUnloaded();
+ }
+ }
+
+ void writeProperties(java.util.Properties p) {
+ // better to version settings since initial version as advocated at
+ // http://wiki.apidesign.org/wiki/PropertyFiles
+ p.setProperty("version", "1.0");
+ // TODO store your settings
+ }
+
+ @Override
+ protected void componentActivated() {
+ super.componentActivated();
+ }
+
+ @Override
+ protected void componentDeactivated() {
+ super.componentDeactivated();
+ }
+
+ void readProperties(java.util.Properties p) {
+// String version = p.getProperty("version");
+ // TODO read your settings according to their version
+ }
+
+ private void runLoadedFromCurrentProject() {
+ EMHScenario scenarioLoaded = postService.getScenarioLoaded();
+ ReportNodesBuilder builder = new ReportNodesBuilder();
+ removeAll();
+ CtuluLogGroup buildGroups = builder.buildStdoutGroups(scenarioLoaded, this.projetService.getSelectedProject().getCoeurConfig());
+ CtuluLogsTopComponent logComponent = new CtuluLogsTopComponent();
+ logComponent.setLogGroup(buildGroups);
+ add(logComponent);
+ }
+
+ private void runUnloaded() {
+ removeAll();
+ }
+}
Modified: trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/PostReportsTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/PostReportsTopComponent.java 2012-05-03 21:58:17 UTC (rev 7150)
+++ trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/PostReportsTopComponent.java 2012-05-03 22:38:34 UTC (rev 7151)
@@ -5,7 +5,6 @@
package org.fudaa.fudaa.crue.post;
import java.util.List;
-import javax.swing.ActionMap;
import javax.swing.JTabbedPane;
import org.fudaa.ctulu.CtuluLogGroup;
import org.fudaa.dodico.crue.metier.emh.EMHScenario;
@@ -17,9 +16,6 @@
import org.netbeans.api.settings.ConvertAsProperties;
import org.openide.awt.ActionID;
import org.openide.awt.ActionReference;
-import org.openide.explorer.ExplorerManager;
-import org.openide.explorer.ExplorerUtils;
-import org.openide.nodes.Node;
import org.openide.util.Lookup;
import org.openide.util.LookupEvent;
import org.openide.util.LookupListener;
Modified: trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/action/PostCloseAction.java
===================================================================
--- trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/action/PostCloseAction.java 2012-05-03 21:58:17 UTC (rev 7150)
+++ trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/action/PostCloseAction.java 2012-05-03 22:38:34 UTC (rev 7151)
@@ -30,6 +30,7 @@
return new PostCloseAction();
}
+ @Override
public void actionPerformed(ActionEvent e) {
postService.unloadRun();
selectedPerspectiveService.activePerspective(PerspectiveEnum.STUDY);
Deleted: trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/node/PostManagerEMHNode.java
===================================================================
--- trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/node/PostManagerEMHNode.java 2012-05-03 21:58:17 UTC (rev 7150)
+++ trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/node/PostManagerEMHNode.java 2012-05-03 22:38:34 UTC (rev 7151)
@@ -1,20 +0,0 @@
-package org.fudaa.fudaa.crue.post.node;
-
-import org.fudaa.dodico.crue.metier.emh.CatEMHConteneur;
-import org.fudaa.fudaa.crue.common.CrueIconsProvider;
-import org.openide.nodes.AbstractNode;
-import org.openide.nodes.Children;
-import org.openide.util.lookup.Lookups;
-
-/**
- *
- * @author deniger ( genesis)
- */
-public class PostManagerEMHNode extends AbstractNode {
-
- public PostManagerEMHNode(Children children, CatEMHConteneur container) {
- super(children, Lookups.singleton(container));
- setName(container.getNom());
- setIconBaseWithExtension(CrueIconsProvider.getIconBase(container.getCatType()));
- }
-}
Deleted: trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/node/PostReportAvcNode.java
===================================================================
--- trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/node/PostReportAvcNode.java 2012-05-03 21:58:17 UTC (rev 7150)
+++ trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/node/PostReportAvcNode.java 2012-05-03 22:38:34 UTC (rev 7151)
@@ -1,18 +0,0 @@
-package org.fudaa.fudaa.crue.post.node;
-
-import org.fudaa.dodico.crue.metier.emh.CompteRenduAvancement;
-import org.openide.nodes.AbstractNode;
-import org.openide.nodes.Children;
-import org.openide.util.lookup.Lookups;
-
-/**
- *
- * @author deniger ( genesis)
- */
-public class PostReportAvcNode extends AbstractNode {
-
- public PostReportAvcNode(Children children, CompteRenduAvancement container) {
- super(children, Lookups.singleton(container));
- setName(container.getAvcFile() == null ? "?" : container.getAvcFile().getName());
- }
-}
Deleted: trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/node/PostReportNode.java
===================================================================
--- trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/node/PostReportNode.java 2012-05-03 21:58:17 UTC (rev 7150)
+++ trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/node/PostReportNode.java 2012-05-03 22:38:34 UTC (rev 7151)
@@ -1,22 +0,0 @@
-package org.fudaa.fudaa.crue.post.node;
-
-import org.fudaa.dodico.crue.metier.emh.CompteRendu;
-import org.openide.nodes.AbstractNode;
-import org.openide.nodes.Children;
-import org.openide.util.actions.SystemAction;
-import org.openide.util.lookup.Lookups;
-
-/**
- *
- * @author deniger ( genesis)
- */
-public class PostReportNode extends AbstractNode {
-
- public PostReportNode(Children children, CompteRendu container) {
- super(children, Lookups.singleton(container));
- setName(container.getLogFile().getName());
- }
-
-
-
-}
Modified: trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/node/ReportNodesBuilder.java
===================================================================
--- trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/node/ReportNodesBuilder.java 2012-05-03 21:58:17 UTC (rev 7150)
+++ trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/node/ReportNodesBuilder.java 2012-05-03 22:38:34 UTC (rev 7151)
@@ -1,17 +1,16 @@
package org.fudaa.fudaa.crue.post.node;
+import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.fudaa.ctulu.CtuluLog;
import org.fudaa.ctulu.CtuluLogGroup;
-import org.fudaa.dodico.crue.common.BusinessMessages;
import org.fudaa.dodico.crue.io.ccal.CRLogReader;
import org.fudaa.dodico.crue.io.ccal.CrueLogTranslator;
import org.fudaa.dodico.crue.io.ccal.CrueTranslationReaderWriter;
import org.fudaa.dodico.crue.io.common.CrueIOResu;
import org.fudaa.dodico.crue.metier.emh.CompteRendu;
-import org.fudaa.dodico.crue.metier.emh.CompteRenduAvancement;
import org.fudaa.dodico.crue.metier.emh.CompteRendusInfoEMH;
import org.fudaa.dodico.crue.metier.emh.EMH;
import org.fudaa.dodico.crue.metier.emh.EMHModeleBase;
@@ -20,8 +19,6 @@
import org.fudaa.dodico.crue.metier.helper.EMHHelper;
import org.fudaa.dodico.crue.projet.coeur.CoeurConfigContrat;
import org.fudaa.fudaa.crue.options.services.ConfigurationManagerService;
-import org.openide.nodes.Children;
-import org.openide.nodes.Node;
import org.openide.util.Lookup;
/**
@@ -30,31 +27,7 @@
*/
public class ReportNodesBuilder {
- public Node buildCompteRendus(EMHScenario scenarioLoaded) {
- List<EMHModeleBase> modeles = scenarioLoaded.getModeles();
- List<Node> children = new ArrayList<Node>();
- children.addAll(buildReportNodes(scenarioLoaded));
-
- for (EMHModeleBase model : modeles) {
- children.add(loadModele(model));
- }
- Children.Array array = new Children.Array();
- array.add((Node[]) children.toArray(new Node[children.size()]));
- return new PostManagerEMHNode(array, scenarioLoaded);
- }
-
- private Node loadModele(EMHModeleBase modele) {
- List<Node> children = buildReportNodes(modele);
- if (children.isEmpty()) {
- return new PostManagerEMHNode(Children.LEAF, modele);
- } else {
- Children.Array array = new Children.Array();
- array.add((Node[]) children.toArray(new Node[children.size()]));
- return new PostManagerEMHNode(array, modele);
- }
- }
-
- private CtuluLogGroup createLogGroups(EMHModeleBase modele) {
+ private CtuluLogGroup createLogGroups(EMH modele) {
CompteRendusInfoEMH reportEMH = (CompteRendusInfoEMH) EMHHelper.selectInfoEMH(modele, EnumInfosEMH.LOGS);
CtuluLogGroup gr = new CtuluLogGroup(null);
gr.getMainLog().setDesc(modele.getNom());
@@ -79,47 +52,51 @@
ConfigurationManagerService configurationManagerService = Lookup.getDefault().lookup(ConfigurationManagerService.class);
public List<CtuluLogGroup> buildGroups(EMHScenario scenarioLoaded, CoeurConfigContrat coeur) {
+ return buildGroups(scenarioLoaded, coeur, false);
+ }
+ public List<CtuluLogGroup> buildGroups(EMHScenario scenarioLoaded, CoeurConfigContrat coeur, boolean onlyScenario) {
+
List<CtuluLogGroup> groups = new ArrayList<CtuluLogGroup>();
String currentLocale = configurationManagerService.getCurrentLocale();
String messageURL = coeur.getMessageURL(currentLocale);
- CrueLogTranslator translationData = null;
+ CrueLogTranslator translator = null;
+ CtuluLog translationLog = null;
if (messageURL != null) {
CrueTranslationReaderWriter reader = new CrueTranslationReaderWriter();
- CtuluLog log = new CtuluLog();
- CrueIOResu<CrueLogTranslator> res = reader.readXML(messageURL, log);
- if (log.isNotEmpty()) {
- CtuluLogGroup translation = new CtuluLogGroup(BusinessMessages.RESOURCE_BUNDLE);
- translation.setMainAnalyze(log);
- groups.add(translation);
+ translationLog = new CtuluLog();
+ CrueIOResu<CrueLogTranslator> res = reader.readXML(new File(messageURL), translationLog);
+ translator = res.getMetier();
+ }
+ if (onlyScenario) {
+ CtuluLogGroup scenarioLogs = createLogGroups(scenarioLoaded);
+ if (translationLog != null && translationLog.isNotEmpty()) {
+ scenarioLogs.addLogFirstPosition(translationLog);
}
- translationData = res.getMetier();
+ if (translator != null) {
+ translator.translateGroup(scenarioLogs);
+ }
+ groups.add(scenarioLogs);
+ return groups;
}
+
List<EMHModeleBase> modeles = scenarioLoaded.getModeles();
+ boolean first = true;
for (EMHModeleBase modele : modeles) {
CtuluLogGroup logGroup = createLogGroups(modele);
- if (translationData != null) {
- translationData.translateGroup(logGroup);
+ if (first && translationLog != null && translationLog.isNotEmpty()) {
+ logGroup.addLogFirstPosition(translationLog);
}
+ first = false;
+ if (translator != null) {
+ translator.translateGroup(logGroup);
+ }
+ groups.add(logGroup);
}
return groups;
}
- private List<Node> buildReportNodes(EMH emh) {
- List<Node> children = new ArrayList<Node>();
- CompteRenduAvancement avc = (CompteRenduAvancement) EMHHelper.selectInfoEMH(emh, EnumInfosEMH.AVANCEMENT);
- if (avc != null) {
- children.add(new PostReportAvcNode(Children.LEAF, avc));
- }
- CompteRendusInfoEMH selectInfoEMH = (CompteRendusInfoEMH) EMHHelper.selectInfoEMH(emh, EnumInfosEMH.LOGS);
- if (selectInfoEMH != null) {
- Collection<CompteRendu> compteRendus = selectInfoEMH.getCompteRendus();
- for (CompteRendu compteRendu : compteRendus) {
- if (compteRendu.getLogFile().exists()) {
- children.add(new PostReportNode(Children.LEAF, compteRendu));
- }
- }
- }
- return children;
+ public CtuluLogGroup buildStdoutGroups(EMHScenario scenarioLoaded, CoeurConfigContrat coeurConfig) {
+ return buildGroups(scenarioLoaded, coeurConfig, true).get(0);
}
}
Modified: trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/perspective/PerspectiveServicePost.java
===================================================================
--- trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/perspective/PerspectiveServicePost.java 2012-05-03 21:58:17 UTC (rev 7150)
+++ trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/perspective/PerspectiveServicePost.java 2012-05-03 22:38:34 UTC (rev 7151)
@@ -6,7 +6,10 @@
import java.util.Arrays;
import java.util.Collections;
+import java.util.HashMap;
import java.util.HashSet;
+import java.util.Map;
+import java.util.Map.Entry;
import java.util.Set;
import org.fudaa.fudaa.crue.common.PerspectiveEnum;
import org.fudaa.fudaa.crue.common.services.AbstractPerspectiveService;
@@ -17,6 +20,8 @@
import org.openide.util.LookupEvent;
import org.openide.util.LookupListener;
import org.openide.util.lookup.ServiceProvider;
+import org.openide.windows.TopComponent;
+import org.openide.windows.WindowManager;
/**
*
@@ -28,10 +33,15 @@
private final Set<String> components = Collections.unmodifiableSet(new HashSet<String>(Arrays.asList("PostMainTopComponent",
"PostReportsTopComponent",
"PostAvctTopComponent")));
+ /**
+ * contient l'état ouvert ou non
+ */
+ private final Map<String, Boolean> ifOpened = new HashMap<String, Boolean>();
private CrueService crueService = Lookup.getDefault().lookup(CrueService.class);
public PerspectiveServicePost() {
super(PerspectiveEnum.POST);
+ ifOpened.put("PostReportStdoutTopComponent", Boolean.FALSE);
crueService.addEMHProjetStateLookupListener(new LookupListener() {
@Override
@@ -73,6 +83,18 @@
}
@Override
+ public boolean deactivate() {
+ boolean ok = super.deactivate();
+ if (ok) {
+ for (Entry<String, Boolean> entry : ifOpened.entrySet()) {
+ TopComponent topComponent = WindowManager.getDefault().findTopComponent(entry.getKey());
+ entry.setValue(topComponent != null && topComponent.isOpened());
+ }
+ }
+ return ok;
+ }
+
+ @Override
protected boolean modeChangedTo(PerspectiveState state) {
return true;
}
@@ -84,6 +106,19 @@
@Override
public Set<String> getTopComponents() {
+ Set<String> opened = null;
+ for (Entry<String, Boolean> entry : ifOpened.entrySet()) {
+ if (Boolean.TRUE.equals(entry.getValue())) {
+ if (opened == null) {
+ opened = new HashSet<String>();
+ }
+ opened.add(entry.getKey());
+ }
+ }
+ if (opened != null) {
+ opened.addAll(components);
+ return opened;
+ }
return components;
}
}
Modified: trunk/soft/fudaa-crue/ui-post/src/main/resources/org/fudaa/fudaa/crue/post/Bundle.properties
===================================================================
--- trunk/soft/fudaa-crue/ui-post/src/main/resources/org/fudaa/fudaa/crue/post/Bundle.properties 2012-05-03 21:58:17 UTC (rev 7150)
+++ trunk/soft/fudaa-crue/ui-post/src/main/resources/org/fudaa/fudaa/crue/post/Bundle.properties 2012-05-03 22:38:34 UTC (rev 7151)
@@ -7,6 +7,8 @@
CTL_LoadPost=Action inutile pour l'instant
HINT_PostReportsTopComponent=Liste des compte-rendus
CTL_PostReportsTopComponent=Compte-rendus
+HINT_PostReportStdoutTopComponent=Compte-rendu Sortie standard stdout.csv
+CTL_PostReportStdoutTopComponent=Compte-rendu sortie standard
HINT_PostAvctTopComponent=Fichier d'avancement
CTL_PostAvctTopComponent=Fichier d'avancement
PostReportsTopComponent.FirstColumn=Compte-Rendus
Modified: trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/actions/OpenRunCourantNodeAction.java
===================================================================
--- trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/actions/OpenRunCourantNodeAction.java 2012-05-03 21:58:17 UTC (rev 7150)
+++ trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/actions/OpenRunCourantNodeAction.java 2012-05-03 22:38:34 UTC (rev 7151)
@@ -28,8 +28,6 @@
protected boolean asynchronous() {
return false;
}
-
-
protected EMHRun getRunCourant(Node[] activatedNodes) {
ManagerEMHScenario scenario = OpenScenarioAction.getScenarioFromNodes(activatedNodes);
@@ -38,12 +36,17 @@
@Override
protected boolean enable(Node[] activatedNodes) {
- return projetService.getSelectedProject() != null && getRunCourant(activatedNodes) != null;
+ if (projetService.getSelectedProject() != null) {
+ EMHRun run = getRunCourant(activatedNodes);
+ return run != null && run != postService.getRunLoaded();
+ }
+ return false;
}
@Override
protected void performAction(Node[] activatedNodes) {
- postService.loadRun(projetService.getSelectedProject(), OpenScenarioAction.getScenarioFromNodes(activatedNodes), getRunCourant(activatedNodes));
+ postService.loadRun(projetService.getSelectedProject(), OpenScenarioAction.getScenarioFromNodes(activatedNodes),
+ getRunCourant(activatedNodes));
}
@Override
Modified: trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/actions/OpenRunNodeAction.java
===================================================================
--- trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/actions/OpenRunNodeAction.java 2012-05-03 21:58:17 UTC (rev 7150)
+++ trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/actions/OpenRunNodeAction.java 2012-05-03 22:38:34 UTC (rev 7151)
@@ -23,7 +23,7 @@
public HelpCtx getHelpCtx() {
return HelpCtx.DEFAULT_HELP;
}
-
+
@Override
protected boolean asynchronous() {
return false;
@@ -38,14 +38,17 @@
@Override
protected boolean enable(Node[] activatedNodes) {
- return projetService.getSelectedProject() != null && getRun(activatedNodes) != null;
+ if (projetService.getSelectedProject() != null) {
+ EMHRun run = getRun(activatedNodes);
+ return run != null && run != postService.getRunLoaded();
+ }
+ return false;
}
@Override
protected void performAction(Node[] activatedNodes) {
if (activatedNodes != null && activatedNodes.length == 1) {
EMHRunNode runNode = (EMHRunNode) activatedNodes[0];
- EMHRun scenario = getRun(activatedNodes);
postService.loadRun(projetService.getSelectedProject(), runNode.getParent(), runNode.getRun());
}
Modified: trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/actions/OpenScenarioAction.java
===================================================================
--- trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/actions/OpenScenarioAction.java 2012-05-03 21:58:17 UTC (rev 7150)
+++ trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/actions/OpenScenarioAction.java 2012-05-03 22:38:34 UTC (rev 7151)
@@ -31,12 +31,14 @@
protected boolean asynchronous() {
return false;
}
-
-
@Override
protected boolean enable(Node[] activatedNodes) {
- return projetService.getSelectedProject() != null && getScenario(activatedNodes) != null;
+ if (projetService.getSelectedProject() != null) {
+ ManagerEMHScenario scenario = getScenario(activatedNodes);
+ return (scenario != null) && scenarioService.getManagerScenarioLoaded() != scenario;
+ }
+ return false;
}
@Override
Copied: trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/actions/UnloadScenarioAction.java (from rev 7145, trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/actions/OpenScenarioAction.java)
===================================================================
--- trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/actions/UnloadScenarioAction.java (rev 0)
+++ trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/actions/UnloadScenarioAction.java 2012-05-03 22:38:34 UTC (rev 7151)
@@ -0,0 +1,53 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.fudaa.fudaa.crue.study.actions;
+
+import org.fudaa.dodico.crue.metier.etude.ManagerEMHScenario;
+import org.fudaa.fudaa.crue.common.services.ModellingScenarioService;
+import org.fudaa.fudaa.crue.study.services.EMHProjetService;
+import org.openide.nodes.Node;
+import org.openide.util.HelpCtx;
+import org.openide.util.Lookup;
+import org.openide.util.NbBundle;
+import org.openide.util.actions.NodeAction;
+
+public final class UnloadScenarioAction extends NodeAction {
+
+ ModellingScenarioService scenarioService = Lookup.getDefault().lookup(ModellingScenarioService.class);
+ EMHProjetService projetService = Lookup.getDefault().lookup(EMHProjetService.class);
+
+ @Override
+ public HelpCtx getHelpCtx() {
+ return HelpCtx.DEFAULT_HELP;
+ }
+
+ protected ManagerEMHScenario getScenario(Node[] activatedNodes) {
+ return OpenScenarioAction.getScenarioFromNodes(activatedNodes);
+ }
+
+ @Override
+ protected boolean asynchronous() {
+ return false;
+ }
+
+ @Override
+ protected boolean enable(Node[] activatedNodes) {
+ if (projetService.getSelectedProject() != null) {
+ ManagerEMHScenario scenario = getScenario(activatedNodes);
+ return (scenario != null) && scenarioService.getManagerScenarioLoaded() == scenario;
+ }
+ return false;
+ }
+
+ @Override
+ protected void performAction(Node[] activatedNodes) {
+ scenarioService.unloadScenario();
+ }
+
+ @Override
+ public String getName() {
+ return NbBundle.getMessage(OpenFichierCrueNodeAction.class, "UnloadScenarioAction.Name");
+ }
+}
Modified: trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/node/ManagerEMHScenarioNode.java
===================================================================
--- trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/node/ManagerEMHScenarioNode.java 2012-05-03 21:58:17 UTC (rev 7150)
+++ trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/node/ManagerEMHScenarioNode.java 2012-05-03 22:38:34 UTC (rev 7151)
@@ -141,6 +141,7 @@
public Action[] getActions(boolean context) {
Action[] result = new Action[]{
SystemAction.get(OpenScenarioAction.class),
+ SystemAction.get(UnloadScenarioAction.class),
null,
SystemAction.get(ModifyScenarioAction.class),
SystemAction.get(RenameManagerNodeAction.class),
Modified: trunk/soft/fudaa-crue/ui-study/src/main/resources/org/fudaa/fudaa/crue/study/actions/Bundle.properties
===================================================================
--- trunk/soft/fudaa-crue/ui-study/src/main/resources/org/fudaa/fudaa/crue/study/actions/Bundle.properties 2012-05-03 21:58:17 UTC (rev 7150)
+++ trunk/soft/fudaa-crue/ui-study/src/main/resources/org/fudaa/fudaa/crue/study/actions/Bundle.properties 2012-05-03 22:38:34 UTC (rev 7151)
@@ -7,6 +7,7 @@
LaunchNewRunNodeAction.Name=Lancer un run rapide
LaunchNewRunNodeOptionAction.Name=Lancer un run avec options...
OpenScenarioAction.Name=Charger le sc\u00e9nario
+UnloadScenarioAction.Name=D\u00e9charger le sc\u00e9nario de travail
OpenRunAction.Name=Exploiter les r\u00e9sultats du run
ConvertScenarioCrue10NodeAction.Name=Convertir en sc\u00e9nario Crue10
Delete.Name=Supprimer
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|