java/src/jmri/jmrit/operations/setup/Setup.java

Summary

Maintainability
F
1 mo
Test Coverage
A
92%

Method load has a Cognitive Complexity of 349 (exceeds 20 allowed). Consider refactoring.
Open

    public static void load(Element e) {
        if (e.getChild(Xml.OPERATIONS) == null) {
            log.warn("OperationsPro settings values not found");
            return;
        }
Severity: Minor
Found in java/src/jmri/jmrit/operations/setup/Setup.java - About 6 days to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

File Setup.java has 2482 lines of code (exceeds 300 allowed). Consider refactoring.
Open

package jmri.jmrit.operations.setup;

import java.awt.Color;
import java.io.IOException;
import java.util.*;
Severity: Major
Found in java/src/jmri/jmrit/operations/setup/Setup.java - About 6 days to fix

    Setup has 286 methods (exceeds 20 allowed). Consider refactoring.
    Open

    public class Setup extends PropertyChangeSupport implements InstanceManagerAutoDefault, Disposable {
    
        public static final String NONE = "";
    
        // scale ratios from NMRA
    Severity: Major
    Found in java/src/jmri/jmrit/operations/setup/Setup.java - About 5 days to fix

      Method load has 826 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          public static void load(Element e) {
              if (e.getChild(Xml.OPERATIONS) == null) {
                  log.warn("OperationsPro settings values not found");
                  return;
              }
      Severity: Major
      Found in java/src/jmri/jmrit/operations/setup/Setup.java - About 4 days to fix

        Method store has 164 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            public static Element store() {
                Element values;
                Element e = new Element(Xml.OPERATIONS);
        
                // only store railroad name if it doesn't match the preferences railroad name
        Severity: Major
        Found in java/src/jmri/jmrit/operations/setup/Setup.java - About 6 hrs to fix

          Method setScale has 71 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

              public static void setScale(int s) {
                  getDefault().scale = s;
                  switch (getDefault().scale) {
                      case Z_SCALE:
                          getDefault().ratio = Z_RATIO;
          Severity: Major
          Found in java/src/jmri/jmrit/operations/setup/Setup.java - About 2 hrs to fix

            Identical blocks of code found in 2 locations. Consider refactoring.
            Open

                    if (operations.getChild(Xml.LOGGER) != null) {
                        if ((a = operations.getChild(Xml.LOGGER).getAttribute(Xml.CAR_LOGGER)) != null) {
                            String enable = a.getValue();
                            log.debug("carLogger: {}", enable);
                            getDefault().carLogger = enable.equals(Xml.TRUE);
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 1 other location - About 3 hrs to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2903..2920

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 194.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Identical blocks of code found in 2 locations. Consider refactoring.
            Open

                    } else if (operations.getChild(Xml.SETTINGS) != null) {
                        // for backward compatibility
                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.CAR_LOGGER)) != null) {
                            String enable = a.getValue();
                            log.debug("carLogger: {}", enable);
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 1 other location - About 3 hrs to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2887..2903

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 194.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 6 locations. Consider refactoring.
            Open

                    if (operations.getChild(Xml.SWITCH_LIST_LOCAL_FORMAT) != null) {
                        if ((a = operations.getChild(Xml.SWITCH_LIST_LOCAL_FORMAT).getAttribute(Xml.PREFIX)) != null) {
                            setSwitchListLocalPrefix(a.getValue());
                        }
                        if ((a = operations.getChild(Xml.SWITCH_LIST_LOCAL_FORMAT).getAttribute(Xml.SETTING)) != null) {
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 5 other locations - About 2 hrs to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2281..2294
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2295..2308
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2309..2322
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2386..2399
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2400..2413

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 136.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 6 locations. Consider refactoring.
            Open

                    if (operations.getChild(Xml.LOCAL_FORMAT) != null) {
                        if ((a = operations.getChild(Xml.LOCAL_FORMAT).getAttribute(Xml.PREFIX)) != null) {
                            setLocalPrefix(a.getValue());
                        }
                        if ((a = operations.getChild(Xml.LOCAL_FORMAT).getAttribute(Xml.SETTING)) != null) {
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 5 other locations - About 2 hrs to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2281..2294
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2295..2308
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2386..2399
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2400..2413
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2414..2427

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 136.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 6 locations. Consider refactoring.
            Open

                    if (operations.getChild(Xml.SWITCH_LIST_PICKUP_CAR_FORMAT) != null) {
                        if ((a = operations.getChild(Xml.SWITCH_LIST_PICKUP_CAR_FORMAT).getAttribute(Xml.PREFIX)) != null) {
                            setSwitchListPickupCarPrefix(a.getValue());
                        }
                        if ((a = operations.getChild(Xml.SWITCH_LIST_PICKUP_CAR_FORMAT).getAttribute(Xml.SETTING)) != null) {
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 5 other locations - About 2 hrs to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2281..2294
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2295..2308
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2309..2322
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2400..2413
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2414..2427

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 136.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 6 locations. Consider refactoring.
            Open

                    if (operations.getChild(Xml.DROP_CAR_FORMAT) != null) {
                        if ((a = operations.getChild(Xml.DROP_CAR_FORMAT).getAttribute(Xml.PREFIX)) != null) {
                            setDropCarPrefix(a.getValue());
                        }
                        if ((a = operations.getChild(Xml.DROP_CAR_FORMAT).getAttribute(Xml.SETTING)) != null) {
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 5 other locations - About 2 hrs to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2281..2294
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2309..2322
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2386..2399
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2400..2413
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2414..2427

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 136.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 6 locations. Consider refactoring.
            Open

                    if (operations.getChild(Xml.PICKUP_CAR_FORMAT) != null) {
                        if ((a = operations.getChild(Xml.PICKUP_CAR_FORMAT).getAttribute(Xml.PREFIX)) != null) {
                            setPickupCarPrefix(a.getValue());
                        }
                        if ((a = operations.getChild(Xml.PICKUP_CAR_FORMAT).getAttribute(Xml.SETTING)) != null) {
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 5 other locations - About 2 hrs to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2295..2308
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2309..2322
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2386..2399
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2400..2413
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2414..2427

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 136.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 6 locations. Consider refactoring.
            Open

                    if (operations.getChild(Xml.SWITCH_LIST_DROP_CAR_FORMAT) != null) {
                        if ((a = operations.getChild(Xml.SWITCH_LIST_DROP_CAR_FORMAT).getAttribute(Xml.PREFIX)) != null) {
                            setSwitchListDropCarPrefix(a.getValue());
                        }
                        if ((a = operations.getChild(Xml.SWITCH_LIST_DROP_CAR_FORMAT).getAttribute(Xml.SETTING)) != null) {
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 5 other locations - About 2 hrs to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2281..2294
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2295..2308
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2309..2322
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2386..2399
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2414..2427

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 136.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

                    if (operations.getChild(Xml.DROP_ENG_FORMAT) != null) {
                        if ((a = operations.getChild(Xml.DROP_ENG_FORMAT).getAttribute(Xml.PREFIX)) != null) {
                            setDropEnginePrefix(a.getValue());
                        }
                        if ((a = operations.getChild(Xml.DROP_ENG_FORMAT).getAttribute(Xml.SETTING)) != null) {
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 1 other location - About 2 hrs to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2255..2267

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 130.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

                    if (operations.getChild(Xml.PICKUP_ENG_FORMAT) != null) {
                        if ((a = operations.getChild(Xml.PICKUP_ENG_FORMAT).getAttribute(Xml.PREFIX)) != null) {
                            setPickupEnginePrefix(a.getValue());
                        }
                        if ((a = operations.getChild(Xml.PICKUP_ENG_FORMAT).getAttribute(Xml.SETTING)) != null) {
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 1 other location - About 2 hrs to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2268..2280

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 130.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

                public static int getManifestPrefixLength() {
                    int maxLength = getPickupEnginePrefix().length();
                    if (getDropEnginePrefix().length() > maxLength) {
                        maxLength = getDropEnginePrefix().length();
                    }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 1 other location - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1291..1306

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 105.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

                public static int getSwitchListPrefixLength() {
                    int maxLength = getPickupEnginePrefix().length();
                    if (getDropEnginePrefix().length() > maxLength) {
                        maxLength = getDropEnginePrefix().length();
                    }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 1 other location - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1238..1253

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 105.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

                private static String[] createTwoColumnByTrackDropMessageFormat(String[] format) {
                    for (int i = 0; i < format.length; i++) {
                        if (format[i].equals(DESTINATION)) {
                            format[i] = BLANK;
                        } else if (format[i].equals(TRACK)) {
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 1 other location - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1484..1493

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 82.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

                private static String[] createTwoColumnByTrackPickupMessageFormat(String[] format) {
                    for (int i = 0; i < format.length; i++) {
                        if (format[i].equals(LOCATION)) {
                            format[i] = BLANK;
                        } else if (format[i].equals(TRACK)) {
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 1 other location - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1511..1520

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 82.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 10 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.TRAIN_LENGTH)) != null) {
                            String length = a.getValue();
                            log.debug("Max train length: {}", length);
                            try {
                                setMaxTrainLength(Integer.parseInt(length));
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 9 other locations - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2133..2141
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2142..2150
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2151..2159
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2165..2173
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2174..2182
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2496..2504
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2505..2513
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2514..2522
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2736..2744

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 78.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 10 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.MAX_ENGINES)) != null) {
                            String size = a.getValue();
                            log.debug("Max number of engines: {}", size);
                            try {
                                setMaxNumberEngines(Integer.parseInt(size));
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 9 other locations - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2124..2132
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2142..2150
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2151..2159
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2165..2173
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2174..2182
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2496..2504
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2505..2513
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2514..2522
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2736..2744

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 78.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 10 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.HPT)) != null) {
                            String value = a.getValue();
                            log.debug("HPT: {}", value);
                            try {
                                setHorsePowerPerTon(Integer.parseInt(value));
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 9 other locations - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2124..2132
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2133..2141
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2151..2159
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2165..2173
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2174..2182
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2496..2504
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2505..2513
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2514..2522
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2736..2744

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 78.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 10 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.SWITCH_TIME)) != null) {
                            String minutes = a.getValue();
                            log.debug("switchTime: {}", minutes);
                            try {
                                setSwitchTime(Integer.parseInt(minutes));
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 9 other locations - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2124..2132
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2133..2141
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2142..2150
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2151..2159
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2174..2182
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2496..2504
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2505..2513
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2514..2522
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2736..2744

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 78.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 10 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.SCALE)) != null) {
                            String scale = a.getValue();
                            log.debug("scale: {}", scale);
                            try {
                                setScale(Integer.parseInt(scale));
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 9 other locations - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2124..2132
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2133..2141
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2142..2150
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2165..2173
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2174..2182
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2496..2504
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2505..2513
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2514..2522
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2736..2744

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 78.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 10 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.TAB).getAttribute(Xml.TAB2_LENGTH)) != null) {
                            String length = a.getValue();
                            log.debug("tab 2 length: {}", length);
                            try {
                                setTab2length(Integer.parseInt(length));
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 9 other locations - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2124..2132
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2133..2141
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2142..2150
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2151..2159
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2165..2173
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2174..2182
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2496..2504
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2514..2522
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2736..2744

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 78.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 10 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.TAB).getAttribute(Xml.LENGTH)) != null) {
                            String length = a.getValue();
                            log.debug("tab 1 length: {}", length);
                            try {
                                setTab1length(Integer.parseInt(length));
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 9 other locations - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2124..2132
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2133..2141
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2142..2150
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2151..2159
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2165..2173
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2174..2182
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2505..2513
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2514..2522
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2736..2744

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 78.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 10 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.BUILD_REPORT).getAttribute(Xml.FONT_SIZE)) != null) {
                            String size = a.getValue();
                            log.debug("build font size: {}", size);
                            try {
                                setBuildReportFontSize(Integer.parseInt(size));
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 9 other locations - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2124..2132
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2133..2141
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2142..2150
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2151..2159
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2165..2173
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2174..2182
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2496..2504
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2505..2513
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2514..2522

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 78.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 10 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.TAB).getAttribute(Xml.TAB3_LENGTH)) != null) {
                            String length = a.getValue();
                            log.debug("tab 3 length: {}", length);
                            try {
                                setTab3length(Integer.parseInt(length));
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 9 other locations - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2124..2132
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2133..2141
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2142..2150
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2151..2159
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2165..2173
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2174..2182
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2496..2504
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2505..2513
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2736..2744

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 78.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 10 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.TRAVEL_TIME)) != null) {
                            String minutes = a.getValue();
                            log.debug("travelTime: {}", minutes);
                            try {
                                setTravelTime(Integer.parseInt(minutes));
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 9 other locations - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2124..2132
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2133..2141
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2142..2150
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2151..2159
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2165..2173
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2496..2504
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2505..2513
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2514..2522
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2736..2744

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 78.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

                        } else if (format[i].equals(DEST_TRACK)) {
                            format[i] = NO_DEST_TRACK;
                        } else if (format[i].equals(LOCATION)) {
                            format[i] = NO_LOCATION;
                        } else if (format[i].equals(TRACK)) {
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 1 other location - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1433..1439

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 78.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

                        if (format[i].equals(ROAD)) {
                            format[i] = NO_ROAD;
                        } else if (format[i].equals(NUMBER)) {
                            format[i] = NO_NUMBER;
                        } else if (format[i].equals(COLOR)) {
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 1 other location - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1457..1463

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 78.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

                public static JComboBox<String> getCarMessageComboBox() {
                    JComboBox<String> box = new JComboBox<>();
                    box.addItem(BLANK);
                    for (String attribute : getCarAttributes()) {
                        box.addItem(attribute);
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 1 other location - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1724..1736

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 71.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

                public static JComboBox<String> getEngineMessageComboBox() {
                    JComboBox<String> box = new JComboBox<>();
                    box.addItem(BLANK);
                    for (String attribute : getEngineAttributes()) {
                        box.addItem(attribute);
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 1 other location - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1738..1750

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 71.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

                    if ((operations.getChild(Xml.FONT_NAME) != null) &&
                            (a = operations.getChild(Xml.FONT_NAME).getAttribute(Xml.NAME)) != null) {
                        String font = a.getValue();
                        log.debug("fontName: {}", font);
                        setFontName(font);
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 1 other location - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2807..2812

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 70.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

                    if ((operations.getChild(Xml.OWNER) != null) &&
                            (a = operations.getChild(Xml.OWNER).getAttribute(Xml.NAME)) != null) {
                        String owner = a.getValue();
                        log.debug("owner: {}", owner);
                        setOwnerName(owner);
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 1 other location - About 1 hr to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2445..2450

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 70.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

                    if ((operations.getChild(Xml.MANIFEST_FILE_OPTIONS) != null)) {
                        if ((a = operations.getChild(Xml.MANIFEST_FILE_OPTIONS).getAttribute(Xml.MANIFEST_SAVE)) != null) {
                            String enable = a.getValue();
                            log.debug("manifest file save option: {}", enable);
                            getDefault().saveTrainManifests = enable.equals(Xml.TRUE);
            Severity: Minor
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 1 other location - About 55 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2853..2859

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 66.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

                    if (operations.getChild(Xml.DISPLAY) != null) {
                        if ((a = operations.getChild(Xml.DISPLAY).getAttribute(Xml.SHOW_TRACK_MOVES)) != null) {
                            String enable = a.getValue();
                            log.debug("show track moves: {}", enable);
                            getDefault().showTrackMoves = enable.equals(Xml.TRUE);
            Severity: Minor
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 1 other location - About 55 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2633..2639

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 66.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.SHOW_RFID)) != null) {
                            String enable = a.getValue();
                            log.debug("showRfid: {}", enable);
                            setRfidEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.SHOW_VALUE)) != null) {
                            String enable = a.getValue();
                            log.debug("showValue: {}", enable);
                            setValueEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.PRINT_ROUTE_COMMENTS)) != null) {
                            String enable = a.getValue();
                            log.debug("printRouteComments: {}", enable);
                            setPrintRouteCommentsEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.MAIN_MENU)) != null) {
                            String enabled = a.getValue();
                            log.debug("mainMenu: {}", enabled);
                            setMainMenuEnabled(enabled.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.PRINT_LOC_COMMENTS)) != null) {
                            String enable = a.getValue();
                            log.debug("printLocComments: {}", enable);
                            setPrintLocationCommentsEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.CLOSE_ON_SAVE)) != null) {
                            String enabled = a.getValue();
                            log.debug("closeOnSave: {}", enabled);
                            setCloseWindowOnSaveEnabled(enabled.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SWITCH_LIST).getAttribute(Xml.PRINT_ROUTE_LOCATION)) != null) {
                            String b = a.getValue();
                            log.debug("print route location comment: {}", b);
                            setSwitchListRouteLocationCommentEnabled(b.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.MANIFEST).getAttribute(Xml.PRINT_LOC_COMMENTS)) != null) {
                            String enable = a.getValue();
                            log.debug("manifest printLocComments: {}", enable);
                            setPrintLocationCommentsEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.BUILD_REPORT).getAttribute(Xml.INDENT)) != null) {
                            String enable = a.getValue();
                            log.debug("build report indent: {}", enable);
                            setBuildReportIndentEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.AUTO_SAVE)) != null) {
                            String enabled = a.getValue();
                            log.debug("autoSave: {}", enabled);
                            setAutoSaveEnabled(enabled.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.AUTO_BACKUP)) != null) {
                            String enabled = a.getValue();
                            log.debug("autoBackup: {}", enabled);
                            setAutoBackupEnabled(enabled.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.USE12HR_FORMAT)) != null) {
                            String enable = a.getValue();
                            log.debug("use12hrFormat: {}", enable);
                            set12hrFormatEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.SORT_BY_TRACK)) != null) {
                            String enable = a.getValue();
                            log.debug("sortByTrack: {}", enable);
                            setSortByTrackNameEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.PRINT_HEADERS)) != null) {
                            String enable = a.getValue();
                            log.debug("printHeaders: {}", enable);
                            setPrintHeadersEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.MANIFEST).getAttribute(Xml.PRINT_TRAIN_SCHEDULE)) != null) {
                            String enable = a.getValue();
                            log.debug("manifest printTrainSchedule: {}", enable);
                            setPrintTrainScheduleNameEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.ROUTER).getAttribute(Xml.ONLY_ACTIVE_TRAINS)) != null) {
                            String enable = a.getValue();
                            log.debug("onlyActiveTrains: {}", enable);
                            setOnlyActiveTrainsEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.MANIFEST).getAttribute(Xml.PRINT_CABOOSE_LOAD)) != null) {
                            String enable = a.getValue();
                            log.debug("manifest print caboose load: {}", enable);
                            setPrintCabooseLoadEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.BUILD_OPTIONS).getAttribute(Xml.AGGRESSIVE)) != null) {
                            String enable = a.getValue();
                            log.debug("aggressive: {}", enable);
                            setBuildAggressive(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        } else if ((a = operations.getChild(Xml.BUILD_OPTIONS).getAttribute(Xml.ALLOW_LOCAL_SIDING)) != null) {
                            String enable = a.getValue();
                            log.debug("allowLocalSidingMoves: {}", enable);
                            setLocalSpurMovesEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.BUILD_OPTIONS).getAttribute(Xml.PROMPT_TO_STAGING_ENABLED)) != null) {
                            String enable = a.getValue();
                            log.debug("promptToStagingEnabled: {}", enable);
                            setStagingPromptToEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.BUILD_OPTIONS).getAttribute(Xml.ALLOW_LOCAL_INTERCHANGE)) != null) {
                            String enable = a.getValue();
                            log.debug("allowLocalInterchangeMoves: {}", enable);
                            setLocalInterchangeMovesEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.CAR_ROUTING_VIA_STAGING)) != null) {
                            String enable = a.getValue();
                            log.debug("carRoutingViaStaging: {}", enable);
                            setCarRoutingViaStagingEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SWITCH_LIST).getAttribute(Xml.SAME_AS_MANIFEST)) != null) {
                            String b = a.getValue();
                            log.debug("sameAsManifest: {}", b);
                            setSwitchListFormatSameAsManifest(b.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.PANEL).getAttribute(Xml.TRAIN_ICONXY)) != null) {
                            String enable = a.getValue();
                            log.debug("TrainIconXY: {}", enable);
                            setTrainIconCordEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.TAB).getAttribute(Xml.ENABLED)) != null) {
                            String enable = a.getValue();
                            log.debug("tab: {}", enable);
                            setTabEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.MANIFEST).getAttribute(Xml.USE_EDITOR)) != null) {
                            String enable = a.getValue();
                            log.debug("manifest useEditor: {}", enable);
                            setManifestEditorEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.ROUTER).getAttribute(Xml.CAR_ROUTING_VIA_YARDS)) != null) {
                            String enable = a.getValue();
                            log.debug("carRoutingViaYards: {}", enable);
                            setCarRoutingViaYardsEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.MANIFEST).getAttribute(Xml.PRINT_PAGE_HEADER)) != null) {
                            String enable = a.getValue();
                            log.debug("manifest printPageHeader: {}", enable);
                            setPrintPageHeaderEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.BUILD_OPTIONS).getAttribute(Xml.STAGING_TRY_NORMAL)) != null) {
                            String enable = a.getValue();
                            log.debug("stagingTryNormalEnabled: {}", enable);
                            setStagingTryNormalBuildEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.BUILD_REPORT).getAttribute(Xml.USE_EDITOR)) != null) {
                            String enable = a.getValue();
                            log.debug("build report useEditor: {}", enable);
                            setBuildReportEditorEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.PRINT_TRAIN_SCHEDULE)) != null) {
                            String enable = a.getValue();
                            log.debug("printTrainSchedule: {}", enable);
                            setPrintTrainScheduleNameEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SWITCH_LIST).getAttribute(Xml.TRACK_SUMMARY)) != null) {
                            String b = a.getValue();
                            log.debug("track summary: {}", b);
                            setPrintTrackSummaryEnabled(b.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SWITCH_LIST).getAttribute(Xml.USE_DEPARTURE_TIME)) != null) {
                            String b = a.getValue();
                            log.debug("switch list departure time: {}", b);
                            setUseSwitchListDepartureTimeEnabled(b.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.MANIFEST).getAttribute(Xml.SORT_BY_TRACK)) != null) {
                            String enable = a.getValue();
                            log.debug("manifest sortByTrack: {}", enable);
                            setSortByTrackNameEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.BUILD_OPTIONS).getAttribute(Xml.ALLOW_LOCAL_YARD)) != null) {
                            String enable = a.getValue();
                            log.debug("allowLocalYardMoves: {}", enable);
                            setLocalYardMovesEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.BUILD_REPORT).getAttribute(Xml.ALWAYS_PREVIEW)) != null) {
                            String enable = a.getValue();
                            log.debug("build report always preview: {}", enable);
                            setBuildReportAlwaysPreviewEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.CAR_ROUTING_ENABLED)) != null) {
                            String enable = a.getValue();
                            log.debug("carRoutingEnabled: {}", enable);
                            setCarRoutingEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.ROUTER).getAttribute(Xml.CAR_ROUTING_ENABLED)) != null) {
                            String enable = a.getValue();
                            log.debug("carRoutingEnabled: {}", enable);
                            setCarRoutingEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.ROUTER).getAttribute(Xml.FORWARD_TO_YARD)) != null) {
                            String enable = a.getValue();
                            log.debug("forwardToYard: {}", enable);
                            setForwardToYardEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.PRINT_LOADS_EMPTIES)) != null) {
                            String enable = a.getValue();
                            log.debug("printLoadsEmpties: {}", enable);
                            setPrintLoadsAndEmptiesEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.MANIFEST).getAttribute(Xml.USE12HR_FORMAT)) != null) {
                            String enable = a.getValue();
                            log.debug("manifest use12hrFormat: {}", enable);
                            set12hrFormatEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.MANIFEST).getAttribute(Xml.USE_DEPARTURE_TIME)) != null) {
                            String enable = a.getValue();
                            log.debug("manifest use departure time: {}", enable);
                            setUseDepartureTimeEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.BUILD_OPTIONS).getAttribute(Xml.STAGING_TRACK_AVAIL)) != null) {
                            String enable = a.getValue();
                            log.debug("stagingTrackAvail: {}", enable);
                            setStagingTrackImmediatelyAvail(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.ROUTER).getAttribute(Xml.CAR_ROUTING_VIA_STAGING)) != null) {
                            String enable = a.getValue();
                            log.debug("carRoutingViaStaging: {}", enable);
                            setCarRoutingViaStagingEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.CAR_ROUTING_VIA_YARDS)) != null) {
                            String enable = a.getValue();
                            log.debug("carRoutingViaYards: {}", enable);
                            setCarRoutingViaYardsEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.PANEL).getAttribute(Xml.TRAIN_ICON_APPEND)) != null) {
                            String enable = a.getValue();
                            log.debug("TrainIconAppend: {}", enable);
                            setTrainIconAppendEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.MANIFEST).getAttribute(Xml.PRINT_LOADS_EMPTIES)) != null) {
                            String enable = a.getValue();
                            log.debug("manifest printLoadsEmpties: {}", enable);
                            setPrintLoadsAndEmptiesEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.FORWARD_TO_YARD)) != null) {
                            String enable = a.getValue();
                            log.debug("forwardToYard: {}", enable);
                            setForwardToYardEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.PRINT_VALID)) != null) {
                            String enable = a.getValue();
                            log.debug("printValid: {}", enable);
                            setPrintValidEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.MANIFEST).getAttribute(Xml.PRINT_ROUTE_COMMENTS)) != null) {
                            String enable = a.getValue();
                            log.debug("manifest printRouteComments: {}", enable);
                            setPrintRouteCommentsEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.MANIFEST).getAttribute(Xml.PRINT_HEADERS)) != null) {
                            String enable = a.getValue();
                            log.debug("manifest print headers: {}", enable);
                            setPrintHeadersEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.BUILD_OPTIONS).getAttribute(Xml.STAGING_RESTRICTION_ENABLED)) != null) {
                            String enable = a.getValue();
                            log.debug("stagingRestrictionEnabled: {}", enable);
                            setStagingTrainCheckEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.BUILD_OPTIONS).getAttribute(Xml.PROMPT_STAGING_ENABLED)) != null) {
                            String enable = a.getValue();
                            log.debug("promptStagingEnabled: {}", enable);
                            setStagingPromptFromEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.MANIFEST).getAttribute(Xml.PRINT_VALID)) != null) {
                            String enable = a.getValue();
                            log.debug("manifest printValid: {}", enable);
                            setPrintValidEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.MANIFEST).getAttribute(Xml.TRUNCATE)) != null) {
                            String enable = a.getValue();
                            log.debug("manifest truncate: {}", enable);
                            setPrintTruncateManifestEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.MANIFEST).getAttribute(Xml.PRINT_PASSENGER_LOAD)) != null) {
                            String enable = a.getValue();
                            log.debug("manifest print passenger load: {}", enable);
                            setPrintPassengerLoadEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2778..2782
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 57 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.ROUTER).getAttribute(Xml.CHECK_CAR_DESTINATION)) != null) {
                            String enable = a.getValue();
                            log.debug("checkCarDestination: {}", enable);
                            setCheckCarDestinationEnabled(enable.equals(Xml.TRUE));
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 56 other locations - About 50 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2105..2109
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2110..2114
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2183..2187
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2193..2197
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2214..2218
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2219..2223
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2224..2228
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2229..2233
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2234..2238
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2239..2243
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2244..2248
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2249..2253
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2333..2337
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2370..2374
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2375..2379
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2380..2384
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2434..2438
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2439..2443
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2491..2495
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2525..2529
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2530..2534
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2535..2539
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2540..2544
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2545..2549
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2550..2554
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2555..2559
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2560..2564
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2565..2569
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2570..2574
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2575..2579
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2580..2584
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2585..2589
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2590..2594
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2641..2645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2655..2659
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2664..2668
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2669..2673
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2674..2678
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2679..2683
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2689..2693
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2694..2698
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2699..2703
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2726..2730
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2731..2735
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2745..2749
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2785..2789
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2790..2794
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2795..2799
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2800..2804
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2753..2757
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2758..2762
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2763..2767
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2768..2772
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2773..2777
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2875..2879
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2880..2884

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 60.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

                public static void setGenerateCsvSwitchListEnabled(boolean enabled) {
                    boolean old = getDefault().generateCsvSwitchList;
                    getDefault().generateCsvSwitchList = enabled;
                    if (enabled && !old) {
                        InstanceManager.getDefault(TrainManagerXml.class).createDefaultCsvSwitchListDirectory();
            Severity: Minor
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 1 other location - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 587..594

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 56.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

                public static void setGenerateCsvManifestEnabled(boolean enabled) {
                    boolean old = getDefault().generateCsvManifest;
                    getDefault().generateCsvManifest = enabled;
                    if (enabled && !old) {
                        InstanceManager.getDefault(TrainManagerXml.class).createDefaultCsvManifestDirectory();
            Severity: Minor
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 1 other location - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 600..607

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 56.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.PAGE_ORIENTATION).getAttribute(Xml.MANIFEST)) != null) {
                            String orientation = a.getValue();
                            log.debug("manifestOrientation: {}", orientation);
                            setManifestOrientation(orientation);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.CAR_TYPES)) != null) {
                            String types = a.getValue();
                            log.debug("CarTypes: {}", types);
                            setCarTypes(types);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.MANIFEST).getAttribute(Xml.HAZARDOUS_MSG)) != null) {
                            String message = a.getValue();
                            log.debug("manifest hazardousMsg: {}", message);
                            setHazardousMsg(message);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.BUILD_REPORT).getAttribute(Xml.LEVEL)) != null) {
                            String level = a.getValue();
                            log.debug("buildReportLevel: {}", level);
                            setBuildReportLevel(level);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.ICON_COLOR).getAttribute(Xml.EAST)) != null) {
                            String color = a.getValue();
                            log.debug("east color: {}", color);
                            setTrainIconColorEast(color);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.MANIFEST_COLORS).getAttribute(Xml.DROP_COLOR)) != null) {
                            String dropColor = a.getValue();
                            log.debug("dropColor: {}", dropColor);
                            setDropTextColor(dropColor);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.MANIFEST_COLORS).getAttribute(Xml.LOCAL_COLOR)) != null) {
                            String localColor = a.getValue();
                            log.debug("localColor: {}", localColor);
                            setLocalTextColor(localColor);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.MANIFEST_COLORS).getAttribute(Xml.PICKUP_COLOR)) != null) {
                            String pickupColor = a.getValue();
                            log.debug("pickupColor: {}", pickupColor);
                            setPickupTextColor(pickupColor);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.ICON_COLOR).getAttribute(Xml.TERMINATE)) != null) {
                            String color = a.getValue();
                            log.debug("terminate color: {}", color);
                            setTrainIconColorTerminate(color);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.BUILD_REPORT).getAttribute(Xml.ROUTER_LEVEL)) != null) {
                            String level = a.getValue();
                            log.debug("routerBuildReportLevel: {}", level);
                            setRouterBuildReportLevel(level);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.PANEL).getAttribute(Xml.NAME)) != null) {
                            String panel = a.getValue();
                            log.debug("panel: {}", panel);
                            setPanelName(panel);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.VALUE_LABEL)) != null) {
                            String label = a.getValue();
                            log.debug("valueLabel: {}", label);
                            setValueLabel(label);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.LENGTH_UNIT)) != null) {
                            String unit = a.getValue();
                            log.debug("lengthUnit: {}", unit);
                            setLengthUnit(unit);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.PAGE_ORIENTATION).getAttribute(Xml.SWITCH_LIST)) != null) {
                            String orientation = a.getValue();
                            log.debug("switchListOrientation: {}", orientation);
                            setSwitchListOrientation(orientation);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.ICON_COLOR).getAttribute(Xml.SOUTH)) != null) {
                            String color = a.getValue();
                            log.debug("south color: {}", color);
                            setTrainIconColorSouth(color);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.ICON_COLOR).getAttribute(Xml.WEST)) != null) {
                            String color = a.getValue();
                            log.debug("west color: {}", color);
                            setTrainIconColorWest(color);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.ICON_COLOR).getAttribute(Xml.LOCAL)) != null) {
                            String color = a.getValue();
                            log.debug("local color: {}", color);
                            setTrainIconColorLocal(color);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.COMMENTS).getAttribute(Xml.MISPLACED_CARS)) != null) {
                            String comment = a.getValue();
                            log.debug("Misplaced comment: {}", comment);
                            setMiaComment(comment);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.RFID_LABEL)) != null) {
                            String label = a.getValue();
                            log.debug("rfidLabel: {}", label);
                            setRfidLabel(label);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.SETTINGS).getAttribute(Xml.YEAR_MODELED)) != null) {
                            String year = a.getValue();
                            log.debug("yearModeled: {}", year);
                            setYearModeled(year);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2814..2818
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 21 locations. Consider refactoring.
            Open

                        if ((a = operations.getChild(Xml.ICON_COLOR).getAttribute(Xml.NORTH)) != null) {
                            String color = a.getValue();
                            log.debug("north color: {}", color);
                            setTrainIconColorNorth(color);
                        }
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 20 other locations - About 45 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2160..2164
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2188..2192
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2198..2202
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2203..2207
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2208..2212
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2429..2433
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2462..2466
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2467..2471
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2474..2478
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2479..2483
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2484..2488
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2595..2599
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2716..2720
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2721..2725
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2819..2823
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2824..2828
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2829..2833
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2834..2838
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2839..2843
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 2846..2850

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Similar blocks of code found in 2 locations. Consider refactoring.
            Open

                    if ((operations.getChild(Xml.MANIFEST_LOGO) != null)) {
                        if ((a = operations.getChild(Xml.MANIFEST_LOGO).getAttribute(Xml.NAME)) != null) {
                            setManifestLogoURL(a.getValue());
                        }
                    }
            Severity: Minor
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 1 other location - About 45 mins to fix
            java/src/jmri/jmrit/operations/trains/Train.java on lines 3996..4000

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 54.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Identical blocks of code found in 11 locations. Consider refactoring.
            Open

                        case OO_SCALE:
                            getDefault().ratio = OO_RATIO;
                            getDefault().initWeight = OO_INITIAL_WEIGHT;
                            getDefault().addWeight = OO_ADD_WEIGHT;
                            getDefault().ratioTons = OO_RATIO_TONS;
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 10 other locations - About 35 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1628..1633
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1634..1639
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1640..1645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1646..1651
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1658..1663
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1664..1669
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1670..1675
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1676..1681
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1682..1687
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1688..1693

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 46.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Identical blocks of code found in 11 locations. Consider refactoring.
            Open

                        case O_SCALE:
                            getDefault().ratio = O_RATIO;
                            getDefault().initWeight = O_INITIAL_WEIGHT;
                            getDefault().addWeight = O_ADD_WEIGHT;
                            getDefault().ratioTons = O_RATIO_TONS;
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 10 other locations - About 35 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1628..1633
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1634..1639
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1640..1645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1646..1651
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1652..1657
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1658..1663
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1664..1669
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1670..1675
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1676..1681
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1688..1693

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 46.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Identical blocks of code found in 11 locations. Consider refactoring.
            Open

                        case HO_SCALE:
                            getDefault().ratio = HO_RATIO;
                            getDefault().initWeight = HO_INITIAL_WEIGHT;
                            getDefault().addWeight = HO_ADD_WEIGHT;
                            getDefault().ratioTons = HO_RATIO_TONS;
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 10 other locations - About 35 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1628..1633
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1634..1639
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1640..1645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1646..1651
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1652..1657
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1664..1669
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1670..1675
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1676..1681
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1682..1687
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1688..1693

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 46.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Identical blocks of code found in 11 locations. Consider refactoring.
            Open

                        case HOn3_SCALE:
                            getDefault().ratio = HO_RATIO;
                            getDefault().initWeight = HOn3_INITIAL_WEIGHT;
                            getDefault().addWeight = HOn3_ADD_WEIGHT;
                            getDefault().ratioTons = HOn3_RATIO_TONS;
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 10 other locations - About 35 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1628..1633
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1634..1639
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1640..1645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1652..1657
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1658..1663
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1664..1669
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1670..1675
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1676..1681
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1682..1687
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1688..1693

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 46.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Identical blocks of code found in 11 locations. Consider refactoring.
            Open

                        case TT_SCALE:
                            getDefault().ratio = TT_RATIO;
                            getDefault().initWeight = TT_INITIAL_WEIGHT;
                            getDefault().addWeight = TT_ADD_WEIGHT;
                            getDefault().ratioTons = TT_RATIO_TONS;
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 10 other locations - About 35 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1628..1633
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1634..1639
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1646..1651
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1652..1657
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1658..1663
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1664..1669
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1670..1675
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1676..1681
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1682..1687
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1688..1693

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 46.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Identical blocks of code found in 11 locations. Consider refactoring.
            Open

                        case Z_SCALE:
                            getDefault().ratio = Z_RATIO;
                            getDefault().initWeight = Z_INITIAL_WEIGHT;
                            getDefault().addWeight = Z_ADD_WEIGHT;
                            getDefault().ratioTons = Z_RATIO_TONS;
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 10 other locations - About 35 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1634..1639
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1640..1645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1646..1651
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1652..1657
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1658..1663
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1664..1669
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1670..1675
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1676..1681
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1682..1687
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1688..1693

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 46.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Identical blocks of code found in 11 locations. Consider refactoring.
            Open

                        case N_SCALE:
                            getDefault().ratio = N_RATIO;
                            getDefault().initWeight = N_INITIAL_WEIGHT;
                            getDefault().addWeight = N_ADD_WEIGHT;
                            getDefault().ratioTons = N_RATIO_TONS;
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 10 other locations - About 35 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1628..1633
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1640..1645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1646..1651
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1652..1657
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1658..1663
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1664..1669
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1670..1675
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1676..1681
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1682..1687
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1688..1693

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 46.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Identical blocks of code found in 11 locations. Consider refactoring.
            Open

                        case S_SCALE:
                            getDefault().ratio = S_RATIO;
                            getDefault().initWeight = S_INITIAL_WEIGHT;
                            getDefault().addWeight = S_ADD_WEIGHT;
                            getDefault().ratioTons = S_RATIO_TONS;
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 10 other locations - About 35 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1628..1633
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1634..1639
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1640..1645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1646..1651
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1652..1657
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1658..1663
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1664..1669
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1676..1681
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1682..1687
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1688..1693

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 46.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Identical blocks of code found in 11 locations. Consider refactoring.
            Open

                        case On3_SCALE:
                            getDefault().ratio = O_RATIO;
                            getDefault().initWeight = On3_INITIAL_WEIGHT;
                            getDefault().addWeight = On3_ADD_WEIGHT;
                            getDefault().ratioTons = On3_RATIO_TONS;
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 10 other locations - About 35 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1628..1633
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1634..1639
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1640..1645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1646..1651
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1652..1657
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1658..1663
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1664..1669
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1670..1675
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1682..1687
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1688..1693

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 46.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Identical blocks of code found in 11 locations. Consider refactoring.
            Open

                        case Sn3_SCALE:
                            getDefault().ratio = S_RATIO;
                            getDefault().initWeight = Sn3_INITIAL_WEIGHT;
                            getDefault().addWeight = Sn3_ADD_WEIGHT;
                            getDefault().ratioTons = Sn3_RATIO_TONS;
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 10 other locations - About 35 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1628..1633
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1634..1639
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1640..1645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1646..1651
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1652..1657
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1658..1663
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1670..1675
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1676..1681
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1682..1687
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1688..1693

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 46.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            Identical blocks of code found in 11 locations. Consider refactoring.
            Open

                        case G_SCALE:
                            getDefault().ratio = G_RATIO;
                            getDefault().initWeight = G_INITIAL_WEIGHT;
                            getDefault().addWeight = G_ADD_WEIGHT;
                            getDefault().ratioTons = G_RATIO_TONS;
            Severity: Major
            Found in java/src/jmri/jmrit/operations/setup/Setup.java and 10 other locations - About 35 mins to fix
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1628..1633
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1634..1639
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1640..1645
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1646..1651
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1652..1657
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1658..1663
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1664..1669
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1670..1675
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1676..1681
            java/src/jmri/jmrit/operations/setup/Setup.java on lines 1682..1687

            Duplicated Code

            Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

            Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

            When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

            Tuning

            This issue has a mass of 46.

            We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

            The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

            If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

            See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

            Refactorings

            Further Reading

            There are no issues that match your filters.

            Category
            Status