Отправить объект PostGIS через сервис RestFul (JSON) - PullRequest
1 голос
/ 31 января 2012

все.

Это мой первый вопрос, так что простите, если я что-то не так делаю.Вот и мы.

У меня проблема при попытке отправить объект PostGIS (на самом деле PGgeometry) через службу RestFul.

Класс, который я пытаюсь отправить, это GPSMessageFormat:

@XmlRootElement(name="position")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType( propOrder = {
    "latitude",
    "longitude",
    "position",
    } )
public class GPSMessageFormat implements Serializable{

  private static final long serialVersionUID = 4178516023632486216L;

  public Double latitude;

  public Double longitude;

  public PointJaxRS position;
}

Я создал свой собственный класс, который реализует PGgeometry для добавления необходимых тегов:

@XmlAccessorType(XmlAccessType.FIELD)
public class PointJaxRS extends PGgeometry {

  private static final long serialVersionUID = 4624155439994995423L;

  public PointJaxRS(){
    super();
  };
}

Это исключение, которое достигло:

org.postgis.Geometry does not have a no-arg default constructor.
    this problem is related to the following location:
        at org.postgis.Geometry
        at org.postgis.Point
        at es.datatype.PointJaxRS
        at public es.datatype.PointJaxRS es.datatype.GPSMessageFormat.position
        at es.datatype.GPSMessageFormat
Class has two properties of the same name "m"
    this problem is related to the following location:
        at public double org.postgis.Point.getM()
        at org.postgis.Point
        at es.datatype.PointJaxRS
        at public es.datatype.PointJaxRS es.datatype.GPSMessageFormat.position
        at es.datatype.GPSMessageFormat
    this problem is related to the following location:
        at public double org.postgis.Point.m
        at org.postgis.Point
        at es.datatype.PointJaxRS
        at public es.datatype.PointJaxRS es.datatype.GPSMessageFormat.position
        at es.datatype.GPSMessageFormat

[...] **Other similar errors with all the other fields from PGgeometry**

Я думал, что добавления тега @ XmlAccessorType (XmlAccessType.FIELD) было достаточно для распознавания только атрибутовиз класса как поля в файле json, но кажется, что это не работает для унаследованных атрибутов.Кроме того, мне нужно, чтобы у Geometry был конструктор по умолчанию без аргументов ...

Я не могу отправить их как String, потому что они будут получены Openlayers, поэтому он должен иметь возможность читатьPGgeometry для того, чтобы нарисовать точки на карте.

Итак, вопрос: что я могу сделать, чтобы отправить объекты PostGIS в формате JSON через остальные службы?

...