Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public class ImportConverterTest {
private final static boolean IOC_AUTOSTART = true;
private final static boolean IOC_RESTART = true;

private final static Macro MACRO = new Macro("MACRO", "10", "DESC", "pattern", "1", HasDefault.YES);
private final static Macro MACRO = new Macro("MACRO", "10", "DESC", "pattern", "1", HasDefault.YES, false);
private final static PVDefaultValue PV = new PVDefaultValue(SOURCE_PREFIX.concat(":PV"), "10");
private final static PVSet PV_SET = new PVSet(SOURCE_PREFIX.concat(":PV_SET"), true);
private final static Block BLOCK = new Block("BLOCK", SOURCE_PREFIX.concat(":PV"), true, true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,10 @@ public class Macro extends ModelObject {
* The default value of the macro which is used when no value has been set.
*/
private String defaultValue;
/**
* Whether the default value is being used or not, defaults to true.
*/
private Boolean useDefault = true;
/**
* Whether the macro has a default value or not (or if it is unknown).
*/
Expand Down Expand Up @@ -94,7 +98,7 @@ private Macro() {
* @param other exiting Macro to clone
*/
public Macro(Macro other) {
this(other.getName(), other.getValue(), other.getDescription(), other.getPattern(), other.getDefaultValue(), other.getHasDefault());
this(other.getName(), other.getValue(), other.getDescription(), other.getPattern(), other.getDefaultValue(), other.getHasDefault(), other.getUseDefault());
}

/**
Expand All @@ -106,15 +110,18 @@ public Macro(Macro other) {
* @param pattern Regex pattern macro value should follow
* @param defaultValue the default value of the macro
* @param hasDefault if the macro has a default, does not, or unknown
* @param useDefault if the default value is to be used, or over-written
*/
public Macro(String name, String value, String description, String pattern, String defaultValue, HasDefault hasDefault) {
public Macro(String name, String value, String description, String pattern, String defaultValue, HasDefault hasDefault, boolean useDefault) {
this.name = name;
this.value = value;
this.description = description;
this.pattern = pattern;
this.defaultValue = defaultValue;
this.hasDefault = hasDefault;
this.useDefault = useDefault;
}


/**
* @return if the macro has a default, does not have a default, or unknown.
Expand All @@ -138,6 +145,22 @@ public String getName() {
public void setValue(String value) {
firePropertyChange("value", this.value, this.value = value);
}

/**
* Set whether the macro is using it's default.
*
* @param value new useDefault value
*/
public void setUseDefault(boolean value) {
firePropertyChange("useDefault", this.useDefault, this.useDefault = value);
}

/**
* @return if the macro is set to use it's default value.
*/
public boolean getUseDefault() {
return this.useDefault;
}

/**
* @return macro value, null indicates the default value is being used
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ public void GIVEN_ioc_set_WHEN_changing_viewmodel_values_and_saving_ioc_THEN_ioc
@Test
public void GIVEN_ioc_set_WHEN_changing_macros_THEN_macros_do_not_write_through_to_underlying_ioc_until_saved() {
var testMacros = List.of(
new Macro("name_ignored", "inital_value", "", "", "", HasDefault.NO)
new Macro("name_ignored", "inital_value", "", "", "", HasDefault.NO, false)
);

var underlyingIoc = new EditableIoc(new Ioc(""), "");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,9 @@ public void setUp() {
mockNameIsValidListener = mock(PropertyChangeListener.class);
showWarningIconListener = mock(PropertyChangeListener.class);

macro = new Macro("name", "value", "description", PATTERN, "", null);
macro = new Macro("name", "value", "description", PATTERN, "", null, false);
macroViewModel = new MacroViewModel(macro);
macroWithInvalidPattern = new Macro("name", "value", "description", INVALID_PATTERN, "", null);
macroWithInvalidPattern = new Macro("name", "value", "description", INVALID_PATTERN, "", null, false);
macroWithInvalidPatternViewModel = new MacroViewModel(macroWithInvalidPattern);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public class MacroViewModelTest {

@Test
public void test_GIVEN_macro_with_default_WHEN_get_default_display_THEN_default_returned() {
Macro m = new Macro("name", "value", "description", "pattern", "defaultValue", HasDefault.YES);
Macro m = new Macro("name", "value", "description", "pattern", "defaultValue", HasDefault.YES, true);
MacroViewModel macroViewModel = new MacroViewModel(m);

String defaultText = macroViewModel.getDisplayDefault();
Expand All @@ -41,7 +41,7 @@ public void test_GIVEN_macro_with_default_WHEN_get_default_display_THEN_default_

@Test
public void test_GIVEN_macro_with_empty_string_default_WHEN_get_default_display_THEN_empty_string_message_returned() {
Macro m = new Macro("name", "value", "description", "pattern", "", HasDefault.YES);
Macro m = new Macro("name", "value", "description", "pattern", "", HasDefault.YES, true);
MacroViewModel macroViewModel = new MacroViewModel(m);

String defaultText = macroViewModel.getDisplayDefault();
Expand All @@ -51,7 +51,7 @@ public void test_GIVEN_macro_with_empty_string_default_WHEN_get_default_display_

@Test
public void test_GIVEN_macro_with_no_default_WHEN_get_default_display_THEN_no_default_message_returned() {
Macro m = new Macro("name", "value", "description", "pattern", null, HasDefault.NO);
Macro m = new Macro("name", "value", "description", "pattern", null, HasDefault.NO, true);
MacroViewModel macroViewModel = new MacroViewModel(m);

String defaultText = macroViewModel.getDisplayDefault();
Expand All @@ -61,7 +61,7 @@ public void test_GIVEN_macro_with_no_default_WHEN_get_default_display_THEN_no_de

@Test
public void test_GIVEN_macro_with_unknown_default_WHEN_get_default_display_THEN_unknown_default_message_returned() {
Macro m = new Macro("name", "value", "description", "pattern", null, HasDefault.UNKNOWN);
Macro m = new Macro("name", "value", "description", "pattern", null, HasDefault.UNKNOWN, true);
MacroViewModel macroViewModel = new MacroViewModel(m);

String defaultText = macroViewModel.getDisplayDefault();
Expand All @@ -71,7 +71,7 @@ public void test_GIVEN_macro_with_unknown_default_WHEN_get_default_display_THEN_

@Test
public void test_GIVEN_macro_with_value_of_null_WHEN_view_model_created_THEN_display_value_is_default() {
Macro m = new Macro("name", null, "description", "pattern", null, HasDefault.YES);
Macro m = new Macro("name", null, "description", "pattern", null, HasDefault.YES, true);
MacroViewModel macroViewModel = new MacroViewModel(m);

String defaultText = macroViewModel.getDisplayValue();
Expand All @@ -81,7 +81,7 @@ public void test_GIVEN_macro_with_value_of_null_WHEN_view_model_created_THEN_dis

@Test
public void test_GIVEN_macro_with_value_of_null_WHEN_view_model_created_THEN_use_default_is_true() {
Macro m = new Macro("name", null, "description", "pattern", null, HasDefault.YES);
Macro m = new Macro("name", null, "description", "pattern", null, HasDefault.YES, true);
MacroViewModel macroViewModel = new MacroViewModel(m);

boolean useDefault = macroViewModel.getUseDefault();
Expand All @@ -91,7 +91,7 @@ public void test_GIVEN_macro_with_value_of_null_WHEN_view_model_created_THEN_use

@Test
public void test_GIVEN_macro_with_value_of_empty_string_WHEN_view_model_created_THEN_use_default_is_false() {
Macro m = new Macro("name", "", "description", "pattern", null, HasDefault.YES);
Macro m = new Macro("name", "", "description", "pattern", null, HasDefault.YES, true);
MacroViewModel macroViewModel = new MacroViewModel(m);

boolean useDefault = macroViewModel.getUseDefault();
Expand All @@ -101,7 +101,7 @@ public void test_GIVEN_macro_with_value_of_empty_string_WHEN_view_model_created_

@Test
public void test_GIVEN_macro_with_value_WHEN_view_model_created_THEN_use_default_is_false() {
Macro m = new Macro("name", "A_VALUE", "description", "pattern", null, HasDefault.YES);
Macro m = new Macro("name", "A_VALUE", "description", "pattern", null, HasDefault.YES, true);
MacroViewModel macroViewModel = new MacroViewModel(m);

boolean useDefault = macroViewModel.getUseDefault();
Expand All @@ -112,7 +112,7 @@ public void test_GIVEN_macro_with_value_WHEN_view_model_created_THEN_use_default
@Test
public void test_GIVEN_macro_with_value_WHEN_view_model_created_THEN_display_value_is_value() {
String expectedMacroValue = "A_VALUE";
Macro m = new Macro("name", expectedMacroValue, "description", "pattern", null, HasDefault.YES);
Macro m = new Macro("name", expectedMacroValue, "description", "pattern", null, HasDefault.YES, true);
MacroViewModel macroViewModel = new MacroViewModel(m);

String macroValue = macroViewModel.getDisplayValue();
Expand All @@ -122,7 +122,7 @@ public void test_GIVEN_macro_with_value_WHEN_view_model_created_THEN_display_val

@Test
public void test_GIVEN_macro_with_value_WHEN_use_default_set_THEN_macro_value_set_to_null() {
Macro m = new Macro("name", "value", "description", "pattern", null, HasDefault.YES);
Macro m = new Macro("name", "value", "description", "pattern", null, HasDefault.YES, true);
MacroViewModel macroViewModel = new MacroViewModel(m);

macroViewModel.setUseDefault(true);
Expand All @@ -133,7 +133,7 @@ public void test_GIVEN_macro_with_value_WHEN_use_default_set_THEN_macro_value_se
@Test
public void test_GIVEN_macro_with_value_WHEN_use_default_set_false_THEN_macro_value_unchanged() {
String expectedMacroValue = "A_VALUE";
Macro m = new Macro("name", expectedMacroValue, "description", "pattern", null, HasDefault.YES);
Macro m = new Macro("name", expectedMacroValue, "description", "pattern", null, HasDefault.YES, true);
MacroViewModel macroViewModel = new MacroViewModel(m);

macroViewModel.setUseDefault(false);
Expand All @@ -143,7 +143,7 @@ public void test_GIVEN_macro_with_value_WHEN_use_default_set_false_THEN_macro_va

@Test
public void test_GIVEN_macro_with_value_of_null_WHEN_use_default_set_false_THEN_macro_value_set_to_empty_string() {
Macro m = new Macro("name", null, "description", "pattern", null, HasDefault.YES);
Macro m = new Macro("name", null, "description", "pattern", null, HasDefault.YES, true);
MacroViewModel macroViewModel = new MacroViewModel(m);

macroViewModel.setUseDefault(false);
Expand All @@ -153,7 +153,7 @@ public void test_GIVEN_macro_with_value_of_null_WHEN_use_default_set_false_THEN_

@Test
public void test_GIVEN_macro_with_value_of_null_WHEN_use_default_set_true_THEN_macro_value_still_null() {
Macro m = new Macro("name", null, "description", "pattern", null, HasDefault.YES);
Macro m = new Macro("name", null, "description", "pattern", null, HasDefault.YES, true);
MacroViewModel macroViewModel = new MacroViewModel(m);

macroViewModel.setUseDefault(true);
Expand All @@ -163,7 +163,7 @@ public void test_GIVEN_macro_with_value_of_null_WHEN_use_default_set_true_THEN_m

@Test
public void test_GIVEN_macro_with_value_of_null_WHEN_value_text_box_entered_THEN_macro_value_set_to_empty_string_and_use_default_enabled() {
Macro m = new Macro("name", "value", "description", "pattern", null, HasDefault.YES);
Macro m = new Macro("name", "value", "description", "pattern", null, HasDefault.YES, true);
MacroViewModel macroViewModel = new MacroViewModel(m);

macroViewModel.setUseDefault(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ private Collection<Macro> makeDisplayMacroList(Collection<Macro> setMacros, Coll
for (final Macro setMacro : setMacros) {
if (setMacro.getName().equals(availableMacro.getName())) {
displayMacro.setValue(setMacro.getValue());
displayMacro.setUseDefault(setMacro.getUseDefault());
}
}

Expand All @@ -152,6 +153,7 @@ public void propertyChange(PropertyChangeEvent newValue) {
if (existingMacro.isPresent()) {
if (displayMacro.getValue() != null) {
existingMacro.get().setValue(displayMacro.getValue());
existingMacro.get().setUseDefault(displayMacro.getUseDefault());
} else {
setMacros.remove(existingMacro.get());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,6 @@
public class MacroViewModel extends ModelObject {
private final Macro macro;

/**
* Whether the default value should be used or not.
*/
private boolean useDefault;

/**
* Constructor. Sets the use default based on provided macro.
Expand Down Expand Up @@ -67,7 +63,7 @@ public String getPattern() {
* @return whether the default value should be used or not
*/
public boolean getUseDefault() {
return useDefault;
return macro.getUseDefault();
}

/**
Expand All @@ -81,7 +77,7 @@ public void setUseDefault(boolean useDefault) {
if (useDefault) {
macro.setValue("");
}
firePropertyChange("useDefault", this.useDefault, this.useDefault = useDefault);
macro.setUseDefault(useDefault);
}

/**
Expand Down
Loading