Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#683 closed defect (fixed)

Editing / Ajax mode / add attribute with namespace support

Reported by: fxp Owned by: geonetwork-devel@…
Priority: major Milestone: v2.7.0
Component: General Version:
Keywords: Cc:

Description

When adding an attribute having a namespace using Ajax mode, an exception is thrown :

2011-11-29 20:24:57,519 INFO  [jeeves.service] - Dispatching : metadata.elem.add.new
2011-11-29 20:24:57,519 DEBUG [jeeves.service] -  -> parameters are : 
<request>
  <child>geonet:attribute</child>
  <id>94</id>
  <ref>116</ref>
  <name>xlink:role</name>
  <_dc>1322594697508</_dc>
</request>
2011-11-29 20:24:57,519 ERROR [jeeves.service] - Exception when executing service
2011-11-29 20:24:57,519 ERROR [jeeves.service] -  (C) Exc : org.jdom.IllegalNameException: The name "xlink:role" is not legal for JDOM/XML attributes: Attribute names cannot contain colons.
2011-11-29 20:24:57,520 DEBUG [jeeves.service] - Raised exception while executing service
<error id="error">
  <message>The name "xlink:role" is not legal for JDOM/XML attributes: Attribute names cannot contain colons.</message>
  <class>IllegalNameException</class>
  <stack>
    <at class="org.jdom.Attribute" file="Attribute.java" line="361" method="setName" />
    <at class="org.jdom.Attribute" file="Attribute.java" line="228" method="&lt;init&gt;" />
    <at class="org.jdom.Attribute" file="Attribute.java" line="252" method="&lt;init&gt;" />
    <at class="org.fao.geonet.services.metadata.AjaxEditUtils" file="AjaxEditUtils.java" line="314" method="addElementEmbedded" />

The issue happens when turning on xlink attributes editing for example.

Probably a method similar to applyChangesEmbedded using the COLON_SEPARATOR should be used.

Change History (2)

comment:1 by fxp, 12 years ago

Resolution: fixed
Status: newclosed

Committed revision 8544.

comment:2 by ianwallen, 12 years ago

Milestone: Future releasev2.7.0
Note: See TracTickets for help on using tickets.