protected void setModelAndID(final JerModel jm, final int selID) { if (selectedModel != null) { if (jm.equals(selectedModel) && selID == this.selectedID) { return; } if (!jm.equals(selectedModel) && selID == -1) { return; } } jerHistRef.add(new JerHistObj(jm, selID)); setModelAndIDAndNotify(jm, selID); }
@SuppressWarnings("unchecked") public HashMap<String, Object> getAllDataForID(final JerModel jm, final int id) { final String str = jm.getSqlAllDataForID(id); final List<Object> colLi = readDB(str); final HashMap<String, Object> hm = new HashMap<>(); if (colLi.size() == 1) { final List<Object> rowLi = (List<Object>) colLi.get(0); for (int i = 0; i < jm.getDataColumns().length; i++) { hm.put(jm.getDataColumns()[i], rowLi.get(i)); } } return hm; }
private void writeDB( final JerModel jerModel, final boolean isInsert, final boolean isUpdate, final boolean isDelete) { try { try { conn.setAutoCommit(false); if (isInsert) { try (PreparedStatement psJm = jerModel.getPreparer().createInsertStmt(conn)) { psJm.executeUpdate(); } conn.commit(); for (final PreparedStatement stmt : jerModel .getPreparer() .getPrepStmtsFromMultiFields(conn, getMaxIDValueForTable(jerModel))) { try (PreparedStatement psJm = stmt) { psJm.executeUpdate(); } } } else if (isUpdate) { for (final PreparedStatement stmt : jerModel.getPreparer().createUpdateStmts(conn)) { try (PreparedStatement psJm = stmt) { psJm.executeUpdate(); } } } else if (isDelete) { for (final PreparedStatement stmt : jerModel.getPreparer().createDelStmts(conn)) { try (PreparedStatement psJm = stmt) { psJm.executeUpdate(); } } } conn.commit(); setChanged(); notifyObservers(new JerObserverMsg(JerMsgType.DB_UPDATE)); } catch (SQLException | NumberFormatException nfe) { conn.rollback(); conn.setAutoCommit(true); throw nfe; } finally { conn.setAutoCommit(true); } } catch (final SQLException e1) { LOGGER.severe(e1.getMessage()); setModelAndID(jerModel, -1); jerInfoMsgHandler.showMsg("@" + jerModel.getIdName() + ": " + e1.getLocalizedMessage()); } }
@SuppressWarnings("unchecked") public Set<Integer> getAssociatedIDs(final JerModel jm) { final String sql = jm.getSQLStrForIDs(selectedModel, selectedID); final List<Object> objLi = readDB(sql); final Set<Integer> associatedIDs = new HashSet<>(); for (int i = 0; i < objLi.size(); i++) { final List<Object> valueList = (List<Object>) objLi.get(i); associatedIDs.add((Integer) valueList.get(0)); } return associatedIDs; }
@SuppressWarnings("unchecked") public HashMap<String, Object> getTimeDataForID(final JerModel jm, final int id) { final String str = jm.getSqlTimeDataForAuthorID(id); final List<Object> colLi = readDB(str); final HashMap<String, Object> hm = new HashMap<>(); if (colLi.size() == 1) { final List<Object> rowLi = (List<Object>) colLi.get(0); hm.put("BEGIN_YEAR", rowLi.get(0)); hm.put("END_YEAR", rowLi.get(1)); } return hm; }
public List<String> fetchColumnNames(final JerModel jm) throws SQLException { final List<String> strList = new ArrayList<>(); try (PreparedStatement stmt = conn.prepareStatement(jm.getSqlAllData()); ResultSet rs = stmt.executeQuery()) { final ResultSetMetaData rsmd = rs.getMetaData(); final int columnCount = rsmd.getColumnCount(); for (int i = 1; i <= columnCount; i++) { final String str = rsmd.getColumnName(i); strList.add(str); } } return strList; }
@SuppressWarnings("unchecked") public void setPlaceModelAndID(final Coordinate coordinate) { final List<Object> colLi = readDB(selectedModel.getSqlSelectPlaceByCoordinate(coordinate)); int val = -1; if (colLi.size() == 1 && colLi.get(0) != null) { final List<Object> rowLi = (List<Object>) colLi.get(0); if (rowLi.size() == 1 && rowLi.get(0) != null) { val = (int) rowLi.get(0); } } if (val != -1 && pm != null) { setModelAndID(pm, val); } }
@SuppressWarnings("rawtypes") public Class[] getTypes(final JerModel jm) throws SQLException { final List<Class> classTypeList = new ArrayList<>(); try (PreparedStatement stmt = conn.prepareStatement(jm.getSqlAllData()); ResultSet rs = stmt.executeQuery()) { final ResultSetMetaData rsmd = rs.getMetaData(); final int columnCount = rsmd.getColumnCount(); for (int i = 1; i <= columnCount; i++) { final int str = rsmd.getColumnType(i); classTypeList.add(convert(str)); } } return classTypeList.toArray(new Class[0]); }
@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); }
public void checkSelectedPlaces() throws ParseException { checkAssociatedPlaces(selectedModel, selectedModel.getIdName(), selectedID); }
@SuppressWarnings("unchecked") public int getMaxIDValueForTable(final JerModel jerModel) { final List<Object> rowLi = (List<Object>) readDB(jerModel.getSqlMaxID()).get(0); return (int) rowLi.get(0); }
public List<Object> getAllToposForPlaceID(final JerModel jm, final int id) { return readDB(jm.getSqlAllTopoiForPlaceID(id)); }
public List<Object> getAllData(final JerModel jm) { return readDB(jm.getSqlAllData()); }