comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSQPSArtifact.java @ 5469:948a106bc4cd

Handle kind filtering in QPS WMS artifact
author Andre Heinecke <aheinecke@intevation.de>
date Wed, 27 Mar 2013 15:37:37 +0100
parents 84da5ed67e93
children
comparison
equal deleted inserted replaced
5468:84da5ed67e93 5469:948a106bc4cd
98 } 98 }
99 99
100 @Override 100 @Override
101 protected Envelope getExtent(boolean reproject) { 101 protected Envelope getExtent(boolean reproject) {
102 River river = RiverFactory.getRiver(getRiverId()); 102 River river = RiverFactory.getRiver(getRiverId());
103 List<CrossSectionTrack> qps;
103 104
104 List<CrossSectionTrack> qps = 105 String kind = getIdPart(2);
105 CrossSectionTrack.getCrossSectionTrack(river.getName()); 106
107 if (kind != null && kind.equals("1")) {
108 qps = CrossSectionTrack.getCrossSectionTrack(river.getName(),
109 Integer.parseInt(kind));
110 } else if (kind != null) {
111 qps = CrossSectionTrack.getCrossSectionTrack(river.getName(),
112 getName(), Integer.parseInt(kind));
113 } else {
114 qps = CrossSectionTrack.getCrossSectionTrack(river.getName(),
115 getName());
116 }
106 117
107 Envelope max = null; 118 Envelope max = null;
108 119
109 for (CrossSectionTrack qp: qps) { 120 for (CrossSectionTrack qp: qps) {
110 Envelope env = qp.getGeom().getEnvelopeInternal(); 121 Envelope env = qp.getGeom().getEnvelopeInternal();
122 : max; 133 : max;
123 } 134 }
124 135
125 @Override 136 @Override
126 protected String getFilter() { 137 protected String getFilter() {
127 return "river_id=" + String.valueOf(getRiverId()); 138 String kind = getIdPart(2);
139 if (kind != null && kind.equals("1")) {
140 // There can be several layers named qps that differ in kind
141 return "river_id=" + String.valueOf(getRiverId()) +
142 " AND kind_id=" + kind;
143 } else if (kind != null) {
144 return "river_id=" + String.valueOf(getRiverId()) +
145 " AND kind_id=" + kind +
146 " AND name='" + getName() + "'";
147 }
148 return "river_id=" + String.valueOf(getRiverId()) +
149 " AND name='" + getName() + "'";
128 } 150 }
129 151
130 @Override 152 @Override
131 protected String getDataString() { 153 protected String getDataString() {
132 String srid = getSrid(); 154 String srid = getSrid();

http://dive4elements.wald.intevation.org