Author: jleroux
Date: Mon May 27 09:29:28 2019 New Revision: 1860113 URL: http://svn.apache.org/viewvc?rev=1860113&view=rev Log: Reverted: Refactor EntityDataLoadContainer (OFBIZ-11070) There is something wrong with Mathieu's changes, reverting all for now Modified: ofbiz/ofbiz-framework/trunk/framework/entityext/src/main/java/org/apache/ofbiz/entityext/data/EntityDataLoadContainer.java Modified: ofbiz/ofbiz-framework/trunk/framework/entityext/src/main/java/org/apache/ofbiz/entityext/data/EntityDataLoadContainer.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/entityext/src/main/java/org/apache/ofbiz/entityext/data/EntityDataLoadContainer.java?rev=1860113&r1=1860112&r2=1860113&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/framework/entityext/src/main/java/org/apache/ofbiz/entityext/data/EntityDataLoadContainer.java (original) +++ ofbiz/ofbiz-framework/trunk/framework/entityext/src/main/java/org/apache/ofbiz/entityext/data/EntityDataLoadContainer.java Mon May 27 09:29:28 2019 @@ -131,7 +131,7 @@ public class EntityDataLoadContainer imp return name; } - private static List<GenericValue> getTenantList(Property delegatorNameProp) throws ContainerException { + private List<GenericValue> getTenantList(Property delegatorNameProp) throws ContainerException { if (!EntityUtil.isMultiTenantEnabled()) { throw new ContainerException("Multitenant is disabled, must be enabled in general.properties -> multitenant=Y"); } @@ -148,7 +148,7 @@ public class EntityDataLoadContainer imp } } - private static void loadDataForDelegator(Map<String, String> loadDataProps, Configuration configuration, + private void loadDataForDelegator(Map<String, String> loadDataProps, Configuration configuration, Property delegatorNameProp, String overrideDelegator) throws ContainerException{ // prepare command line properties passed by user @@ -191,24 +191,29 @@ public class EntityDataLoadContainer imp } } - /** - * Checks if a key is associated with either the string {@code "true"} or {@code null}. + /* + * If the user passed a flag, then make sure to set it to true if it has no + * value or its value is the string "true". * - * @param props the map associating keys to values - * @param key the key to look for in {@code props} - * @return {@code true} if {@code key} is associated with {@code "true"} or {@code null} in {@code props}. + * key=true -> true + * key -> true + * key=false -> false + * (no-key) -> false */ - private static boolean isPropertySet(Map<String, String> props, String key) { + private boolean isPropertySet(Map<String, String> props, String key) { String value = props.get(key); - return props.containsKey(key) && (value == null || "true".equalsIgnoreCase(value)); + if (props.containsKey(key) && (value == null || "true".equalsIgnoreCase(value))) { + return true; + } else { + return false; + } } /* * Gets the default entity-group-name defined in the container definition * unless overridden by the user */ - private static String getEntityGroupNameFromConfig(Configuration cfg, String overrideGroup) - throws ContainerException { + private String getEntityGroupNameFromConfig(Configuration cfg, String overrideGroup) throws ContainerException { if (overrideGroup != null) { return overrideGroup; } else { @@ -226,8 +231,7 @@ public class EntityDataLoadContainer imp * overridden by the user. This method will create all the tables, keys and * indices if missing and hence might take a long time. */ - private static Delegator getDelegator(Property delegatorNameProp, String overrideDelegator) - throws ContainerException { + private Delegator getDelegator(Property delegatorNameProp, String overrideDelegator) throws ContainerException { if (overrideDelegator != null) { return DelegatorFactory.getDelegator(overrideDelegator); } else { @@ -235,7 +239,7 @@ public class EntityDataLoadContainer imp } } - private static Delegator getDelegatorFromProp(Property delegatorNameProp) throws ContainerException { + private Delegator getDelegatorFromProp(Property delegatorNameProp) throws ContainerException { if (delegatorNameProp != null && UtilValidate.isNotEmpty(delegatorNameProp.value)) { Delegator delegator = DelegatorFactory.getDelegator(delegatorNameProp.value); if (delegator != null) { @@ -248,7 +252,7 @@ public class EntityDataLoadContainer imp } } - private static Delegator getBaseDelegator(Delegator delegator) { + private Delegator getBaseDelegator(Delegator delegator) { if (delegator.getDelegatorTenantId() != null) { return DelegatorFactory.getDelegator(delegator.getDelegatorBaseName()); } else { @@ -256,7 +260,7 @@ public class EntityDataLoadContainer imp } } - private static GenericHelperInfo getHelperInfo(Delegator delegator, String entityGroup) throws ContainerException { + private GenericHelperInfo getHelperInfo(Delegator delegator, String entityGroup) throws ContainerException { GenericHelperInfo helperInfo = delegator.getGroupHelperInfo(entityGroup); if (helperInfo == null) { throw new ContainerException("Unable to locate the datasource helper for the group: " + entityGroup); @@ -264,8 +268,8 @@ public class EntityDataLoadContainer imp return helperInfo; } - private static Map<String, ModelEntity> getModelEntities(Delegator delegator, String entityGroup) - throws ContainerException { + private Map<String, ModelEntity> getModelEntities(Delegator delegator, + String entityGroup) throws ContainerException { try { return delegator.getModelEntityMapByGroup(entityGroup); } catch (GenericEntityException e) { @@ -273,7 +277,7 @@ public class EntityDataLoadContainer imp } } - private static void createOrUpdateComponentEntities(Delegator baseDelegator, + private void createOrUpdateComponentEntities(Delegator baseDelegator, Collection<ComponentConfig> allComponents) { for (ComponentConfig config : allComponents) { @@ -296,7 +300,7 @@ public class EntityDataLoadContainer imp } } - private static void dropDbConstraints(DatabaseUtil dbUtil, Map<String, ModelEntity> modelEntities, + private void dropDbConstraints(DatabaseUtil dbUtil, Map<String, ModelEntity> modelEntities, TreeSet<String> modelEntityNames) { List<String> messages = new ArrayList<>(); @@ -328,7 +332,7 @@ public class EntityDataLoadContainer imp logMessageList(messages); } - private static void createDbConstraints(DatabaseUtil dbUtil, Map<String, ModelEntity> modelEntities, + private void createDbConstraints(DatabaseUtil dbUtil, Map<String, ModelEntity> modelEntities, TreeSet<String> modelEntityNames) { List<String> messages = new ArrayList<>(); @@ -360,7 +364,7 @@ public class EntityDataLoadContainer imp logMessageList(messages); } - private static void dropPrimaryKeys(DatabaseUtil dbUtil, Map<String, ModelEntity> modelEntities, + private void dropPrimaryKeys(DatabaseUtil dbUtil, Map<String, ModelEntity> modelEntities, TreeSet<String> modelEntityNames) { List<String> messages = new ArrayList<>(); @@ -376,7 +380,7 @@ public class EntityDataLoadContainer imp logMessageList(messages); } - private static void createPrimaryKeys(DatabaseUtil dbUtil, Map<String, ModelEntity> modelEntities, + private void createPrimaryKeys(DatabaseUtil dbUtil, Map<String, ModelEntity> modelEntities, TreeSet<String> modelEntityNames) { List<String> messages = new ArrayList<>(); @@ -392,7 +396,7 @@ public class EntityDataLoadContainer imp logMessageList(messages); } - private static void repairDbColumns(DatabaseUtil dbUtil, Map<String, ModelEntity> modelEntities) { + private void repairDbColumns(DatabaseUtil dbUtil, Map<String, ModelEntity> modelEntities) { List<String> fieldsToRepair = new ArrayList<>(); List<String> messages = new ArrayList<>(); dbUtil.checkDb(modelEntities, fieldsToRepair, messages, false, false, false, false); @@ -403,14 +407,15 @@ public class EntityDataLoadContainer imp logMessageList(messages); } - private static void logMessageList(List<String> messages) { + private void logMessageList(List<String> messages) { if (Debug.infoOn()) { messages.forEach(message -> Debug.logInfo(message, module)); } } - private static void loadData(Delegator delegator, Delegator baseDelegator, - Collection<ComponentConfig> allComponents, GenericHelperInfo helperInfo, + private void loadData(Delegator delegator, Delegator baseDelegator, + Collection<ComponentConfig> allComponents, + GenericHelperInfo helperInfo, Map<String, String> loadDataProps) throws ContainerException { // prepare command line properties passed by user @@ -445,7 +450,7 @@ public class EntityDataLoadContainer imp logDataLoadingResults(infoMessages, errorMessages, totalRowsChanged); } - private static int getTransactionTimeout(String timeout) { + private int getTransactionTimeout(String timeout) { try { return Integer.parseInt(timeout); } catch (Exception e) { @@ -453,14 +458,14 @@ public class EntityDataLoadContainer imp } } - private static List<URL> prepareDataUrls(Delegator delegator, Delegator baseDelegator, + private List<URL> prepareDataUrls(Delegator delegator, Delegator baseDelegator, Collection<ComponentConfig> allComponents, GenericHelperInfo helperInfo, Map<String, String> loadDataProps) throws ContainerException { List<URL> urlList = new ArrayList<>(); // prepare command line properties passed by user - List<String> files = Arrays.asList(loadDataProps.getOrDefault(DATA_FILE, "").split(",")); + List<String> files = getLoadFiles(loadDataProps.get(DATA_FILE)); String directory = loadDataProps.get(DATA_DIR); String component = loadDataProps.get(DATA_COMPONENT); String readers = loadDataProps.get(DATA_READERS); @@ -494,13 +499,24 @@ public class EntityDataLoadContainer imp return urlList; } - private static boolean isDataReadersEnabled(List<String> files, String directory, String readers) { + private List<String> getLoadFiles(String fileProp) { + List<String> fileList = new ArrayList<>(); + Optional.ofNullable(fileProp) + .ifPresent(props -> fileList.addAll(StringUtil.split(props, ","))); + return fileList; + } + + private boolean isDataReadersEnabled(List<String> files, String directory, String readers) { /* if files or directories are passed by the user and no readers are * passed then set readers to "none" */ - return readers != null || (files.isEmpty() && directory == null); + if (readers == null && (!files.isEmpty() || directory != null)) { + return false; + } else { + return true; + } } - private static List<String> prepareTenantLoadComponents(Delegator delegator, Delegator baseDelegator, + private List<String> prepareTenantLoadComponents(Delegator delegator, Delegator baseDelegator, Collection<ComponentConfig> allComponents, String component) { List<String> loadComponents = new ArrayList<>(); @@ -530,7 +546,7 @@ public class EntityDataLoadContainer imp return loadComponents; } - private static List<URL> retireveDataUrlsFromFileList(List<String> files) throws ContainerException { + private List<URL> retireveDataUrlsFromFileList(List<String> files) throws ContainerException { List<URL> fileUrls = new ArrayList<>(); for(String file: files) { URL url = UtilURL.fromResource(file); @@ -543,7 +559,7 @@ public class EntityDataLoadContainer imp return fileUrls; } - private static List<URL> retrieveDataUrlsFromDirectory(String directory) { + private List<URL> retrieveDataUrlsFromDirectory(String directory) { return Optional.ofNullable(directory) .map(dir -> Arrays.asList(new File(dir).listFiles()).stream() .filter(file -> file.getName().toLowerCase(Locale.getDefault()).endsWith(".xml")) @@ -552,7 +568,7 @@ public class EntityDataLoadContainer imp .orElse(new ArrayList<URL>()); } - private static void logDataLoadingPlan(List<URL> urlList, String delegatorName) { + private void logDataLoadingPlan(List<URL> urlList, String delegatorName) { if (UtilValidate.isNotEmpty(urlList)) { Debug.logImportant("=-=-=-=-=-=-= Doing a data load using delegator '" + delegatorName + "' with the following files:", module); @@ -563,7 +579,7 @@ public class EntityDataLoadContainer imp } } - private static String createDataLoadMessage(URL dataUrl, int rowsChanged, int totalRowsChanged) { + private String createDataLoadMessage(URL dataUrl, int rowsChanged, int totalRowsChanged) { NumberFormat formatter = NumberFormat.getIntegerInstance(); formatter.setMinimumIntegerDigits(5); formatter.setGroupingUsed(false); @@ -572,7 +588,7 @@ public class EntityDataLoadContainer imp + " from " + dataUrl.toExternalForm(); } - private static void logDataLoadingResults(List<String> infoMessages, + private void logDataLoadingResults(List<String> infoMessages, List<Object> errorMessages, int totalRowsChanged) { if (UtilValidate.isNotEmpty(infoMessages)) { |
Free forum by Nabble | Edit this page |