vt.addGeometryMetadatata(geomNames.get(i), types.get(i), srids.get(i));
vt.addParameter(new VirtualTableParameter("bool", "true")); vt.addParameter(new VirtualTableParameter("name", "name-f001")); vt.addGeometryMetadatata("pointProperty", Point.class, 4326); jds.createVirtualTable(vt);
"riverReduced", "select a, b, c * %mulparam% \n from table \n where x > 1 %andparam%"); vt.addGeometryMetadatata("geom", LineString.class, 4326); vt.setPrimaryKeyColumns(Arrays.asList("a", "b")); vt.addParameter(new VirtualTableParameter("mulparam", "1", new RegexpValidator("\\d+")));
public void testInvalidQuery() throws Exception { String sql = dataStore.getVirtualTables().get("riverReduced").getSql(); VirtualTable vt = new VirtualTable("riverPolluted", "SOME EXTRA GARBAGE " + sql); vt.addGeometryMetadatata("geom", LineString.class, -1); try { dataStore.addVirtualTable(vt); fail("Should have failed with invalid sql definition"); } catch (IOException e) { // ok, that's what we expected } }
sb.append(" > 4"); vt = new VirtualTable("riverReduced", sb.toString()); vt.addGeometryMetadatata(aname("geom"), LineString.class, 4326); dataStore.addVirtualTable(vt); vt.addGeometryMetadatata(aname("geom"), LineString.class, 4326); dataStore.addVirtualTable(vt); vt.addGeometryMetadatata(aname("geom"), LineString.class, 4326); vt.setPrimaryKeyColumns(Arrays.asList(aname("id"))); dataStore.addVirtualTable(vt); sb.append(" %where%"); vt = new VirtualTable("riverParam", sb.toString()); vt.addGeometryMetadatata(aname("geom"), LineString.class, 4326); vt.addParameter( new VirtualTableParameter("mul", "1", new RegexpValidator("[\\d\\.e\\+-]+")));
/** * Sets the geometries details and the primary key columns into the virtual table * @param vt */ public void fillVirtualTable(VirtualTable vt) { List<String> pks = new ArrayList<String>(); for(SQLViewAttribute att : attributes) { if(Geometry.class.isAssignableFrom(att.getType())) { if(att.getSrid() == null) { vt.addGeometryMetadatata(att.getName(), att.getType(), 4326); } else { vt.addGeometryMetadatata(att.getName(), att.getType(), att.getSrid()); } } if(att.pk) { pks.add(att.getName()); } } if(pks.size() > 0) { vt.setPrimaryKeyColumns(pks); } }
/** * Sets the geometries details and the primary key columns into the virtual table * * @param vt */ @SuppressWarnings("unchecked") public void fillVirtualTable(VirtualTable vt) { List<String> pks = new ArrayList<String>(); for (SQLViewAttribute att : attributes) { if (Geometry.class.isAssignableFrom(att.getType())) { if (att.getSrid() == null) { vt.addGeometryMetadatata( att.getName(), (Class<? extends Geometry>) att.getType(), 4326); } else { vt.addGeometryMetadatata( att.getName(), (Class<? extends Geometry>) att.getType(), att.getSrid()); } } if (att.pk) { pks.add(att.getName()); } } if (pks.size() > 0) { vt.setPrimaryKeyColumns(pks); } } }
vt.addGeometryMetadatata(theGeomName, Polygon.class, 4326); vt.setPrimaryKeyColumns(Arrays.asList(gidName));
vt.addParameter(new VirtualTableParameter("bool", "true")); vt.addParameter(new VirtualTableParameter("name", "name-f001")); vt.addGeometryMetadatata("pointProperty", Point.class, 4326); jds.addVirtualTable(vt);