[mapguide-commits] r7300 - in trunk/MgDev/Doc/samples/javaviewersample: query query/classes theme
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Fri Jan 11 22:33:05 PST 2013
Author: jng
Date: 2013-01-11 22:33:04 -0800 (Fri, 11 Jan 2013)
New Revision: 7300
Modified:
trunk/MgDev/Doc/samples/javaviewersample/query/classes/feature.jsp
trunk/MgDev/Doc/samples/javaviewersample/query/classes/query.jsp
trunk/MgDev/Doc/samples/javaviewersample/query/querycontroller.jsp
trunk/MgDev/Doc/samples/javaviewersample/query/querymain.jsp
trunk/MgDev/Doc/samples/javaviewersample/theme/thememain.jsp
Log:
Fix java viewer sample code.
Modified: trunk/MgDev/Doc/samples/javaviewersample/query/classes/feature.jsp
===================================================================
--- trunk/MgDev/Doc/samples/javaviewersample/query/classes/feature.jsp 2013-01-12 04:16:28 UTC (rev 7299)
+++ trunk/MgDev/Doc/samples/javaviewersample/query/classes/feature.jsp 2013-01-12 06:33:04 UTC (rev 7300)
@@ -30,11 +30,14 @@
public Map idList = null;
public Feature(String displayValue, MgPoint centerPoint, Map idList) throws MgException
- {
- this.displayValue = displayValue;
- this.centerX = centerPoint.GetCoordinate().GetX();
- this.centerY = centerPoint.GetCoordinate().GetY();
- this.idList = new HashMap(idList);
- }
+ {
+ this.displayValue = displayValue;
+ if (centerPoint != null)
+ {
+ this.centerX = centerPoint.GetCoordinate().GetX();
+ this.centerY = centerPoint.GetCoordinate().GetY();
+ }
+ this.idList = new HashMap(idList);
+ }
}
%>
Modified: trunk/MgDev/Doc/samples/javaviewersample/query/classes/query.jsp
===================================================================
--- trunk/MgDev/Doc/samples/javaviewersample/query/classes/query.jsp 2013-01-12 04:16:28 UTC (rev 7299)
+++ trunk/MgDev/Doc/samples/javaviewersample/query/classes/query.jsp 2013-01-12 06:33:04 UTC (rev 7300)
@@ -27,67 +27,67 @@
<%!
public class Query
{
- Map<String, String> args = null;
- private MgSiteConnection site = null;
- private String[] numOperators = null;
- private String[] numExpressions = null;
- private String[] strOperators = null;
- private String[] strExpressions = null;
-
- public Query(Map<String, String> incomingArgs) throws MgException
- {
- this.args = incomingArgs;
- this.site = new MgSiteConnection();
- this.site.Open(new MgUserInformation(this.args.get("SESSION")));
- this.numOperators = new String[] {"Equal to", "Not equal to", "Greater than", "Greater than or equal to", "Less than", "Less than or equal to"};
- this.numExpressions = new String[] {" = %s", " != %s", " > %s", " >= %s", " < %s", " <= %s"};
- this.strOperators = new String[] {"Begins with", "Contains", "Equal to"};
- this.strExpressions = new String[] {" like '%s%%'", " like '%%%s%%'", " = '%s'"};
- }
-
- public String getNumOp()
- {
- JSONArray jsonArray = new JSONArray();
- for(int i=0;i<6;i++)
- {
- jsonArray.put(numOperators[i]);
- }
- return jsonArray.toString();
- }
+ Map<String, String> args = null;
+ private MgSiteConnection site = null;
+ private String[] numOperators = null;
+ private String[] numExpressions = null;
+ private String[] strOperators = null;
+ private String[] strExpressions = null;
+
+ public Query(Map<String, String> incomingArgs) throws MgException
+ {
+ this.args = incomingArgs;
+ this.site = new MgSiteConnection();
+ this.site.Open(new MgUserInformation(this.args.get("SESSION")));
+ this.numOperators = new String[] {"Equal to", "Not equal to", "Greater than", "Greater than or equal to", "Less than", "Less than or equal to"};
+ this.numExpressions = new String[] {" = %s", " != %s", " > %s", " >= %s", " < %s", " <= %s"};
+ this.strOperators = new String[] {"Begins with", "Contains", "Equal to"};
+ this.strExpressions = new String[] {" like '%s%%'", " like '%%%s%%'", " = '%s'"};
+ }
+
+ public String getNumOp()
+ {
+ JSONArray jsonArray = new JSONArray();
+ for(int i=0;i<6;i++)
+ {
+ jsonArray.put(numOperators[i]);
+ }
+ return jsonArray.toString();
+ }
- public String getStrOp()
- {
- JSONArray jsonArray = new JSONArray();
- for(int i=0;i<3;i++)
- {
- jsonArray.put(strOperators[i]);
- }
- return jsonArray.toString();
- }
+ public String getStrOp()
+ {
+ JSONArray jsonArray = new JSONArray();
+ for(int i=0;i<3;i++)
+ {
+ jsonArray.put(strOperators[i]);
+ }
+ return jsonArray.toString();
+ }
public ArrayList<String> GetMapLayerNames() throws MgException
- {
- MgResourceService resourceService = (MgResourceService)this.site.CreateService(MgServiceType.ResourceService);
- MgMap map = new MgMap();
- map.Open(resourceService, this.args.get("MAPNAME"));
- MgLayerCollection layers = map.GetLayers();
- ArrayList<String> layerNames = new ArrayList<String>();
+ {
+ MgResourceService resourceService = (MgResourceService)this.site.CreateService(MgServiceType.ResourceService);
+ MgMap map = new MgMap();
+ map.Open(resourceService, this.args.get("MAPNAME"));
+ MgLayerCollection layers = map.GetLayers();
+ ArrayList<String> layerNames = new ArrayList<String>();
- for(int i=0; i<layers.GetCount(); i++)
- {
- MgLayer layer = (MgLayer) layers.GetItem(i);
+ for(int i=0; i<layers.GetCount(); i++)
+ {
+ MgLayer layer = (MgLayer) layers.GetItem(i);
- //TODO: Exclue Raster and Drawing Layers???
-
- if(!layer.GetName().startsWith("_") && !layer.GetFeatureSourceId().toUpperCase().startsWith("SESSION"))
- layerNames.add(layer.GetLegendLabel());
- }
- Collections.sort(layerNames);
+ //TODO: Exclue Raster and Drawing Layers???
+
+ if(!layer.GetName().startsWith("_") && !layer.GetFeatureSourceId().toUpperCase().startsWith("SESSION"))
+ layerNames.add(layer.GetLegendLabel());
+ }
+ Collections.sort(layerNames);
- return layerNames;
+ return layerNames;
}
- public ArrayList<Property> GetLayerProperties() throws MgException
+ public ArrayList<Property> GetLayerProperties() throws MgException
{
ArrayList<Property> properties = new ArrayList<Property>();
MgResourceService resourceService = (MgResourceService)this.site.CreateService(MgServiceType.ResourceService);
@@ -119,416 +119,424 @@
}
public boolean ToggleSpatialFilter() throws MgException
- {
- boolean result = true;
- MgResourceService resourceService = (MgResourceService)this.site.CreateService(MgServiceType.ResourceService);
- MgMap map = new MgMap();
- map.Open(resourceService, this.args.get("MAPNAME"));
+ {
+ boolean result = true;
+ MgResourceService resourceService = (MgResourceService)this.site.CreateService(MgServiceType.ResourceService);
+ MgMap map = new MgMap();
+ map.Open(resourceService, this.args.get("MAPNAME"));
- MgLayerCollection layers = map.GetLayers();
- if(layers.Contains("_QuerySpatialFilter"))
- {
- MgLayer layer = (MgLayer) layers.GetItem("_QuerySpatialFilter");
- if(this.args.get("VISIBLE").equals("true"))
- layer.SetVisible(true);
- else
- layer.SetVisible(false);
+ MgLayerCollection layers = map.GetLayers();
+ if(layers.Contains("_QuerySpatialFilter"))
+ {
+ MgLayer layer = (MgLayer) layers.GetItem("_QuerySpatialFilter");
+ if(this.args.get("VISIBLE").equals("true"))
+ layer.SetVisible(true);
+ else
+ layer.SetVisible(false);
- map.Save(resourceService);
- }
+ map.Save(resourceService);
+ }
- return result;
+ return result;
}
- public boolean ShowSpatialFilter() throws MgException, FileNotFoundException, IOException
- {
- boolean result = true;
- MgResourceIdentifier sdfResId = new MgResourceIdentifier("Session:"+this.args.get("SESSION")+"//Filter.FeatureSource");
+ public boolean ShowSpatialFilter() throws MgException, FileNotFoundException, IOException
+ {
+ boolean result = true;
+ MgResourceIdentifier sdfResId = new MgResourceIdentifier("Session:"+this.args.get("SESSION")+"//Filter.FeatureSource");
- MgResourceService resourceService = (MgResourceService)this.site.CreateService(MgServiceType.ResourceService);
- MgFeatureService featureService = (MgFeatureService)this.site.CreateService(MgServiceType.FeatureService);
+ MgResourceService resourceService = (MgResourceService)this.site.CreateService(MgServiceType.ResourceService);
+ MgFeatureService featureService = (MgFeatureService)this.site.CreateService(MgServiceType.FeatureService);
- MgFeatureCommandCollection updateCommands = new MgFeatureCommandCollection();
+ MgFeatureCommandCollection updateCommands = new MgFeatureCommandCollection();
- MgMap map = new MgMap();
- map.Open(resourceService, this.args.get("MAPNAME"));
+ MgMap map = new MgMap();
+ map.Open(resourceService, this.args.get("MAPNAME"));
- MgLayer layer = null;
- MgLayerCollection layers = map.GetLayers();
- if(layers.Contains("_QuerySpatialFilter"))
- {
- layer = (MgLayer) layers.GetItem("_QuerySpatialFilter");
- updateCommands.Add(new MgDeleteFeatures("Filter", "ID like '%'"));
- }
- else
- {
- // Create the Feature Source (SDF)
+ MgLayer layer = null;
+ MgLayerCollection layers = map.GetLayers();
+ if(layers.Contains("_QuerySpatialFilter"))
+ {
+ layer = (MgLayer) layers.GetItem("_QuerySpatialFilter");
+ updateCommands.Add(new MgDeleteFeatures("Filter", "ID like '%'"));
+ }
+ else
+ {
+ // Create the Feature Source (SDF)
- MgFeatureSchema sdfSchema = this.CreateFilterSchema();
- MgCreateSdfParams sdfParams = new MgCreateSdfParams("MAPCS", map.GetMapSRS(), sdfSchema);
- featureService.CreateFeatureSource(sdfResId, sdfParams);
+ MgFeatureSchema sdfSchema = this.CreateFilterSchema();
+ MgCreateSdfParams sdfParams = new MgCreateSdfParams("MAPCS", map.GetMapSRS(), sdfSchema);
+ featureService.CreateFeatureSource(sdfResId, sdfParams);
- // Create the Layer
+ // Create the Layer
- MgResourceIdentifier layerResId = new MgResourceIdentifier("Session:"+this.args.get("SESSION")+"//Filter.LayerDefinition");
+ MgResourceIdentifier layerResId = new MgResourceIdentifier("Session:"+this.args.get("SESSION")+"//Filter.LayerDefinition");
- String lineSep = System.getProperty("line.separator");
- BufferedReader buffReader = new BufferedReader(new FileReader(GetQueryXmlTemplatePath()));
- String nextLine = "";
- StringBuffer strBuffer = new StringBuffer();
- while((nextLine = buffReader.readLine()) != null)
- {
- strBuffer.append(nextLine);
- strBuffer.append(lineSep);
- }
- String layerDefinition = strBuffer.toString();
- layerDefinition = layerDefinition.replaceAll("%s", sdfResId.ToString());
+ String lineSep = System.getProperty("line.separator");
+ BufferedReader buffReader = new BufferedReader(new FileReader(GetQueryXmlTemplatePath()));
+ String nextLine = "";
+ StringBuffer strBuffer = new StringBuffer();
+ while((nextLine = buffReader.readLine()) != null)
+ {
+ strBuffer.append(nextLine);
+ strBuffer.append(lineSep);
+ }
+ String layerDefinition = strBuffer.toString();
+ layerDefinition = layerDefinition.replaceAll("%s", sdfResId.ToString());
- MgByteSource byteSource = new MgByteSource(layerDefinition.getBytes(), layerDefinition.length());
- resourceService.SetResource(layerResId, byteSource.GetReader(), null);
+ MgByteSource byteSource = new MgByteSource(layerDefinition.getBytes(), layerDefinition.length());
+ resourceService.SetResource(layerResId, byteSource.GetReader(), null);
- layer = new MgLayer(layerResId, resourceService);
+ layer = new MgLayer(layerResId, resourceService);
- layer.SetName("_QuerySpatialFilter");
- layer.SetLegendLabel("_QuerySpatialFilter");
- layer.SetDisplayInLegend(false);
- layer.SetSelectable(false);
+ layer.SetName("_QuerySpatialFilter");
+ layer.SetLegendLabel("_QuerySpatialFilter");
+ layer.SetDisplayInLegend(false);
+ layer.SetSelectable(false);
- layers.Insert(0, layer);
- }
+ layers.Insert(0, layer);
+ }
- // Make the layer visible
+ // Make the layer visible
- layer.SetVisible(true);
- map.Save(resourceService);
+ layer.SetVisible(true);
+ map.Save(resourceService);
- // Add the geometry to the filter feature source
+ // Add the geometry to the filter feature source
- MgPolygon polygon = this.CreatePolygonFromGeomText(this.args.get("GEOMTEXT"));
- MgAgfReaderWriter agfWriter = new MgAgfReaderWriter();
- MgByteReader byteReader = agfWriter.Write(polygon);
+ MgPolygon polygon = this.CreatePolygonFromGeomText(this.args.get("GEOMTEXT"));
+ MgAgfReaderWriter agfWriter = new MgAgfReaderWriter();
+ MgByteReader byteReader = agfWriter.Write(polygon);
- MgPropertyCollection propertyValues = new MgPropertyCollection();
- propertyValues.Add(new MgGeometryProperty("Geometry", byteReader));
+ MgPropertyCollection propertyValues = new MgPropertyCollection();
+ propertyValues.Add(new MgGeometryProperty("Geometry", byteReader));
- updateCommands.Add(new MgInsertFeatures("Filter", propertyValues));
+ updateCommands.Add(new MgInsertFeatures("Filter", propertyValues));
- featureService.UpdateFeatures(sdfResId, updateCommands, false);
+ featureService.UpdateFeatures(sdfResId, updateCommands, false);
- return result;
+ return result;
}
-
+
public ArrayList<Feature> Execute() throws MgException
- {
- ArrayList<Feature> result = new ArrayList<Feature>();
- MgResourceService resourceService = (MgResourceService)this.site.CreateService(MgServiceType.ResourceService);
+ {
+ ArrayList<Feature> result = new ArrayList<Feature>();
+ MgResourceService resourceService = (MgResourceService)this.site.CreateService(MgServiceType.ResourceService);
- MgMap map = new MgMap();
- map.Open(resourceService, this.args.get("MAPNAME"));
- MgLayer layer = (MgLayer) map.GetLayers().GetItem(this.args.get("LAYERNAME"));
+ MgMap map = new MgMap();
+ map.Open(resourceService, this.args.get("MAPNAME"));
+ MgLayer layer = (MgLayer) map.GetLayers().GetItem(this.args.get("LAYERNAME"));
- MgFeatureService featureService = (MgFeatureService)this.site.CreateService(MgServiceType.FeatureService);
- MgResourceIdentifier resId = new MgResourceIdentifier(layer.GetFeatureSourceId());
- String featureClass = layer.GetFeatureClassName();
- String featureGeometry = layer.GetFeatureGeometryName();
+ MgFeatureService featureService = (MgFeatureService)this.site.CreateService(MgServiceType.FeatureService);
+ MgResourceIdentifier resId = new MgResourceIdentifier(layer.GetFeatureSourceId());
+ String featureClass = layer.GetFeatureClassName();
+ String featureGeometry = layer.GetFeatureGeometryName();
- // Initialize the coordinate system transform
+ // Initialize the coordinate system transform
- String[] schemaClass = layer.GetFeatureClassName().split(":");
- MgClassDefinition classDef = featureService.GetClassDefinition(resId, schemaClass[0], schemaClass[1]);
- MgGeometricPropertyDefinition geomProp = (MgGeometricPropertyDefinition) classDef.GetProperties().GetItem(featureGeometry);
- String spatialContext = geomProp.GetSpatialContextAssociation();
+ String[] schemaClass = layer.GetFeatureClassName().split(":");
+ MgClassDefinition classDef = featureService.GetClassDefinition(resId, schemaClass[0], schemaClass[1]);
+ MgGeometricPropertyDefinition geomProp = (MgGeometricPropertyDefinition) classDef.GetProperties().GetItem(featureGeometry);
+ String spatialContext = geomProp.GetSpatialContextAssociation();
- MgCoordinateSystemTransform csTransform = null;
- MgCoordinateSystemTransform csInverseTransform = null;
- MgCoordinateSystemFactory coordSysFactory = new MgCoordinateSystemFactory();
+ MgCoordinateSystemTransform csTransform = null;
+ MgCoordinateSystemTransform csInverseTransform = null;
+ MgCoordinateSystemFactory coordSysFactory = new MgCoordinateSystemFactory();
- MgSpatialContextReader scReader = featureService.GetSpatialContexts(resId, false);
- while(scReader.ReadNext() && csTransform==null)
- {
- if(spatialContext.equals(scReader.GetName()))
- {
- MgCoordinateSystem source = coordSysFactory.Create(scReader.GetCoordinateSystemWkt());
- MgCoordinateSystem target = coordSysFactory.Create(map.GetMapSRS());
- csTransform = coordSysFactory.GetTransform(source, target);
- csInverseTransform = coordSysFactory.GetTransform(target, source);
- }
- }
- scReader.Close();
+ MgSpatialContextReader scReader = featureService.GetSpatialContexts(resId, false);
+ while(scReader.ReadNext() && csTransform==null)
+ {
+ if(spatialContext.equals(scReader.GetName()))
+ {
+ MgCoordinateSystem source = coordSysFactory.Create(scReader.GetCoordinateSystemWkt());
+ MgCoordinateSystem target = coordSysFactory.Create(map.GetMapSRS());
+ csTransform = coordSysFactory.GetTransform(source, target);
+ csInverseTransform = coordSysFactory.GetTransform(target, source);
+ }
+ }
+ scReader.Close();
- // Execute the query
+ // Execute the query
- int queryMax = Integer.parseInt(this.args.get("QUERYMAX").trim());
- MgFeatureQueryOptions queryOptions = new MgFeatureQueryOptions();
+ int queryMax = Integer.parseInt(this.args.get("QUERYMAX").trim());
+ MgFeatureQueryOptions queryOptions = new MgFeatureQueryOptions();
- if(this.args.get("USEPROPERTYFILTER").equals("true"))
- {
- String propertyFilter = this.args.get("PROPERTYNAME");
- int operator = Integer.valueOf(this.args.get("OPERATOR"));
- int count = 0;
- if(this.args.get("ISSTRING").equals("true"))
- {
- propertyFilter = propertyFilter + this.strExpressions[operator].replaceAll("%s", this.args.get("VALUE"));
- }
- else
- {
- propertyFilter = propertyFilter + this.numExpressions[operator].replaceAll("%s", this.args.get("VALUE"));
- }
- queryOptions.SetFilter(propertyFilter);
- }
+ if(this.args.get("USEPROPERTYFILTER").equals("true"))
+ {
+ String propertyFilter = this.args.get("PROPERTYNAME");
+ int operator = Integer.valueOf(this.args.get("OPERATOR"));
+ int count = 0;
+ if(this.args.get("ISSTRING").equals("true"))
+ {
+ propertyFilter = propertyFilter + this.strExpressions[operator].replaceAll("%s", this.args.get("VALUE"));
+ }
+ else
+ {
+ propertyFilter = propertyFilter + this.numExpressions[operator].replaceAll("%s", this.args.get("VALUE"));
+ }
+ queryOptions.SetFilter(propertyFilter);
+ }
- if(this.args.get("USESPATIALFILTER").equals("true"))
- {
- MgPolygon polygon = this.CreatePolygonFromGeomText(this.args.get("GEOMTEXT"));
- MgGeometry geometry = (MgGeometry) polygon.Transform(csInverseTransform);
- queryOptions.SetSpatialFilter(featureGeometry, geometry, MgFeatureSpatialOperations.Intersects);
- }
+ if(this.args.get("USESPATIALFILTER").equals("true"))
+ {
+ MgPolygon polygon = this.CreatePolygonFromGeomText(this.args.get("GEOMTEXT"));
+ MgGeometry geometry = (MgGeometry) polygon.Transform(csInverseTransform);
+ queryOptions.SetSpatialFilter(featureGeometry, geometry, MgFeatureSpatialOperations.Intersects);
+ }
- int count = 0;
- MgAgfReaderWriter geometryReaderWriter = new MgAgfReaderWriter();
- MgFeatureReader featureReader = featureService.SelectFeatures(resId, layer.GetFeatureClassName(), queryOptions);
- String displayValue = null;
- while(featureReader.ReadNext() && (queryMax <= 0 || count < queryMax))
- {
- MgByteReader byteReader = featureReader.GetGeometry(featureGeometry);
- MgGeometry geometry = geometryReaderWriter.Read(byteReader);
- MgPoint centerPoint = geometry.GetCentroid();
- centerPoint = (MgPoint) centerPoint.Transform(csTransform);
+ int count = 0;
+ MgAgfReaderWriter geometryReaderWriter = new MgAgfReaderWriter();
+ MgFeatureReader featureReader = featureService.SelectFeatures(resId, layer.GetFeatureClassName(), queryOptions);
+ String displayValue = null;
+ while(featureReader.ReadNext() && (queryMax <= 0 || count < queryMax))
+ {
+ MgByteReader byteReader = featureReader.GetGeometry(featureGeometry);
+ MgPoint centerPoint = null;
+ try
+ {
+ MgGeometry geometry = geometryReaderWriter.Read(byteReader);
+ centerPoint = geometry.GetCentroid();
+ centerPoint = (MgPoint) centerPoint.Transform(csTransform);
+ }
+ catch (MgException ex) //Maybe because of bad geometry
+ {
+ centerPoint = null;
+ }
- Map idList = new HashMap(this.GetFeatureIdList(featureReader));
-
- int propertyType = featureReader.GetPropertyType(this.args.get("OUTPUTPROPERTY"));
- switch(propertyType)
- {
- case MgPropertyType.Boolean :
- displayValue = String.valueOf(featureReader.GetBoolean(this.args.get("OUTPUTPROPERTY")));
- break;
- case MgPropertyType.Byte :
- displayValue = String.valueOf(featureReader.GetByte(this.args.get("OUTPUTPROPERTY")));
- break;
- case MgPropertyType.Single :
- displayValue = String.valueOf(featureReader.GetSingle(this.args.get("OUTPUTPROPERTY")));
- break;
- case MgPropertyType.Double :
- displayValue = String.valueOf(featureReader.GetDouble(this.args.get("OUTPUTPROPERTY")));
- break;
- case MgPropertyType.Int16 :
- displayValue = String.valueOf(featureReader.GetInt16(this.args.get("OUTPUTPROPERTY")));
- break;
- case MgPropertyType.Int32 :
- displayValue = String.valueOf(featureReader.GetInt32(this.args.get("OUTPUTPROPERTY")));
- break;
- case MgPropertyType.Int64 :
- displayValue = String.valueOf(featureReader.GetInt64(this.args.get("OUTPUTPROPERTY")));
- break;
- case MgPropertyType.String :
- displayValue = featureReader.GetString(this.args.get("OUTPUTPROPERTY"));
- break;
- case MgPropertyType.DateTime :
- case MgPropertyType.Null :
- case MgPropertyType.Blob :
- case MgPropertyType.Clob :
- case MgPropertyType.Feature :
- case MgPropertyType.Geometry :
- case MgPropertyType.Raster :
- displayValue = "[unsupported data type]";
- break;
- }
- result.add(new Feature(displayValue, centerPoint, idList));
- count++;
- }
+ Map idList = new HashMap(this.GetFeatureIdList(featureReader));
+
+ int propertyType = featureReader.GetPropertyType(this.args.get("OUTPUTPROPERTY"));
+ switch(propertyType)
+ {
+ case MgPropertyType.Boolean :
+ displayValue = String.valueOf(featureReader.GetBoolean(this.args.get("OUTPUTPROPERTY")));
+ break;
+ case MgPropertyType.Byte :
+ displayValue = String.valueOf(featureReader.GetByte(this.args.get("OUTPUTPROPERTY")));
+ break;
+ case MgPropertyType.Single :
+ displayValue = String.valueOf(featureReader.GetSingle(this.args.get("OUTPUTPROPERTY")));
+ break;
+ case MgPropertyType.Double :
+ displayValue = String.valueOf(featureReader.GetDouble(this.args.get("OUTPUTPROPERTY")));
+ break;
+ case MgPropertyType.Int16 :
+ displayValue = String.valueOf(featureReader.GetInt16(this.args.get("OUTPUTPROPERTY")));
+ break;
+ case MgPropertyType.Int32 :
+ displayValue = String.valueOf(featureReader.GetInt32(this.args.get("OUTPUTPROPERTY")));
+ break;
+ case MgPropertyType.Int64 :
+ displayValue = String.valueOf(featureReader.GetInt64(this.args.get("OUTPUTPROPERTY")));
+ break;
+ case MgPropertyType.String :
+ displayValue = featureReader.GetString(this.args.get("OUTPUTPROPERTY"));
+ break;
+ case MgPropertyType.DateTime :
+ case MgPropertyType.Null :
+ case MgPropertyType.Blob :
+ case MgPropertyType.Clob :
+ case MgPropertyType.Feature :
+ case MgPropertyType.Geometry :
+ case MgPropertyType.Raster :
+ displayValue = "[unsupported data type]";
+ break;
+ }
+ result.add(new Feature(displayValue, centerPoint, idList));
+ count++;
+ }
- return result;
+ return result;
}
- public String GetSelectionXML() throws MgException, JSONException
- {
- MgResourceService resourceService = (MgResourceService)this.site.CreateService(MgServiceType.ResourceService);
- MgFeatureService featureService = (MgFeatureService)this.site.CreateService(MgServiceType.FeatureService);
+ public String GetSelectionXML() throws MgException, JSONException
+ {
+ MgResourceService resourceService = (MgResourceService)this.site.CreateService(MgServiceType.ResourceService);
+ MgFeatureService featureService = (MgFeatureService)this.site.CreateService(MgServiceType.FeatureService);
- MgMap map = new MgMap();
- map.Open(resourceService, this.args.get("MAPNAME"));
- MgLayer layer = (MgLayer) map.GetLayers().GetItem(this.args.get("LAYERNAME"));
- MgResourceIdentifier resId = new MgResourceIdentifier(layer.GetFeatureSourceId());
- String featureClass = layer.GetFeatureClassName();
+ MgMap map = new MgMap();
+ map.Open(resourceService, this.args.get("MAPNAME"));
+ MgLayer layer = (MgLayer) map.GetLayers().GetItem(this.args.get("LAYERNAME"));
+ MgResourceIdentifier resId = new MgResourceIdentifier(layer.GetFeatureSourceId());
+ String featureClass = layer.GetFeatureClassName();
- String[] schemaClass = layer.GetFeatureClassName().split(":");
- MgClassDefinition classDef = featureService.GetClassDefinition(resId, schemaClass[0], schemaClass[1]);
+ String[] schemaClass = layer.GetFeatureClassName().split(":");
+ MgClassDefinition classDef = featureService.GetClassDefinition(resId, schemaClass[0], schemaClass[1]);
- MgPropertyCollection properties = new MgPropertyCollection();
- MgDataPropertyDefinition dataPropDef = null;
- JSONObject json = new JSONObject(this.args.get("IDLIST"));
+ MgPropertyCollection properties = new MgPropertyCollection();
+ MgDataPropertyDefinition dataPropDef = null;
+ JSONObject json = new JSONObject(this.args.get("IDLIST"));
- Iterator it = json.keys();
- while(it.hasNext())
- {
- String key = (String) it.next();
- Object value = json.get(key);
- dataPropDef = (MgDataPropertyDefinition) classDef.GetProperties().GetItem(key);
- switch(dataPropDef.GetDataType())
- {
- case MgPropertyType.Boolean :
- properties.Add(new MgBooleanProperty(key, Boolean.valueOf(value.toString())));
- break;
- case MgPropertyType.Byte :
- properties.Add(new MgByteProperty(key, Byte.valueOf(value.toString())));
- break;
- case MgPropertyType.Single :
- properties.Add(new MgSingleProperty(key, Float.valueOf(value.toString())));
- break;
- case MgPropertyType.Double :
- properties.Add(new MgDoubleProperty(key, Double.valueOf(value.toString())));
- break;
- case MgPropertyType.Int16 :
- properties.Add(new MgInt16Property(key, Short.valueOf(value.toString())));
- break;
- case MgPropertyType.Int32 :
- properties.Add(new MgInt32Property(key, Integer.valueOf(value.toString())));
- break;
- case MgPropertyType.Int64 :
- properties.Add(new MgInt64Property(key, Long.valueOf(value.toString())));
- break;
- case MgPropertyType.String :
- properties.Add(new MgStringProperty(key, value.toString()));
- break;
- case MgPropertyType.DateTime :
- case MgPropertyType.Null :
- case MgPropertyType.Blob :
- case MgPropertyType.Clob :
- case MgPropertyType.Feature :
- case MgPropertyType.Geometry :
- case MgPropertyType.Raster :
- break;
- }
- }
+ Iterator it = json.keys();
+ while(it.hasNext())
+ {
+ String key = (String) it.next();
+ Object value = json.get(key);
+ dataPropDef = (MgDataPropertyDefinition) classDef.GetProperties().GetItem(key);
+ switch(dataPropDef.GetDataType())
+ {
+ case MgPropertyType.Boolean :
+ properties.Add(new MgBooleanProperty(key, Boolean.valueOf(value.toString())));
+ break;
+ case MgPropertyType.Byte :
+ properties.Add(new MgByteProperty(key, Byte.valueOf(value.toString())));
+ break;
+ case MgPropertyType.Single :
+ properties.Add(new MgSingleProperty(key, Float.valueOf(value.toString())));
+ break;
+ case MgPropertyType.Double :
+ properties.Add(new MgDoubleProperty(key, Double.valueOf(value.toString())));
+ break;
+ case MgPropertyType.Int16 :
+ properties.Add(new MgInt16Property(key, Short.valueOf(value.toString())));
+ break;
+ case MgPropertyType.Int32 :
+ properties.Add(new MgInt32Property(key, Integer.valueOf(value.toString())));
+ break;
+ case MgPropertyType.Int64 :
+ properties.Add(new MgInt64Property(key, Long.valueOf(value.toString())));
+ break;
+ case MgPropertyType.String :
+ properties.Add(new MgStringProperty(key, value.toString()));
+ break;
+ case MgPropertyType.DateTime :
+ case MgPropertyType.Null :
+ case MgPropertyType.Blob :
+ case MgPropertyType.Clob :
+ case MgPropertyType.Feature :
+ case MgPropertyType.Geometry :
+ case MgPropertyType.Raster :
+ break;
+ }
+ }
- MgSelection selection = new MgSelection(map);
- selection.AddFeatureIds(layer, featureClass, properties);
+ MgSelection selection = new MgSelection(map);
+ selection.AddFeatureIds(layer, featureClass, properties);
- return selection.ToXml();
+ return selection.ToXml();
}
-
+
private Map GetFeatureIdList(MgFeatureReader featureReader) throws MgException
- {
- MgClassDefinition classDef = featureReader.GetClassDefinition();
- MgPropertyDefinitionCollection idProps = classDef.GetIdentityProperties();
- Map idList = new HashMap();
+ {
+ MgClassDefinition classDef = featureReader.GetClassDefinition();
+ MgPropertyDefinitionCollection idProps = classDef.GetIdentityProperties();
+ Map idList = new HashMap();
- for(int i=0; i<idProps.GetCount(); i++)
- {
- MgDataPropertyDefinition idProp = (MgDataPropertyDefinition) idProps.GetItem(i);
+ for(int i=0; i<idProps.GetCount(); i++)
+ {
+ MgDataPropertyDefinition idProp = (MgDataPropertyDefinition) idProps.GetItem(i);
- switch(idProp.GetDataType())
- {
- case MgPropertyType.Boolean :
- idList.put(idProp.GetName(), featureReader.GetBoolean(idProp.GetName()));
- break;
- case MgPropertyType.Byte :
- idList.put(idProp.GetName(), featureReader.GetByte(idProp.GetName()));
- break;
- case MgPropertyType.Single :
- idList.put(idProp.GetName(), featureReader.GetSingle(idProp.GetName()));
- break;
- case MgPropertyType.Double :
- idList.put(idProp.GetName(), featureReader.GetDouble(idProp.GetName()));
- break;
- case MgPropertyType.Int16 :
- idList.put(idProp.GetName(), featureReader.GetInt16(idProp.GetName()));
- break;
- case MgPropertyType.Int32 :
- idList.put(idProp.GetName(), featureReader.GetInt32(idProp.GetName()));
- break;
- case MgPropertyType.Int64 :
- idList.put(idProp.GetName(), featureReader.GetInt64(idProp.GetName()));
- break;
- case MgPropertyType.String :
- idList.put(idProp.GetName(), featureReader.GetString(idProp.GetName()));
- break;
- case MgPropertyType.DateTime :
- idList.put(idProp.GetName(), featureReader.GetDateTime(idProp.GetName()));
- break;
- case MgPropertyType.Null :
- case MgPropertyType.Blob :
- case MgPropertyType.Clob :
- case MgPropertyType.Feature :
- case MgPropertyType.Geometry :
- case MgPropertyType.Raster :
- break;
- }
- }
+ switch(idProp.GetDataType())
+ {
+ case MgPropertyType.Boolean :
+ idList.put(idProp.GetName(), featureReader.GetBoolean(idProp.GetName()));
+ break;
+ case MgPropertyType.Byte :
+ idList.put(idProp.GetName(), featureReader.GetByte(idProp.GetName()));
+ break;
+ case MgPropertyType.Single :
+ idList.put(idProp.GetName(), featureReader.GetSingle(idProp.GetName()));
+ break;
+ case MgPropertyType.Double :
+ idList.put(idProp.GetName(), featureReader.GetDouble(idProp.GetName()));
+ break;
+ case MgPropertyType.Int16 :
+ idList.put(idProp.GetName(), featureReader.GetInt16(idProp.GetName()));
+ break;
+ case MgPropertyType.Int32 :
+ idList.put(idProp.GetName(), featureReader.GetInt32(idProp.GetName()));
+ break;
+ case MgPropertyType.Int64 :
+ idList.put(idProp.GetName(), featureReader.GetInt64(idProp.GetName()));
+ break;
+ case MgPropertyType.String :
+ idList.put(idProp.GetName(), featureReader.GetString(idProp.GetName()));
+ break;
+ case MgPropertyType.DateTime :
+ idList.put(idProp.GetName(), featureReader.GetDateTime(idProp.GetName()));
+ break;
+ case MgPropertyType.Null :
+ case MgPropertyType.Blob :
+ case MgPropertyType.Clob :
+ case MgPropertyType.Feature :
+ case MgPropertyType.Geometry :
+ case MgPropertyType.Raster :
+ break;
+ }
+ }
- return idList;
+ return idList;
}
-
+
private boolean IsValidDataType(int type)
- {
- boolean valid = true;
+ {
+ boolean valid = true;
- switch(type)
- {
- case MgPropertyType.Blob:
- case MgPropertyType.Clob:
- case MgPropertyType.Byte:
- case MgPropertyType.Feature:
- case MgPropertyType.Geometry:
- case MgPropertyType.Null:
- valid = false;
- break;
- }
+ switch(type)
+ {
+ case MgPropertyType.Blob:
+ case MgPropertyType.Clob:
+ case MgPropertyType.Byte:
+ case MgPropertyType.Feature:
+ case MgPropertyType.Geometry:
+ case MgPropertyType.Null:
+ valid = false;
+ break;
+ }
- return valid;
+ return valid;
}
-
+
private MgFeatureSchema CreateFilterSchema() throws MgException
- {
- MgFeatureSchema filterSchema = new MgFeatureSchema();
- filterSchema.SetName("FilterSchema");
+ {
+ MgFeatureSchema filterSchema = new MgFeatureSchema();
+ filterSchema.SetName("FilterSchema");
- MgClassDefinition filterClass = new MgClassDefinition();
- filterClass.SetName("Filter");
- MgPropertyDefinitionCollection properties = filterClass.GetProperties();
+ MgClassDefinition filterClass = new MgClassDefinition();
+ filterClass.SetName("Filter");
+ MgPropertyDefinitionCollection properties = filterClass.GetProperties();
- MgDataPropertyDefinition idProperty = new MgDataPropertyDefinition("ID");
- idProperty.SetDataType(MgPropertyType.Int32);
- idProperty.SetReadOnly(true);
- idProperty.SetNullable(false);
- idProperty.SetAutoGeneration(true);
- properties.Add(idProperty);
+ MgDataPropertyDefinition idProperty = new MgDataPropertyDefinition("ID");
+ idProperty.SetDataType(MgPropertyType.Int32);
+ idProperty.SetReadOnly(true);
+ idProperty.SetNullable(false);
+ idProperty.SetAutoGeneration(true);
+ properties.Add(idProperty);
- MgGeometricPropertyDefinition geometryProperty = new MgGeometricPropertyDefinition("Geometry");
- geometryProperty.SetGeometryTypes(MgFeatureGeometricType.Surface);
- geometryProperty.SetHasElevation(false);
- geometryProperty.SetHasMeasure(false);
- geometryProperty.SetReadOnly(false);
- geometryProperty.SetSpatialContextAssociation("MAPCS");
- properties.Add(geometryProperty);
+ MgGeometricPropertyDefinition geometryProperty = new MgGeometricPropertyDefinition("Geometry");
+ geometryProperty.SetGeometryTypes(MgFeatureGeometricType.Surface);
+ geometryProperty.SetHasElevation(false);
+ geometryProperty.SetHasMeasure(false);
+ geometryProperty.SetReadOnly(false);
+ geometryProperty.SetSpatialContextAssociation("MAPCS");
+ properties.Add(geometryProperty);
- filterClass.GetIdentityProperties().Add(idProperty);
- filterClass.SetDefaultGeometryPropertyName("Geometry");
+ filterClass.GetIdentityProperties().Add(idProperty);
+ filterClass.SetDefaultGeometryPropertyName("Geometry");
- filterSchema.GetClasses().Add(filterClass);
+ filterSchema.GetClasses().Add(filterClass);
- return filterSchema;
+ return filterSchema;
}
private MgPolygon CreatePolygonFromGeomText(String geomText) throws MgException
- {
- MgGeometryFactory geometryFactory = new MgGeometryFactory();
+ {
+ MgGeometryFactory geometryFactory = new MgGeometryFactory();
- String[] vertices = geomText.split(",");
- int count = Integer.valueOf(vertices[0]);
+ String[] vertices = geomText.split(",");
+ int count = Integer.valueOf(vertices[0]);
- MgCoordinateCollection coords = new MgCoordinateCollection();
- for(int i=0; i<count; i++)
- {
- MgCoordinate coord = geometryFactory.CreateCoordinateXY(Double.valueOf(vertices[(i*2)+1]), Double.valueOf(vertices[(i*2)+2]));
- coords.Add(coord);
- }
+ MgCoordinateCollection coords = new MgCoordinateCollection();
+ for(int i=0; i<count; i++)
+ {
+ MgCoordinate coord = geometryFactory.CreateCoordinateXY(Double.valueOf(vertices[(i*2)+1]), Double.valueOf(vertices[(i*2)+2]));
+ coords.Add(coord);
+ }
- MgLinearRing linearRing = geometryFactory.CreateLinearRing(coords);
- MgPolygon polygon = geometryFactory.CreatePolygon(linearRing, null);
+ MgLinearRing linearRing = geometryFactory.CreateLinearRing(coords);
+ MgPolygon polygon = geometryFactory.CreatePolygon(linearRing, null);
- return polygon;
+ return polygon;
}
}
Modified: trunk/MgDev/Doc/samples/javaviewersample/query/querycontroller.jsp
===================================================================
--- trunk/MgDev/Doc/samples/javaviewersample/query/querycontroller.jsp 2013-01-12 04:16:28 UTC (rev 7299)
+++ trunk/MgDev/Doc/samples/javaviewersample/query/querycontroller.jsp 2013-01-12 06:33:04 UTC (rev 7300)
@@ -70,16 +70,16 @@
break;
case Command.EXECUTEQUERY:
responseType = "text/plain";
- ArrayList<Feature> resultList = query.Execute();
- for(int i=0;i<resultList.size();i++)
- {
- jsonObj.put("displayValue", resultList.get(i).displayValue);
- jsonObj.put("centerX", resultList.get(i).centerX);
- jsonObj.put("centerY", resultList.get(i).centerY);
- jsonObj.put("idList", resultList.get(i).idList);
- json.put(i, jsonObj.toString());
- }
- responseString = json.toString();
+ ArrayList<Feature> resultList = query.Execute();
+ for(int i=0;i<resultList.size();i++)
+ {
+ jsonObj.put("displayValue", resultList.get(i).displayValue);
+ jsonObj.put("centerX", resultList.get(i).centerX);
+ jsonObj.put("centerY", resultList.get(i).centerY);
+ jsonObj.put("idList", resultList.get(i).idList);
+ json.put(i, jsonObj.toString());
+ }
+ responseString = json.toString();
break;
case Command.GETSELECTIONXML:
responseType = "text/xml";
Modified: trunk/MgDev/Doc/samples/javaviewersample/query/querymain.jsp
===================================================================
--- trunk/MgDev/Doc/samples/javaviewersample/query/querymain.jsp 2013-01-12 04:16:28 UTC (rev 7299)
+++ trunk/MgDev/Doc/samples/javaviewersample/query/querymain.jsp 2013-01-12 06:33:04 UTC (rev 7300)
@@ -50,7 +50,7 @@
}
catch (MgException e)
{
- errorMsg = e.GetMessage();
+ errorMsg = e.GetExceptionMessage();
errorDetail = e.GetDetails();
}
%>
Modified: trunk/MgDev/Doc/samples/javaviewersample/theme/thememain.jsp
===================================================================
--- trunk/MgDev/Doc/samples/javaviewersample/theme/thememain.jsp 2013-01-12 04:16:28 UTC (rev 7299)
+++ trunk/MgDev/Doc/samples/javaviewersample/theme/thememain.jsp 2013-01-12 06:33:04 UTC (rev 7300)
@@ -50,7 +50,7 @@
}
catch (MgException e)
{
- errorMsg = e.GetMessage();
+ errorMsg = e.GetExceptionMessage();
errorDetail = e.GetDetails();
}
%>
More information about the mapguide-commits
mailing list