Opened 11 years ago

Closed 9 years ago

Last modified 9 years ago

#550 closed defect (fixed)

SECORE to ignore GML xmlsd during equality checks

Reported by: Piero Campalani Owned by: Bang Pham Huu
Priority: minor Milestone: 9.0.x
Component: secore Version: development
Keywords: equality xmlsd Cc: Dimitar Misev
Complexity: Medium

Description

SECORE can return false to an equality check when the xmlsd is slightly different.
Although this can make sense, it also makes the equality check a little less robust in cases like:

http://localhost:8090/def/equal?
   1=http://www.opengis.net/def/crs/EPSG/0/4326&
   2=http://localhost:8090/def/crs/EPSG/0/4326

where true is supposed to be returned.

Change History (6)

comment:1 by Piero Campalani, 11 years ago

The current response in the reference URL above is:

<comparisonResult xmlns="http://www.opengis.net/crs-nts/1.0" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd">
  <equal>false</equal>
  <reason>
    <![CDATA[
      [different] Expected namespace URI 'http://www.opengis.net/gml' but was 'null' - comparing <GeodeticCRS...> at /GeodeticCRS[1] to <GeodeticCRS...> at /GeodeticCRS[1]
    ]]>
  </reason>
</comparisonResult>

Since the two definitions define a different gml:xmlnsd:

Version 0, edited 11 years ago by Piero Campalani (next)

comment:2 by Bang Pham Huu, 9 years ago

As Dimitar has suggested before, so I will take this ticket and try to understand SECORE.

comment:3 by Bang Pham Huu, 9 years ago

Owner: changed from Dimitar Misev to Bang Pham Huu
Status: newassigned

comment:4 by Bang Pham Huu, 9 years ago

Hi Dimitar (Piero also if you see this message),

it looks like this ticket has been fixed before as when I tried to compare 2 GML from opengis.net and SECORE version, it returns "true".

http://localhost:8080/def/equal?1=http://www.opengis.net/def/crs/EPSG/0/4326&2=http://localhost:8080/def/crs/EPSG/0/4326
<comparisonResult xmlns="http://www.opengis.net/crs-nts/1.0" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd">
<equal>true</equal>
</comparisonResult>

or

http://localhost:8080/def/equal?1=http://localhost:8080/def/crs/EPSG/0/3857&2=http://www.opengis.net/def/crs/EPSG/0/3857

With a information about I cannot debug SECORE yesterday.

When try to use Netbean to debug SECORE, it is mess up with URL (when using GlassFish set context-root to "/" by glassfish-web.xml) so I added a if condition and now its behavior is the same as war file deploying by Make install.

Context-root will help URL like "http://localhost:8080/def" instead of "http://localhost:8080/secore-web/def".

 if (!"".equals(req.getContextPath())) # this will not remove "/def" if root context is "/"
    {
      StringUtil.SERVLET_CONTEXT = req.getContextPath();
      // as it has "/def/def" when deployed without debug then it needs to remove 1 "/def"
      uri = StringUtil.removeDuplicateDef(uri);
    }    

I've found this when debug war file creating by "make install" with Netbeans attach debugger and compare with debug secore-web project by Netbeans.

comment:5 by Dimitar Misev, 9 years ago

Resolution: fixed
Status: assignedclosed

Ok let's close this ticket then.

Can you put the unrelated information somewhere in the secore dev guide?

Note: See TracTickets for help on using tickets.