Changeset 1035
- Timestamp:
- 06/22/09 12:38:45 (4 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/mpdb-server/src/edu/rpi/metpetdb/server/search/SearchIPhone.java
r1019 r1035 20 20 import edu.rpi.metpetdb.client.model.MetamorphicGrade; 21 21 import edu.rpi.metpetdb.client.model.Sample; 22 import edu.rpi.metpetdb.client.model.SampleComment; 22 23 import edu.rpi.metpetdb.client.model.SampleMineral; 23 24 import edu.rpi.metpetdb.client.model.SearchSample; … … 45 46 46 47 List<Long> sampleIds = new ArrayList<Long>(); 48 Session session = DataStore.open(); 49 try{ 47 50 48 51 // If there is a GET string for latitude and longitude then it is a search … … 51 54 double lng = Double.parseDouble(request.getParameterValues(LONG_PARAMETER)[0]); 52 55 System.out.println("iPhone query: lat = " + lat + "long = " + lng); 53 outputSearchXML(search(lat,lng ),response);56 outputSearchXML(search(lat,lng, session),response); 54 57 } else if (request.getParameter(SEARCH_REGIONS) != null){ 55 58 Set<String> regions = new HashSet<String>(); … … 59 62 } 60 63 } 61 outputSearchXML(search(regions ),response);64 outputSearchXML(search(regions, session),response); 62 65 } else if (request.getParameter(SAMPLE_ID) != null){ 63 66 for (String id : request.getParameterValues(SAMPLE_ID)) … … 74 77 } 75 78 return; 79 } 80 catch(Exception e){ 81 throw new IllegalStateException(e.getMessage()); 82 } finally { 83 session.close(); 84 } 76 85 } 77 86 … … 83 92 } catch(final Exception ioe){ 84 93 throw new IllegalStateException(ioe.getMessage()); 85 } 94 } 86 95 } 87 96 … … 130 139 x.toXML(sample.getLocation(),response.getWriter()); 131 140 response.getWriter().write(createXMLElement("owner",x.toXML(sample.getOwner().getName()))); 141 response.getWriter().write("<comments>"); 142 143 for (SampleComment sc : sample.getComments()) 144 x.toXML(sc.getText() , response.getWriter()); 145 response.getWriter().write("</comments>"); 132 146 response.getWriter().write("</sample>"); 133 147 } … … 138 152 } 139 153 140 private Results<Sample> search(final Collection<String> regions){ 141 Session session = DataStore.open(); 154 private Results<Sample> search(final Collection<String> regions, Session session){ 142 155 try{ 143 156 SearchSample s = new SearchSample(); … … 145 158 s.addRegion(r); 146 159 } 147 return search(s); 148 } 149 catch (Exception e){ 150 throw new IllegalStateException(e.getMessage()); 151 } finally{ 152 session.close(); 153 } 154 } 155 156 private Results<Sample> search(final SearchSample s){ 157 Session session = DataStore.open(); 158 try{ 159 return SearchDb.sampleSearch(null, s, null, session); 160 return search(s, session); 160 161 } 161 162 catch(Exception e){ 162 163 throw new IllegalStateException(e.getMessage()); 163 } finally { 164 session.close(); 165 } 166 } 167 168 private Results<Sample> search(final Double lat, final Double lng){ 164 } 165 166 167 } 168 169 private Results<Sample> search(final SearchSample s, Session session){ 170 try{ 171 return SearchDb.sampleSearch(null, s, null, session); 172 } 173 catch(Exception e){ 174 throw new IllegalStateException(e.getMessage()); 175 } 176 } 177 178 private Results<Sample> search(final Double lat, final Double lng, Session session){ 169 179 try{ 170 180 SearchSample s = new SearchSample(); … … 198 208 boundingBox.dimension = 2; 199 209 s.setBoundingBox(boundingBox); 200 return search(s );210 return search(s, session); 201 211 202 212 } catch (final Exception ioe){
