Changeset 4362
- Timestamp:
- Jul 1, 2008, 4:30:32 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.7-stable/src/plugins/core/net/sf/basedb/plugins/Base1PluginExecuter.java
r4266 r4362 127 127 import java.util.TreeMap; 128 128 import java.util.regex.Pattern; 129 import java.util.regex.Matcher; 129 130 130 131 /** … … 843 844 Boolean mergeReporters = (Boolean) configuration.getValue(geneAveragesParameter.getName()); 844 845 846 TreeMap<String, JobParameter> base1parametertype = getJobParameterObjectsFromXML(String.valueOf(configuration.getValue(jobParametersParameter.getName())), true); 845 847 ListMap<String, String> parameters = new ListMap<String, String>(); 846 848 for (PluginParameter<?> pp : getJobParametersFromXML(String.valueOf(configuration.getValue(jobParametersParameter.getName())), true)) … … 848 850 String name = pp.getName(); 849 851 Object value = job.getValue(name); 850 parameters.put(name, value == null ? "" : value.toString()); 852 String valueString = (value == null) ? "" : value.toString(); 853 JobParameter jp=base1parametertype.get(name); 854 // replacing line breaks for Base1 TEXT and STRING types 855 if (jp.getType() == Base1JobParameterType.STRING || 856 jp.getType() == Base1JobParameterType.TEXT) 857 { 858 Pattern p=Pattern.compile("\r"); 859 Matcher m=p.matcher(valueString); 860 valueString = m.replaceAll("\\\\r"); 861 m.usePattern(Pattern.compile("\n")); 862 m.reset(valueString); 863 valueString = m.replaceAll("\\\\n"); 864 } 865 parameters.put(name, valueString); 851 866 } 852 867 … … 1010 1025 return headers; 1011 1026 } 1012 1013 1027 1028 1014 1029 @SuppressWarnings({ "unchecked", "serial" }) 1015 private List<PluginParameter<?>> getJobParametersFromXML(String xml, boolean hideRemoved) 1030 private TreeMap<String, JobParameter> 1031 getJobParameterObjectsFromXML(String xml, boolean hideRemoved) 1016 1032 { 1017 1033 try … … 1031 1047 } 1032 1048 }); 1033 1034 TreeMap< Integer, PluginParameter<?>> positionParameter = new TreeMap<Integer, PluginParameter<?>>();1049 1050 TreeMap<String, JobParameter> pars= new TreeMap<String, JobParameter>(); 1035 1051 while (it.hasNext()) 1036 1052 { … … 1039 1055 if (!jp.isRemoved()) 1040 1056 { 1057 if (pars.containsKey(jp.getName())) 1058 { 1059 throw new BaseException("Duplicate parameter at position "+jp.getPosition()); 1060 } 1061 pars.put(jp.getName(), jp); 1062 } 1063 } 1064 return pars; 1065 } 1066 catch (JDOMException e1) 1067 { 1068 throw new BaseException(e1.getCause()); 1069 } 1070 catch (IOException e1) 1071 { 1072 throw new BaseException(e1); 1073 } 1074 } 1075 1076 1077 @SuppressWarnings({ "unchecked", "serial" }) 1078 private List<PluginParameter<?>> getJobParametersFromXML(String xml, boolean hideRemoved) 1079 { 1080 try 1081 { 1082 String doctype = "<!DOCTYPE jobparameters SYSTEM \"base1-plugin-configuration-file.dtd\">"; 1083 Document doc = XMLUtil.getValidatedXml(doctype+xml, dtdFile); 1084 Iterator<Element> it = doc.getDescendants(new Filter() 1085 { 1086 public boolean matches(Object o) 1087 { 1088 if (o instanceof Element) 1089 { 1090 Element e = (Element) o; 1091 return e.getName().equals("parameter"); 1092 } 1093 return false; 1094 } 1095 }); 1096 1097 TreeMap<Integer, PluginParameter<?>> positionParameter = new TreeMap<Integer, PluginParameter<?>>(); 1098 while (it.hasNext()) 1099 { 1100 Element e = it.next(); 1101 JobParameter jp = new JobParameter(e); 1102 if (!jp.isRemoved()) 1103 { 1041 1104 if (positionParameter.containsKey(jp.getPosition())) 1042 1105 { … … 1057 1120 } 1058 1121 } 1059 1060 1122 1123 1061 1124 /** 1062 1125 Creates a boolean from a string.
Note: See TracChangeset
for help on using the changeset viewer.