diff --git a/bds/source/java/ch/systemsx/cisd/bds/hcs/Location.java b/bds/source/java/ch/systemsx/cisd/bds/hcs/Location.java index dc3ac7d7d1528fa98d9d9124a11991c8fe7e6d36..1d1c139bb8fa87b3824c93b7ca01f8f7ecb88995 100644 --- a/bds/source/java/ch/systemsx/cisd/bds/hcs/Location.java +++ b/bds/source/java/ch/systemsx/cisd/bds/hcs/Location.java @@ -16,7 +16,8 @@ package ch.systemsx.cisd.bds.hcs; -import ch.systemsx.cisd.common.utilities.StringUtilities; +import ch.systemsx.cisd.common.geometry.ConversionUtils; +import ch.systemsx.cisd.common.geometry.Point; /** * A location in (x, y) coordinate space, specified in integer precision. @@ -76,20 +77,11 @@ public final class Location */ public static final Location tryCreateLocationFromMatrixCoordinate(final String coordinate) { - assert coordinate != null : "Coordinate can not be null."; - final String[] split = StringUtilities.splitMatrixCoordinate(coordinate); - if (split == null) - { - return null; - } try { - final String letter = split[0]; - assert letter.length() == 1 : "Only one letter is supported right now."; - final int y = letter.toLowerCase().charAt(0) - 'a' + 1; - final int x = Integer.parseInt(split[1]); - return new Location(x, y); - } catch (NumberFormatException ex) + Point point = ConversionUtils.parseSpreadsheetLocation(coordinate); + return new Location(point.getY() + 1, point.getX() + 1); + } catch (IllegalArgumentException ex) { return null; } diff --git a/bds/sourceTest/java/ch/systemsx/cisd/bds/hcs/LocationTest.java b/bds/sourceTest/java/ch/systemsx/cisd/bds/hcs/LocationTest.java index a95002aad9c245fc69c8613583d38c113166c155..7e3cb097282b63e83968c8e0f0d5cb5e223d3eee 100644 --- a/bds/sourceTest/java/ch/systemsx/cisd/bds/hcs/LocationTest.java +++ b/bds/sourceTest/java/ch/systemsx/cisd/bds/hcs/LocationTest.java @@ -94,15 +94,6 @@ public final class LocationTest @Test public final void testCreateLocationFromMatrixCoordinate() { - boolean fail = true; - try - { - Location.tryCreateLocationFromMatrixCoordinate(null); - } catch (AssertionError ex) - { - fail = false; - } - assertEquals(false, fail); assertNull(Location.tryCreateLocationFromMatrixCoordinate("")); assertNull(Location.tryCreateLocationFromMatrixCoordinate("8")); assertNull(Location.tryCreateLocationFromMatrixCoordinate("M"));