From 86c73f92e746a34715056f0476e6cbf0232c847c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andreas=20M=C3=BCller?= Date: Fri, 25 Jun 2010 13:43:50 +0000 Subject: [PATCH] toSexagesimalString for Point --- .../etaxonomy/cdm/model/location/Point.java | 29 ++++++++++++++++--- .../occurrence/SpecimenOrObservationBase.java | 18 ++++++++++++ 2 files changed, 43 insertions(+), 4 deletions(-) diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/location/Point.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/location/Point.java index c3274e0a09..46c59ace15 100644 --- a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/location/Point.java +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/location/Point.java @@ -366,14 +366,16 @@ public class Point implements Cloneable, Serializable { } - public String toString(){ + public String toString(boolean includeEmptySeconds){ String result; result = String.valueOf(CdmUtils.Nz(degree)) + "°"; if (seconds != null || minutes != null){ result += String.valueOf(CdmUtils.Nz(minutes)) + "'"; } - if (seconds != null){ - result += String.valueOf(CdmUtils.Nz(seconds)) + "\""; + if (seconds != null ){ + if (seconds != 0 || includeEmptySeconds){ + result += String.valueOf(CdmUtils.Nz(seconds)) + "\""; + } } result += direction; return result; @@ -385,7 +387,7 @@ public class Point implements Cloneable, Serializable { @Transient public Sexagesimal getLongitudeSexagesimal (){ boolean isLatitude = false; - return Sexagesimal.valueOf(longitude, isLatitude); + return Sexagesimal.valueOf(latitude, isLatitude); } @Transient @@ -484,6 +486,25 @@ public class Point implements Cloneable, Serializable { this.errorRadius = errorRadius; } +// **************** toString *************************/ + + + /** + * Returns a string representation in sexagesimal coordinates. + * @return + */ + public String toSexagesimalString(boolean includeEmptySeconds, boolean includeReferenceSystem){ + String result = ""; + result += getLatitudeSexagesimal() == null ? "" : getLatitudeSexagesimal().toString(includeEmptySeconds); + result = CdmUtils.concat(", ", result, getLongitudeSexagesimal() == null ? "" : getLongitudeSexagesimal().toString(includeEmptySeconds)); + if (includeReferenceSystem && getReferenceSystem() != null){ + String refSys = CdmUtils.isEmpty(getReferenceSystem().getLabel()) ? "" : "(" + getReferenceSystem().getLabel() + ")"; + result = CdmUtils.concat(" ", result, refSys); + } + return result; + } + + //*********** CLONE **********************************/ /** diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/occurrence/SpecimenOrObservationBase.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/occurrence/SpecimenOrObservationBase.java index aad2ae4989..f4173d943e 100644 --- a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/occurrence/SpecimenOrObservationBase.java +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/occurrence/SpecimenOrObservationBase.java @@ -168,6 +168,7 @@ public abstract class SpecimenOrObservationBase getSpecimenDescriptions(boolean includeImageGallery) { Set specimenDescriptions = new HashSet(); for (DescriptionBase descriptionBase : getDescriptions()){ @@ -180,6 +181,23 @@ public abstract class SpecimenOrObservationBase getSpecimenDescriptionImageGallery() { + Set specimenDescriptions = new HashSet(); + for (DescriptionBase descriptionBase : getDescriptions()){ + if (descriptionBase.isInstanceOf(SpecimenDescription.class)){ + if (descriptionBase.isImageGallery() == true){ + specimenDescriptions.add(descriptionBase.deproxy(descriptionBase, SpecimenDescription.class)); + } + } + } + return specimenDescriptions; + } /** * Adds a new description to this specimen or observation -- 2.34.1