@SuppressWarnings("unchecked") public JerPlace getAdditionalInstancesForSpecificPlace(final int selectedID2) throws ParseException { final GeometryFactory gf = new GeometryFactory(); final JerGeoObserverMsg geoMsg = new JerGeoObserverMsg(); final List<Object> pathObjLi = readDB(selectedModel.getSqlAdditionalInstancesForSpecificPlace(selectedID2)); for (final Object o : pathObjLi) { final List<Object> objLi = (List<Object>) o; if (objLi.size() == 2 && objLi.get(0) != null && objLi.get(1) != null) { final Point p = gf.createPoint(new Coordinate((double) objLi.get(0), (double) objLi.get(1))); final JerPlace place = new JerPlace(p); geoMsg.addPlaceToLi(place); } if (objLi.size() == 3 && objLi.get(0) != null && objLi.get(1) != null) { final Point p = gf.createPoint(new Coordinate((double) objLi.get(0), (double) objLi.get(1))); final JerPlace place = new JerPlace(p); if (objLi.get(2) != null) { final WKTReader wktr = new WKTReader(gf); final Geometry additional = wktr.read((String) objLi.get(2)); place.setAdditionalInstances(additional); } geoMsg.addPlaceToLi(place); } if (objLi.size() == 4 && objLi.get(1) != null && objLi.get(2) != null) { final Point p = gf.createPoint(new Coordinate((double) objLi.get(1), (double) objLi.get(2))); final JerPlace place = new JerPlace(p); if (objLi.get(0) != null) { place.setNumber((int) objLi.get(0)); } if (objLi.get(3) != null) { final WKTReader wktr = new WKTReader(gf); final Geometry additional = wktr.read((String) objLi.get(3)); place.setAdditionalInstances(additional); } geoMsg.addPlaceToLi(place); } } return geoMsg.getPlaceLi().get(0); }
@SuppressWarnings("unchecked") public void checkAssociatedPlaces( final JerModel jerModel, final String modelIDName, final int val) throws ParseException { // default show all places String sql = JerModel.sqlAllPlacesAndInformation; if (val != -1) { if (modelIDName.equalsIgnoreCase("AUTHOR_ID")) { sql = "SELECT LOCATION_EASTING, LOCATION_NORTHING, SIMPLE_FEATURE FROM (SELECT LOCATION_EASTING, LOCATION_NORTHING, SIMPLE_FEATURE, PLACE_ID FROM JERUSALEM.PLACES)TAB5 INNER JOIN (SELECT PLACE_ID FROM (SELECT PLACE_ID, ENTRY_ID FROM JERUSALEM.TOPOS_IN_ENTRY)TAB3 INNER JOIN (SELECT ENTRY_ID FROM(SELECT ENTRY_ID, DOCUMENT_ID FROM JERUSALEM.ENTRIES)TAB1 INNER JOIN (SELECT DOCUMENT_ID FROM JERUSALEM.DOCUMENTS WHERE AUTHOR_ID = " + val + ")TAB2 ON TAB1.DOCUMENT_ID = TAB2.DOCUMENT_ID)TAB4 ON TAB3.ENTRY_ID=TAB4.ENTRY_ID)TAB6 ON TAB5.PLACE_ID=TAB6.PLACE_ID"; } if (modelIDName.equalsIgnoreCase("DOCUMENT_ID")) { sql = "SELECT NUMBER, LOCATION_EASTING, LOCATION_NORTHING, SIMPLE_FEATURE FROM (SELECT LOCATION_EASTING, LOCATION_NORTHING, SIMPLE_FEATURE, PLACE_ID FROM JERUSALEM.PLACES)TAB3 INNER JOIN (SELECT PLACE_ID, NUMBER FROM (SELECT PLACE_ID, ENTRY_ID, NUMBER FROM JERUSALEM.TOPOS_IN_ENTRY)TAB1 INNER JOIN (SELECT ENTRY_ID FROM JERUSALEM.ENTRIES WHERE DOCUMENT_ID = " + val + ")TAB2 ON TAB1.ENTRY_ID = TAB2.ENTRY_ID)TAB4 ON TAB3.PLACE_ID=TAB4.PLACE_ID ORDER BY NUMBER"; } if (modelIDName.equalsIgnoreCase("ENTRY_ID")) { sql = "SELECT LOCATION_EASTING, LOCATION_NORTHING, SIMPLE_FEATURE FROM (SELECT PLACE_ID FROM JERUSALEM.TOPOS_IN_ENTRY WHERE ENTRY_ID = " + val + ")TAB1 INNER JOIN (SELECT PLACE_ID, LOCATION_EASTING, LOCATION_NORTHING, SIMPLE_FEATURE FROM JERUSALEM.PLACES)TAB2 ON TAB1.PLACE_ID=TAB2.PLACE_ID"; } if (modelIDName.equalsIgnoreCase("PLACE_ID")) { sql = "SELECT LOCATION_EASTING, LOCATION_NORTHING, SIMPLE_FEATURE FROM JERUSALEM.PLACES WHERE PLACE_ID = " + val; } if (modelIDName.equalsIgnoreCase("TOPOS_ID")) { sql = "SELECT LOCATION_EASTING, LOCATION_NORTHING, SIMPLE_FEATURE FROM(SELECT LOCATION_EASTING, LOCATION_NORTHING, SIMPLE_FEATURE, PLACE_ID FROM JERUSALEM.PLACES)TAB1 INNER JOIN (SELECT PLACE_ID FROM JERUSALEM.PLACETOPOS WHERE TOPOS_ID = " + val + ")TAB2 ON TAB1.PLACE_ID=TAB2.PLACE_ID"; } if (modelIDName.equalsIgnoreCase("TOPOS_IN_ENTRY_ID")) { sql = "SELECT LOCATION_EASTING, LOCATION_NORTHING, SIMPLE_FEATURE FROM (SELECT PLACE_ID FROM JERUSALEM.TOPOS_IN_ENTRY WHERE TOPOS_IN_ENTRY_ID = " + val + ")TAB1 INNER JOIN (SELECT PLACE_ID, LOCATION_EASTING, LOCATION_NORTHING, SIMPLE_FEATURE FROM JERUSALEM.PLACES)TAB2 ON TAB1.PLACE_ID=TAB2.PLACE_ID"; } } final List<Object> pathObjLi = readDB(sql); final JerGeoObserverMsg geoMsg = new JerGeoObserverMsg(); final GeometryFactory gf = new GeometryFactory(); for (final Object o : pathObjLi) { final List<Object> objLi = (List<Object>) o; if (objLi.size() == 2 && objLi.get(0) != null && objLi.get(1) != null) { final Point p = gf.createPoint(new Coordinate((double) objLi.get(0), (double) objLi.get(1))); final JerPlace place = new JerPlace(p); geoMsg.addPlaceToLi(place); } if (modelIDName.equalsIgnoreCase("DOCUMENT_ID") && val != -1 && objLi.size() == 3 && objLi.get(1) != null && objLi.get(2) != null) { final Point p = gf.createPoint(new Coordinate((double) objLi.get(1), (double) objLi.get(2))); final JerPlace place = new JerPlace(p); if (objLi.get(0) != null) { place.setNumber((int) objLi.get(0)); } geoMsg.addPlaceToLi(place); } if (objLi.size() == 3 && objLi.get(0) != null && objLi.get(1) != null) { final Point p = gf.createPoint(new Coordinate((double) objLi.get(0), (double) objLi.get(1))); final JerPlace place = new JerPlace(p); if (objLi.get(2) != null) { final WKTReader wktr = new WKTReader(gf); final Geometry additional = wktr.read((String) objLi.get(2)); place.setAdditionalInstances(additional); } geoMsg.addPlaceToLi(place); } if (objLi.size() == 4 && objLi.get(1) != null && objLi.get(2) != null) { final Point p = gf.createPoint(new Coordinate((double) objLi.get(1), (double) objLi.get(2))); final JerPlace place = new JerPlace(p); if (objLi.get(0) != null) { place.setNumber((int) objLi.get(0)); } if (objLi.get(3) != null) { final WKTReader wktr = new WKTReader(gf); final Geometry additional = wktr.read((String) objLi.get(3)); place.setAdditionalInstances(additional); } geoMsg.addPlaceToLi(place); } } informAboutCoordinates(geoMsg); }