summaryrefslogtreecommitdiff
path: root/org.genivi.commonapi.core/src/org/genivi/commonapi/core/preferences/FPreferences.java
diff options
context:
space:
mode:
Diffstat (limited to 'org.genivi.commonapi.core/src/org/genivi/commonapi/core/preferences/FPreferences.java')
-rw-r--r--org.genivi.commonapi.core/src/org/genivi/commonapi/core/preferences/FPreferences.java23
1 files changed, 22 insertions, 1 deletions
diff --git a/org.genivi.commonapi.core/src/org/genivi/commonapi/core/preferences/FPreferences.java b/org.genivi.commonapi.core/src/org/genivi/commonapi/core/preferences/FPreferences.java
index 8c27667..4e5850f 100644
--- a/org.genivi.commonapi.core/src/org/genivi/commonapi/core/preferences/FPreferences.java
+++ b/org.genivi.commonapi.core/src/org/genivi/commonapi/core/preferences/FPreferences.java
@@ -11,6 +11,7 @@ package org.genivi.commonapi.core.preferences;
import java.util.HashMap;
import java.util.Map;
+import java.io.File;
import org.eclipse.xtext.generator.IFileSystemAccess;
import org.eclipse.xtext.generator.OutputConfiguration;
@@ -59,6 +60,9 @@ public class FPreferences {
if (!preferences.containsKey(PreferenceConstants.P_OUTPUT_DEFAULT)) {
preferences.put(PreferenceConstants.P_OUTPUT_DEFAULT, PreferenceConstants.DEFAULT_OUTPUT);
}
+ if (!preferences.containsKey(PreferenceConstants.P_OUTPUT_SUBDIRS)) {
+ preferences.put(PreferenceConstants.P_OUTPUT_SUBDIRS, "false");
+ }
if (!preferences.containsKey(PreferenceConstants.P_OUTPUT_SKELETON)) {
preferences.put(PreferenceConstants.P_OUTPUT_SKELETON, PreferenceConstants.DEFAULT_OUTPUT);
}
@@ -122,13 +126,30 @@ public class FPreferences {
* @return the map of output configurations
*/
public HashMap<String, OutputConfiguration> getOutputpathConfiguration() {
+ return getOutputpathConfiguration(null);
+ }
+
+ /**
+ * Set the output path configurations (based on stored preference values) for file system access used in the generator.
+ * @subdir the subdir to use, can be null
+ * @return the map of output configurations
+ */
+ public HashMap<String, OutputConfiguration> getOutputpathConfiguration(String subdir) {
String defaultDir = getPreference(PreferenceConstants.P_OUTPUT_DEFAULT, PreferenceConstants.DEFAULT_OUTPUT);
String outputCommonDir = getPreference(PreferenceConstants.P_OUTPUT_COMMON, defaultDir);
String outputProxyDir = getPreference(PreferenceConstants.P_OUTPUT_PROXIES, defaultDir);
String outputStubDir = getPreference(PreferenceConstants.P_OUTPUT_STUBS, defaultDir);
String outputSkelDir = getPreference(PreferenceConstants.P_OUTPUT_SKELETON, defaultDir);
-
+
+ if (null != subdir && getPreference(PreferenceConstants.P_OUTPUT_SUBDIRS, "false").equals("true")) {
+ defaultDir = new File(defaultDir, subdir).getPath();
+ outputCommonDir = new File(outputCommonDir, subdir).getPath();
+ outputProxyDir = new File(outputProxyDir, subdir).getPath();
+ outputStubDir = new File(outputStubDir, subdir).getPath();
+ outputSkelDir = new File(outputSkelDir, subdir).getPath();
+ }
+
// the map of output directory configurations
HashMap<String, OutputConfiguration> outputs = new HashMap<String, OutputConfiguration> ();