IN2P3-Forge: Issues
https://forge.in2p3.fr/
https://forge.in2p3.fr/favicon.ico?1678052116
2018-05-31T15:49:48Z
IN2P3-Forge
Redmine
Lavoisier - Feature #33350 (New): add a XPath function multireplace()
https://forge.in2p3.fr/issues/33350
2018-05-31T15:49:48Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
This function would support a variable number of arguments:
<ul>
<li>string: the input string</li>
<li>search: the substring to replace</li>
<li>replace: the replacement string for the first occurence of the search string</li>
<li>replace: the replacement string for the second occurence of the search string</li>
<li>...</li>
<li>replace: the replacement string for the Nth occurence of the search string</li>
</ul>
Lavoisier - Feature #30741 (New): add research button on web site
https://forge.in2p3.fr/issues/30741
2018-04-04T10:53:55Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
<p>with a javascript that automatically add "site:http://software.in2p3.fr/lavoisier" to the query, and send it to Google</p>
Lavoisier - Feature #30735 (New): write documentation about the admin web console
https://forge.in2p3.fr/issues/30735
2018-04-04T10:51:59Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
<p>to be done the the admin web consoled will be stabilised</p>
Lavoisier - Bug #26766 (New): prefix-namespace mapping is moved to the wrong node
https://forge.in2p3.fr/issues/26766
2018-01-03T17:32:43Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
<code>
<view name="test">
<connector type="StringConnector">
<parameter name="content"><![CDATA[<root><foo><child xmlns="uri://"/></foo><bar>two</bar></root>]]></parameter>
</connector>
<processors>
<element in="root">
<element in="foo" out="item">
<element-ignore/>
</element>
<element in="bar" out="item"/>
</element>
</processors>
</view>
</code>
Lavoisier - Bug #20738 (New): Stacktrace
https://forge.in2p3.fr/issues/20738
2017-08-30T10:39:18Z
Lavoisier Api
<p>Build Version: 2.1.2-SNAPSHOT<br />Build Date: Thu Apr 21 07:12:14 UTC 2016<br />Author: lavoisier<br />Description: Describe the context of the problem here...<br />Stack Trace: fr.in2p3.lavoisier.interfaces.error.AdaptorException: Exception raised for view 'VAPOR_ComputingShare' [Adaptor raised exception -- javax.naming.CommunicationException: connection closed [Root exception is java.io.IOException: connection closed]]<br /> at fr.in2p3.lavoisier.chaining.link.connector.SAXConnectorLink.generate(SAXConnectorLink.java:26)<br /> at fr.in2p3.lavoisier.chaining.Chain.generate(Chain.java:120)<br /> at fr.in2p3.lavoisier.chaining.Chain.writeToCache(Chain.java:109)<br /> at fr.in2p3.lavoisier.engine.view.ViewCached.refresh(ViewCached.java:151)<br /> at fr.in2p3.lavoisier.engine.task.CacheRefreshTask.run(CacheRefreshTask.java:22)<br /> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)<br /> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)<br /> at java.lang.Thread.run(Thread.java:748)<br />Caused by: javax.naming.CommunicationException: connection closed [Root exception is java.io.IOException: connection closed]<br /> at com.sun.jndi.ldap.LdapCtx.getSearchReply(LdapCtx.java:1920)<br /> at com.sun.jndi.ldap.AbstractLdapNamingEnumeration.getNextBatch(AbstractLdapNamingEnumeration.java:130)<br /> at com.sun.jndi.ldap.AbstractLdapNamingEnumeration.hasMoreImpl(AbstractLdapNamingEnumeration.java:217)<br /> at com.sun.jndi.ldap.AbstractLdapNamingEnumeration.hasMore(AbstractLdapNamingEnumeration.java:189)<br /> at fr.in2p3.lavoisier.connector.LDAPConnector.writeToContentHandler(LDAPConnector.java:88)<br /> at fr.in2p3.lavoisier.chaining.link.connector.SAXConnectorLink.generate(SAXConnectorLink.java:24)<br /> ... 7 more<br />Caused by: java.io.IOException: connection closed<br /> at com.sun.jndi.ldap.LdapClient.ensureOpen(LdapClient.java:1592)<br /> at com.sun.jndi.ldap.LdapClient.getSearchReply(LdapClient.java:598)<br /> at com.sun.jndi.ldap.LdapCtx.getSearchReply(LdapCtx.java:1918)<br /> ... 12 more</p>
PEM - Bug #12978 (New): pem-sync pull
https://forge.in2p3.fr/issues/12978
2016-03-24T17:11:58Z
Nguyen-Kim Kane
knguyen@ipno.in2p3.fr
<p>add a progress bar when downloading the realm</p>
PEM - Feature #12976 (New): pem-sync co_pem
https://forge.in2p3.fr/issues/12976
2016-03-24T17:00:48Z
Nguyen-Kim Kane
knguyen@ipno.in2p3.fr
<p>automatically update the ~/.bashrc with the entry :<br />path=/opt/pem/bin:$PATH at the end of 'pem-sync co_pem'</p>
Lavoisier - Feature #11484 (New): improve command "lavoisier-upgrade.sh"
https://forge.in2p3.fr/issues/11484
2015-12-10T10:39:44Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
<p>la commande diff de linux est inadéquate => recherche d'une solution alternative type (git diff ?)</p>
Lavoisier - Bug #7566 (New): fields of view "form" are disabled when they have default value
https://forge.in2p3.fr/issues/7566
2014-06-27T16:53:21Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
<p>send the form with javascript instead</p>
Lavoisier - Feature #6864 (New): support IP v6 in adaptor IPAddressAuthenticator
https://forge.in2p3.fr/issues/6864
2014-04-15T14:11:45Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
<p>For example, use IP v6 as the common representation, and convert any IP v4 address to IP v6 address.</p>
Lavoisier - Feature #6687 (New): develop a CronTrigger
https://forge.in2p3.fr/issues/6687
2014-03-27T16:36:12Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
<p><a class="external" href="http://fr.wikipedia.org/wiki/Crontab">http://fr.wikipedia.org/wiki/Crontab</a></p>
Lavoisier - Feature #6360 (New): develop a EntriesProcessor (or a EntriesRenderer)
https://forge.in2p3.fr/issues/6360
2014-03-05T15:22:23Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
<p>Input data example:<br /><pre><code class="xml syntaxhl"><span class="nt"><root></span>
<span class="nt"><child</span> <span class="na">id=</span><span class="s">"truc"</span> <span class="na">name=</span><span class="s">"IGNORED"</span><span class="nt">></span>
<span class="nt"><id></span>truc<span class="nt"></id></span>
<span class="nt"><leaf</span> <span class="na">name=</span><span class="s">"bidule"</span><span class="nt">></span>value<span class="nt"></leaf></span>
<span class="nt"><leaf</span> <span class="na">name=</span><span class="s">"bidule2"</span><span class="nt">></span>value2<span class="nt"></leaf></span>
<span class="nt"><leaf</span> <span class="na">name=</span><span class="s">"name"</span><span class="nt">></span>nom<span class="nt"></leaf></span>
<span class="nt"></child></span>
<span class="nt"></root></span>
</code></pre></p>
<p>Plugin configuration example:<br /><pre><code class="xml syntaxhl"><span class="nt"><e:root></span>
<span class="nt"><e:entries</span> <span class="na">base=</span><span class="s">"root/child"</span> <span class="na">key=</span><span class="s">"id/text()"</span><span class="nt">></span>
<span class="nt"><e:entry</span> <span class="na">base=</span><span class="s">"leaf"</span> <span class="na">key=</span><span class="s">"@name"</span> <span class="na">value=</span><span class="s">"text()"</span><span class="nt">/></span>
<span class="nt"></e:entries></span>
<span class="nt"></e:root></span>
</code></pre></p>
<p>Result example:<br /><pre><code class="xml syntaxhl"><span class="nt"><e:entries></span>
<span class="nt"><e:entries</span> <span class="na">key=</span><span class="s">"truc"</span><span class="nt">></span>
<span class="nt"><e:entry</span> <span class="na">key=</span><span class="s">"value"</span><span class="nt">></span>machin<span class="nt"></e:entry></span>
<span class="nt"><e:entry</span> <span class="na">key=</span><span class="s">"bidule"</span><span class="nt">></span>value<span class="nt"></e:entry></span>
<span class="nt"><e:entry</span> <span class="na">key=</span><span class="s">"name"</span><span class="nt">></span>nom<span class="nt"></e:entry></span>
<span class="nt"></e:entries></span>
<span class="nt"></e:entries></span>
</code></pre></p>
Lavoisier - Feature #6353 (New): support new parameter type "Language"
https://forge.in2p3.fr/issues/6353
2014-03-04T15:10:47Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
<p>The goal is to support langage-specific syntax-highlight in web console and configuration wizard (e.g. SQL, XQuery...).</p>
Lavoisier - Feature #6325 (New): enable limiting the maximum output size
https://forge.in2p3.fr/issues/6325
2014-03-03T10:47:04Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
<p>All the opened elements should be automatically closed in order to keep the XML output well formed.</p>
Lavoisier - Feature #6303 (New): support attributes @package and @id on <config>
https://forge.in2p3.fr/issues/6303
2014-02-27T17:00:28Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
<p>This will replace metadata <category>.</p>
This must correspond to (or must be deduced from) file system:
<ul>
<li>@package must correspond to directory name</li>
<li>@id must correspond to file name</li>
</ul>
<p>Element <view> may support attribute @private="true|FALSE".</p>
When referencing a data view:
<ul>
<li>if it is in another package, then add package name : view('my.package.myView').</li>
<li>if it is in the same package, then package name will be automatically added.</li>
</ul>
Lavoisier - Feature #6260 (New): support introspection of view-template
https://forge.in2p3.fr/issues/6260
2014-02-24T18:22:11Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
<p>a process should be able to query the list of parameters of a view-template</p>
Topology Manager - Feature #5757 (New): Topology manager- error detection in mezzanine
https://forge.in2p3.fr/issues/5757
2014-01-07T13:29:11Z
Ralet Damian
<p>We noticed that it is possible to set two time a relation of a carrier to the same mezzanine (in our case it was mez-112).<br />It would be nice if the TM could noticed this error, and bring it up.</p>
Electronic Control and Monitoring - Feature #5751 (New): buildcfg with some error message
https://forge.in2p3.fr/issues/5751
2014-01-06T17:43:19Z
Ralet Damian
I am still missing some information errors like:
<ul>
<li>no FRS (I tryed, no information was telling me that it was missing)</li>
<li>15C, not in database, and yet no error message.</li>
</ul>
Topology Manager - Feature #5729 (New): Title in firefox
https://forge.in2p3.fr/issues/5729
2014-01-03T18:58:58Z
Legay Eric
Eric.Legay@csnsm.in2p3.fr
<p>Should be great to have a real name in the firefox tab instead of <a class="external" href="http://scgw2:6095">http://scgw2:6095</a></p>
Topology Manager - Feature #5719 (New): Launching server easily
https://forge.in2p3.fr/issues/5719
2014-01-03T16:01:57Z
Legay Eric
Eric.Legay@csnsm.in2p3.fr
<p>Need to have a script or at leats an easier way to relaunch TM_server when Damian killall screen .... (as root)</p>
DCOD - Bug #5592 (New): environment test missing in ./configure
https://forge.in2p3.fr/issues/5592
2013-11-29T11:12:40Z
Dosme Nicolas
Lavoisier - Feature #5558 (New): add XPath function build_xpath()
https://forge.in2p3.fr/issues/5558
2013-11-22T14:51:40Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
<pre><code class="xml syntaxhl"><span class="nt"><view</span> <span class="na">name=</span><span class="s">"v"</span><span class="nt">></span>
<span class="nt"><argument</span> <span class="na">name=</span><span class="s">"site"</span><span class="nt">></span>NONE<span class="nt"></argument></span>
<span class="nt"><connector</span> <span class="na">type=</span><span class="s">"XMLConnector"</span><span class="nt">></span>
<span class="nt"><parameter</span> <span class="na">name=</span><span class="s">"content"</span><span class="nt">></span>
<span class="nt"><entry</span> <span class="na">key=</span><span class="s">"CC-IN2P3"</span><span class="nt">></span>Lyon<span class="nt"></entry></span>
<span class="nt"><entry</span> <span class="na">key=</span><span class="s">"LAPP"</span><span class="nt">></span>Annecy<span class="nt"></entry></span>
<span class="nt"><entry</span> <span class="na">key=</span><span class="s">"CERN"</span><span class="nt">></span>Geneve<span class="nt"></entry></span>
<span class="nt"></parameter></span>
<span class="nt"></connector></span>
<span class="nt"><processors></span>
<span class="c"><!-- the less flexible solution (the XPath is fixed in the view) --></span>
<span class="nt"><processor</span> <span class="na">type=</span><span class="s">"SelectProcessor"</span> <span class="na">match=</span><span class="s">"/*/*[@key=$site]"</span> <span class="na">disabled=</span><span class="s">"$site='NONE'"</span><span class="nt">/></span>
<span class="nt"></processors></span>
<span class="nt"></view></span>
<span class="c"><!-- the less efficient solution (requires a data structure to be built) --></span>
<span class="nt"><parameter</span> <span class="na">eval=</span><span class="s">"view('v')/*/*[@key=$site]"</span><span class="nt">/></span>
<span class="c"><!-- argument 'site' is evaluated by view 'v' --></span>
<span class="nt"><parameter</span> <span class="na">eval=</span><span class="s">"view('v/*/*[@key=$site]', arguments())"</span><span class="nt">/></span><span class="c"><!-- view 'v' must have <argument name="site"/> --></span>
<span class="nt"><parameter</span> <span class="na">eval=</span><span class="s">"view('v/*/*[@key=arguments()[@key=&quot;site&quot;]])]', arguments())"</span><span class="nt">/></span>
<span class="c"><!-- argument 'site' is evaluated by current view --></span>
<span class="nt"><parameter</span> <span class="na">eval=</span><span class="s">"view(concat('v/*/*[@key=',quot($site),']'))"</span><span class="nt">/></span>
<span class="nt"><parameter</span> <span class="na">eval=</span><span class="s">"view(build_xpath('v/*/*[@key={$site}'))"</span><span class="nt">/></span>
</code></pre>
<p><ins>Note</ins>: build_xpath() must disable optimizer for {match()/@id}</p>
ENX - Feature #5527 (New): Named register list
https://forge.in2p3.fr/issues/5527
2013-11-18T17:30:28Z
Legay Eric
Eric.Legay@csnsm.in2p3.fr
<p>It should be great to remove template-register.ads from driver files and to list the regsiter from a configuration file...</p>
<p>need to define a way to find this configuration file and some others details, but to do ...</p>
DCOD - Feature #5503 (New): test ada 2012 in ./configure
https://forge.in2p3.fr/issues/5503
2013-11-13T16:54:14Z
Dosme Nicolas
<p>We can test availability of ada 2012 features in ./configure.<br />and not wait compilation to know that the used compiler is not the good one.</p>
ENX - Bug #5447 (New): make distclean - DCOD
https://forge.in2p3.fr/issues/5447
2013-10-30T10:18:56Z
Legay Eric
Eric.Legay@csnsm.in2p3.fr
<p>After 'make distclean' in /docd/, some objs and libraries are not cleaned.</p>
<pre>
? enx/common/ID_Handler/libidhandler.a
? enx/common/ID_Handler/libidhandler.so
? enx/common/ID_Handler/obj_dynamic/auto.cgpr
? enx/common/ID_Handler/obj_dynamic/b__idhandler.adb
? enx/common/ID_Handler/obj_dynamic/b__idhandler.ads
? enx/common/ID_Handler/obj_dynamic/idhandler.lexch
? enx/common/ID_Handler/obj_static/auto.cgpr
? enx/common/ID_Handler/obj_static/b__idhandler.adb
? enx/common/ID_Handler/obj_static/b__idhandler.ads
? enx/common/ID_Handler/obj_static/idhandler.lexch
? enx/common/Types/libenxtypes.a
? enx/common/Types/libenxtypes.so
? enx/common/Types/obj_dynamic/auto.cgpr
? enx/common/Types/obj_dynamic/b__enxtypes.adb
? enx/common/Types/obj_dynamic/b__enxtypes.ads
? enx/common/Types/obj_dynamic/enxtypes.lexch
? enx/common/Types/obj_static/auto.cgpr
? enx/common/Types/obj_static/b__enxtypes.adb
? enx/common/Types/obj_static/b__enxtypes.ads
? enx/common/Types/obj_static/enxtypes.lexch
? enx/common/plugins/libenxplugins.a
? enx/common/plugins/libenxplugins.so
? enx/common/plugins/obj_dynamic/auto.cgpr
? enx/common/plugins/obj_dynamic/b__enxplugins.adb
? enx/common/plugins/obj_dynamic/b__enxplugins.ads
? enx/common/plugins/obj_dynamic/enxplugins.lexch
? enx/common/plugins/obj_static/auto.cgpr
? enx/common/plugins/obj_static/b__enxplugins.adb
? enx/common/plugins/obj_static/b__enxplugins.ads
? enx/common/plugins/obj_static/enxplugins.lexch
? enx/common/soap/libenxsoapclient.a
? enx/common/soap/libenxsoapclient.so
? enx/common/soap/obj_dynamic/auto.cgpr
? enx/common/soap/obj_dynamic/b__enxsoapclient.adb
? enx/common/soap/obj_dynamic/b__enxsoapclient.ads
? enx/common/soap/obj_dynamic/enxsoapclient.lexch
? enx/common/soap/obj_static/auto.cgpr
? enx/common/soap/obj_static/b__enxsoapclient.adb
? enx/common/soap/obj_static/b__enxsoapclient.ads
? enx/common/soap/obj_static/enxsoapclient.lexch
? enx/common/soap/sources
? enx/common/soap/src/client/server_xml_service-client.adb
? enx/common/soap/src/client/server_xml_service-client.ads
? enx/common/soap/src/common/server_xml_service-types.ads
? enx/common/soap/src/common/server_xml_service.ads
? enx/common/soap/src/server/server_web_enx.adb
? enx/common/soap/src/server/server_xml_service-cb.adb
? enx/common/soap/src/server/server_xml_service-cb.ads
? enx/common/soap/src/server/server_xml_service-server.adb
? enx/common/soap/src/server/server_xml_service-server.ads
? enx/common/soap/wsdl/server_xml.wsdl
? enx/server/UI/remote-console.adb.orig
? enx/server/_init.enx
? enx/server/build/x86_64/bin/remote-console
? enx/server/build/x86_64/bin/server_web_enx
? enx/server/build/x86_64/obj/b~remote-console.adb
? enx/server/build/x86_64/obj/b~remote-console.ads
? enx/server/build/x86_64/obj/b~server_web_enx.adb
? enx/server/build/x86_64/obj/b~server_web_enx.ads
? enx/server/soap/server_web_enx.adb
? enx/server/soap/server_xml.wsdl
? enx/server/soap/server_xml_service-cb.adb
? enx/server/soap/server_xml_service-cb.ads
? enx/server/soap/server_xml_service-client.adb
? enx/server/soap/server_xml_service-client.ads
? enx/server/soap/server_xml_service-server.adb
? enx/server/soap/server_xml_service-server.ads
? enx/server/soap/server_xml_service-types.ads
? enx/server/soap/server_xml_service.ads
</pre>
Lavoisier - Feature #5442 (New): create a view 'stoppoint'
https://forge.in2p3.fr/issues/5442
2013-10-29T17:02:12Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
This view should:
<ul>
<li>enable dumping output of connector, then 1st processor, then 2nd processor, etc., with a single clic.</li>
<li>dump configuration (with disabled processors in grey).</li>
<li>and most importantly: manage view arguments for each execution!</li>
</ul>
CLASS - Feature #5377 (New): enrichment factory
https://forge.in2p3.fr/issues/5377
2013-10-21T15:15:07Z
MOUGINOT Baptiste
<p>Do a fabrication plant which can build UOX fuel...</p>
CLASS - Feature #5376 (New): Reactor batch creation
https://forge.in2p3.fr/issues/5376
2013-10-21T15:14:08Z
MOUGINOT Baptiste
<p>Create a CLASS/ or equivalent, to automatically generate the batch for the fuel loading plan (bye exemple UOX 1/3, or UOX/MOX transition...)</p>
CLASS - Feature #5350 (New): Set some quality criteria on Pu when building a MOX fuel
https://forge.in2p3.fr/issues/5350
2013-10-15T19:18:36Z
MOUGINOT Baptiste
CLASS - Feature #5329 (New): Power density
https://forge.in2p3.fr/issues/5329
2013-10-14T17:58:13Z
MOUGINOT Baptiste
<p>Check power density in reactor...</p>
<p>Add power density in EvolutionData</p>
Lavoisier - Feature #5090 (New): add new adaptor type : <writer>
https://forge.in2p3.fr/issues/5090
2013-09-17T15:49:22Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
Adaptors example:
<ul>
<li>SQLWriter</li>
<li>HTTPWriter</li>
<li>FileWriter</li>
<li>EmailWriter</li>
</ul>
<p>Usage example:<br /><pre><code class="xml syntaxhl"><span class="nt"><view</span> <span class="na">name=</span><span class="s">"ldap-to-sql"</span><span class="nt">></span>
<span class="nt"><connector</span> <span class="na">type=</span><span class="s">"LDAPConnector"</span><span class="nt">/></span>
<span class="nt"><writer</span> <span class="na">type=</span><span class="s">"SQLWriter"</span> <span class="na">match=</span><span class="s">"/o/cn[@id='fr']/ou[@id='in2p3']/dn"</span>
<span class="na">recovery-base-directory=</span><span class="s">"$TMP/recovery"</span> <span class="na">recovery-period=</span><span class="s">"PT1M"</span><span class="nt">></span>
<span class="nt"><parameter</span> <span class="na">name=</span><span class="s">"url"</span><span class="nt">></span>jdbc:...<span class="nt"></parameter></span>
<span class="nt"><parameter</span> <span class="na">name=</span><span class="s">"query"</span><span class="nt">></span>INSERT INTO my_table (?,?)<span class="nt"></parameter></span>
<span class="nt"><parameter</span> <span class="na">name=</span><span class="s">"parameters"</span><span class="nt">></span>
<span class="nt"><entry</span> <span class="na">eval=</span><span class="s">"@id"</span><span class="nt">/></span>
<span class="nt"><entry</span> <span class="na">eval=</span><span class="s">"ancestor::cn/@id"</span><span class="nt">/></span>
<span class="nt"></parameter></span>
<span class="nt"><trigger</span> <span class="na">type=</span><span class="s">"DeltaTimeTrigger"</span><span class="nt">></span>
<span class="nt"><parameter</span> <span class="na">name=</span><span class="s">"hours"</span><span class="nt">></span>1<span class="nt"></parameter></span>
<span class="nt"></trigger></span>
<span class="nt"></writer></span>
<span class="nt"></view></span>
</code></pre></p>
<p>Interface:<br /><pre><code class="java syntaxhl"><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">Writer</span> <span class="kd">extends</span> <span class="nc">Adaptor</span> <span class="o">{</span>
<span class="cm">/**
* @return the list of exceptions caused by bad configuration (event will not be retried).
*/</span>
<span class="kd">public</span> <span class="nc">Exception</span><span class="o">[]</span> <span class="nf">getConfigurationExceptions</span><span class="o">();</span>
<span class="cm">/**
* A resource can be for example: a connection to database, an URL to an AVAILABLE web service, a pointer to file...
* @throws ResourceAlreadyOpened if resource was already opened.
* @return true if opening resource is successful, else false.
*/</span>
<span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">openResource</span><span class="o">()</span> <span class="kd">throws</span> <span class="nc">ResourceAlreadyOpened</span><span class="o">;</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">closeResource</span><span class="o">();</span>
<span class="o">}</span>
</code></pre></p>
<p>Algorithm:<br /><pre><code class="java syntaxhl"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">WriterLink</span> <span class="o">{</span>
<span class="kd">private</span> <span class="nc">File</span> <span class="n">m_base_directory</span><span class="o">;</span>
<span class="kd">private</span> <span class="nc">Duration</span> <span class="n">m_retry_period</span><span class="o">;</span>
<span class="kd">private</span> <span class="nc">EventStore</span> <span class="n">m_unrecoverable</span><span class="o">;</span>
<span class="kd">private</span> <span class="nc">EventStore</span> <span class="n">m_recoverable</span><span class="o">;</span>
<span class="kd">private</span> <span class="nc">Writer</span> <span class="n">m_writer</span><span class="o">;</span>
<span class="kd">private</span> <span class="nc">Set</span><span class="o"><</span><span class="nc">Exception</span><span class="o">></span> <span class="n">m_configuration_exceptions</span><span class="o">;</span>
<span class="kd">public</span> <span class="nf">WriterLink</span><span class="o">()</span> <span class="o">{</span>
<span class="n">m_configuration_exceptions</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">HashSet</span><span class="o"><</span><span class="nc">Exception</span><span class="o">>();</span>
<span class="n">m_configuration_exceptions</span><span class="o">.</span><span class="na">addAll</span><span class="o">(</span><span class="nc">Arrays</span><span class="o">.</span><span class="na">asList</span><span class="o">(</span><span class="n">m_writer</span><span class="o">.</span><span class="na">getConfigurationExceptions</span><span class="o">()));</span>
<span class="o">}</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">write</span><span class="o">(</span><span class="nc">Xml</span> <span class="n">view</span><span class="o">)</span> <span class="o">{</span>
<span class="nc">EventReader</span> <span class="n">input</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">EventReader</span><span class="o">(</span><span class="n">view</span><span class="o">);</span>
<span class="n">m_unrecoverable</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">EventStore</span><span class="o">(</span><span class="n">m_viewId</span><span class="o">);</span>
<span class="n">m_unrecoverable</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="nc">StartElement</span><span class="o">(</span><span class="s">"root"</span><span class="o">));</span>
<span class="k">while</span><span class="o">(!</span><span class="n">input</span><span class="o">.</span><span class="na">isEmpty</span><span class="o">()</span> <span class="o">&&</span> <span class="o">!</span><span class="n">isTriggered</span><span class="o">)</span> <span class="o">{</span>
<span class="nl">label:</span> <span class="k">while</span><span class="o">(!</span><span class="n">isTriggered</span><span class="o">)</span> <span class="o">{</span>
<span class="k">switch</span> <span class="o">(</span><span class="n">m_writer</span><span class="o">.</span><span class="na">openResource</span><span class="o">())</span> <span class="o">{</span>
<span class="k">case</span> <span class="nl">WAS_ALREADY_OPENED:</span>
<span class="nc">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="n">m_retry_period</span><span class="o">);</span>
<span class="k">break</span> <span class="n">label</span><span class="o">;</span>
<span class="k">case</span> <span class="nl">IS_OPENED:</span>
<span class="k">break</span> <span class="n">label</span><span class="o">;</span>
<span class="k">case</span> <span class="nl">IS_CLOSED:</span>
<span class="nc">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="n">m_retry_period</span><span class="o">);</span>
<span class="k">break</span><span class="o">;</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="n">m_recoverable</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">EventStore</span><span class="o">(</span><span class="n">m_viewId</span><span class="o">);</span>
<span class="k">try</span> <span class="o">{</span>
<span class="k">for</span> <span class="o">(</span><span class="n">event</span> <span class="o">:</span> <span class="n">input</span><span class="o">.</span><span class="na">getEvents</span><span class="o">())</span> <span class="o">{</span>
<span class="k">switch</span><span class="o">(</span><span class="n">event</span><span class="o">.</span><span class="na">getState</span><span class="o">())</span> <span class="o">{</span>
<span class="k">case</span> <span class="nl">UNSELECTED:</span>
<span class="n">m_recoverable</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">event</span><span class="o">);</span>
<span class="k">break</span><span class="o">;</span>
<span class="k">case</span> <span class="nl">SELECTED:</span>
<span class="k">this</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">event</span><span class="o">.</span><span class="na">getCurrent</span><span class="o">());</span>
<span class="k">break</span><span class="o">;</span>
<span class="k">case</span> <span class="nl">DESCENDANT_OF_SELECTED:</span>
<span class="k">break</span><span class="o">;</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">ResourceClosedException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
<span class="k">for</span> <span class="o">(</span><span class="n">event</span> <span class="o">:</span> <span class="n">input</span><span class="o">.</span><span class="na">getEvents</span><span class="o">())</span> <span class="o">{</span>
<span class="n">m_recoverable</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">event</span><span class="o">);</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="n">m_recoverable</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> <span class="c1">// remove the file if if contains no event</span>
<span class="n">m_recoverable</span><span class="o">.</span><span class="na">moveTo</span><span class="o">(</span><span class="n">input</span><span class="o">);</span>
<span class="o">}</span>
<span class="n">m_writer</span><span class="o">.</span><span class="na">close</span><span class="o">();</span>
<span class="n">m_unrecoverable</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="nc">EndElement</span><span class="o">(</span><span class="s">"root"</span><span class="o">));</span>
<span class="n">m_unrecoverable</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> <span class="c1">// remove the file if it contains no event</span>
<span class="o">}</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">write</span><span class="o">(</span><span class="nc">Element</span> <span class="n">current</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">ResourceClosedException</span> <span class="o">{</span>
<span class="k">try</span> <span class="o">{</span>
<span class="n">m_writer</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">current</span><span class="o">);</span>
<span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">Exception</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
<span class="k">if</span> <span class="o">(</span><span class="n">m_configuration_exceptions</span><span class="o">.</span><span class="na">contains</span><span class="o">(</span><span class="n">e</span><span class="o">))</span> <span class="o">{</span>
<span class="n">m_unrecoverable</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">current</span><span class="o">);</span>
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
<span class="k">switch</span> <span class="o">(</span><span class="n">m_writer</span><span class="o">.</span><span class="na">openResource</span><span class="o">())</span> <span class="o">{</span>
<span class="k">case</span> <span class="nl">WAS_ALREADY_OPENED:</span>
<span class="n">m_recoverable</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">current</span><span class="o">);</span>
<span class="k">break</span><span class="o">;</span>
<span class="k">case</span> <span class="nl">IS_OPENED:</span>
<span class="k">try</span> <span class="o">{</span>
<span class="n">m_writer</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">current</span><span class="o">);</span>
<span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">Exception</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
<span class="n">m_recoverable</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">current</span><span class="o">);</span>
<span class="o">}</span>
<span class="k">break</span><span class="o">;</span>
<span class="k">case</span> <span class="nl">IS_CLOSED:</span>
<span class="k">throw</span> <span class="k">new</span> <span class="nf">ResourceClosedException</span><span class="o">();</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="o">}</span>
</code></pre></p>
Lavoisier - Feature #5009 (New): ICalRenderer
https://forge.in2p3.fr/issues/5009
2013-09-12T10:46:56Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
Lavoisier - Feature #5008 (New): ICalSerializer
https://forge.in2p3.fr/issues/5008
2013-09-12T10:44:37Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
DCOD - Feature #4937 (New): Implement Hobbit/Zabbix scripts
https://forge.in2p3.fr/issues/4937
2013-08-27T11:19:13Z
Grave Xavier
<p>We should look how to implement data flow survey using hobbit or zabbix</p>
Lavoisier - Feature #4934 (New): implement some additional cache adaptors
https://forge.in2p3.fr/issues/4934
2013-08-26T17:13:59Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
Technologies to be considered are:
<ul>
<li>in-memory cache (DOM, DOM4J or recorded stream of XML events)</li>
<li>on-disk serialized DOM tree or recorded stream of XML events</li>
<li>native XML database</li>
<li>relational database</li>
<li>no-SQL dataabse (e.g. MongoDB)</li>
</ul>
Lavoisier - Feature #4906 (New): XPath2SQLTemplate : add support for SQL functions
https://forge.in2p3.fr/issues/4906
2013-08-16T11:13:25Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
<pre>
http://host:8080/lavoisier/database/dept:*[sql:contains(dno,'DR')]
</pre>
Lavoisier - Feature #4905 (New): XPath2SQLTemplate : add support for XPath functions
https://forge.in2p3.fr/issues/4905
2013-08-16T11:10:47Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
<pre>
http://host:8080/lavoisier/database/dept:*[starts-with(dno,'DR')]
</pre>
Lavoisier - Feature #4904 (New): XPath2SQLTemplate : add support for ORDER BY
https://forge.in2p3.fr/issues/4904
2013-08-16T11:01:42Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
<pre>
http://host:8080/lavoisier/database/dept:*?sort=dno,course
</pre>
Lavoisier - Feature #4871 (New): ExcelSerializer
https://forge.in2p3.fr/issues/4871
2013-07-31T18:42:31Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
<p>This adaptor may rely on the apache POI library.</p>
Lavoisier - Feature #4870 (New): BinarySerializer
https://forge.in2p3.fr/issues/4870
2013-07-31T18:36:58Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
<p>This adaptor may rely on the Daffodil open-source implementation of the DFDL specification.</p>
Lavoisier - Feature #4867 (New): ScalaProcessor
https://forge.in2p3.fr/issues/4867
2013-07-31T17:22:39Z
Reynaud Sylvain
Sylvain.Reynaud@in2p3.fr
ENX - Bug #3834 (New): Removing data8 type for MM and MD
https://forge.in2p3.fr/issues/3834
2013-01-17T18:08:22Z
Legay Eric
Eric.Legay@csnsm.in2p3.fr
<p>Finding something to replace it ....</p>
Pipelet - Bug #1566 (New): Bug daemon cherrypy on Macintosh
https://forge.in2p3.fr/issues/1566
2011-04-15T17:53:52Z
Le Jeune Maude
lejeune@apc.in2p3.fr
<p>Check where the bug come from, if not to low level do something, or warn the user.</p>
Oval - Bug #1082 (New): NO DIFF
https://forge.in2p3.fr/issues/1082
2010-11-16T11:38:30Z
Chamont David
<p>When "oval log" displays "NO DIFF", it is not easy for the newcomer to distinguish between "there is no difference" or "the diff command has not been applied". We should investigate how to make it more clear.</p>
SphereLib - Bug #938 (New): Construction icosahedron
https://forge.in2p3.fr/issues/938
2010-09-29T11:32:48Z
Le Jeune Maude
lejeune@apc.in2p3.fr
<p>Utiliser le module fortran pour la compilation de icosahedron.f</p>
Oval - Bug #28 (New): "oval validate" should remove differences in "oval log"
https://forge.in2p3.fr/issues/28
2009-02-16T19:01:54Z
Chamont David
<p>As said in the title...</p>
Oval - Bug #27 (New): Some commands should not require a current valid directory
https://forge.in2p3.fr/issues/27
2009-02-16T18:51:50Z
Chamont David
<p>For example, in a scram configuration, one should be able to type "oval version" and have a valid output, even if he is not within a valid scram project.</p>
Oval - Bug #26 (New): Commands options not well propagated, when declared within an OvalFile
https://forge.in2p3.fr/issues/26
2009-02-16T18:50:15Z
Chamont David
<p>Intro: so to ensure user interface and commands consistency, each single feature is implemented in a single command, and when a command needs another command feature, it is internally instanciating this command and use it. Behind this nice concept, since the internal command is not instanciated in the same way as the main command, we must propagate to it some "fake command line" options, and fakely calls its functions, as would do the main oval framework with the top level command. This fake calls are not done automatically, but case by case and "by hand" by the top command. This is why there could be and there is some<br />errors or awkward situation.</p>
<p>The general bug: in the current implementation, when a commmand option is set within an OvalFile, it is not<br />correctly propagated to the internals commands.</p>
<p>Example: if I set "-sh" for the runtime command, it will not be propagated to "environnement" command, and the<br />resulting output will be a mix of csh and sh commands.</p>
<p>Solution: review the use of internal commands, and the way they are managed, so that they are in the same state if they are instanciated as user commands or as internal commands.</p>
Oval - Bug #25 (New): Temporary files after a crash
https://forge.in2p3.fr/issues/25
2009-02-16T18:46:14Z
Chamont David
<p>If an oval process is killed or crashes, we should check if the temporary files remain in the current directory or not, which may confuse subsequent oval runs.</p>
Oval - Bug #22 (New): Deliver messages when ISA fails
https://forge.in2p3.fr/issues/22
2009-02-16T18:22:12Z
Chamont David
<p>When there is a perl failure, for example when ISA fails because perl does not find the relevant base package, it would be nice if oval could catch the event and deliver the defered messages before exiting.</p>