From 035427fd5b6bf8dbf4f8605523190f6ce4dc2fd2 Mon Sep 17 00:00:00 2001 From: Daniel_M_Williams Date: Fri, 23 Oct 2015 18:16:24 -0400 Subject: [PATCH] [Bugfix] Refactored FlightConfigurationID to UUID directly --- .../rocketcomponent/FlightConfiguration.java | 29 +++++----- .../FlightConfigurationID.java | 57 ++++++++----------- .../FlightConfigurationPanel.java | 1 - 3 files changed, 38 insertions(+), 49 deletions(-) diff --git a/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java b/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java index b538b8223..6a437b6a5 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java +++ b/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java @@ -347,11 +347,24 @@ public class FlightConfiguration implements FlightConfigurableParameterString Key in previous implementations. */ public final class FlightConfigurationID implements Comparable { - final public String key; + final public UUID key; - private final static String ERROR_CONFIGURATION_KEYTEXT = "error_key_2489"; + private final static long DEFAULT_MOST_SIG_BITS = 0xF4F2F1F0; + private final static UUID ERROR_CONFIGURATION_UUID = new UUID( DEFAULT_MOST_SIG_BITS, 2489); // private final static String DEFAULT_CONFIGURATION_KEYTEXT = "default_configuration_6602"; - private final static String DEFAULT_VALUE_KEYTEXT = "default_value_5676"; + private final static UUID DEFAULT_VALUE_UUID = new UUID( DEFAULT_MOST_SIG_BITS, 5676); - public final static FlightConfigurationID ERROR_CONFIGURATION_FCID = new FlightConfigurationID( FlightConfigurationID.ERROR_CONFIGURATION_KEYTEXT); + public final static FlightConfigurationID ERROR_CONFIGURATION_FCID = new FlightConfigurationID( FlightConfigurationID.ERROR_CONFIGURATION_UUID); // public final static FlightConfigurationID DEFAULT_CONFIGURATION_FCID = new FlightConfigurationID( FlightConfigurationID.DEFAULT_CONFIGURATION_KEYTEXT ); - public final static FlightConfigurationID DEFAULT_VALUE_FCID = new FlightConfigurationID( FlightConfigurationID.DEFAULT_VALUE_KEYTEXT ); + public final static FlightConfigurationID DEFAULT_VALUE_FCID = new FlightConfigurationID( FlightConfigurationID.DEFAULT_VALUE_UUID ); public FlightConfigurationID() { - this(UUID.randomUUID().toString()); + this(UUID.randomUUID()); } - public FlightConfigurationID(final String _val) { + public FlightConfigurationID(final String _str) { + this.key = UUID.fromString( _str); + } + + public FlightConfigurationID(final UUID _val) { if (null == _val){ - this.key = FlightConfigurationID.ERROR_CONFIGURATION_KEYTEXT; - }else if (5 >_val.length()){ - this.key = FlightConfigurationID.ERROR_CONFIGURATION_KEYTEXT; + this.key = FlightConfigurationID.ERROR_CONFIGURATION_UUID; } else { - // vv temp vv - String temp_val = _val; - final String extra = "key: "; - if( _val.contains(extra)){ - int index = temp_val.lastIndexOf(extra); - temp_val = _val.substring(index+extra.length()); - System.err.println(" correcting FCID from \""+_val+"\" to \""+temp_val+"\"."); - } - // ^^ temp ^^ - - this.key = temp_val; + this.key = _val; } } @@ -53,7 +46,11 @@ public final class FlightConfigurationID implements Comparable