Ticket #908: ConceptAnswer.patch
| File ConceptAnswer.patch, 12.6 kB (added by dthomas, 2 years ago) |
|---|
ConceptAnswer.patch |
-
C:/workspace/openmrs_trunk/metadata/model/1.3.0-schema-with-core-data.sql
old new 156 156 `concept_id` int(11) NOT NULL default '0', 157 157 `answer_concept` int(11) default NULL, 158 158 `answer_drug` int(11) default NULL, 159 `sort_weight` double default NULL, 159 160 `creator` int(11) NOT NULL default '0', 160 161 `date_created` datetime NOT NULL default '0000-00-00 00:00:00', 161 162 PRIMARY KEY (`concept_answer_id`), -
C:/workspace/openmrs_trunk/metadata/model/1.3.0-schema-with-core-and-demo-data.sql
old new 151 151 `concept_id` int(11) NOT NULL default '0', 152 152 `answer_concept` int(11) default NULL, 153 153 `answer_drug` int(11) default NULL, 154 `sort_weight` double default NULL, 154 155 `creator` int(11) NOT NULL default '0', 155 156 `date_created` datetime NOT NULL default '0000-00-00 00:00:00', 156 157 PRIMARY KEY (`concept_answer_id`), -
C:/workspace/openmrs_trunk/metadata/model/1.3.0-schema-only.sql
old new 127 127 `concept_id` int(11) NOT NULL default '0', 128 128 `answer_concept` int(11) default NULL, 129 129 `answer_drug` int(11) default NULL, 130 `sort_weight` double default NULL, 130 131 `creator` int(11) NOT NULL default '0', 131 132 `date_created` datetime NOT NULL default '0000-00-00 00:00:00', 132 133 PRIMARY KEY (`concept_answer_id`), -
C:/workspace/openmrs_trunk/metadata/model/update-to-latest-db.mysqldiff.sql
old new 1041 1041 delimiter ; 1042 1042 call diff_procedure('1.3.0.13'); 1043 1043 1044 1045 #---------------------------------------- 1046 # OpenMRS Datamodel version 1.3.0.14 1047 # Dave Thomas July 11, 2008 1048 # Adding sort_weight column to conceptName 1049 #---------------------------------------- 1050 1051 DROP PROCEDURE IF EXISTS diff_procedure; 1052 1053 delimiter // 1054 1055 CREATE PROCEDURE diff_procedure (IN new_db_version VARCHAR(10)) 1056 BEGIN 1057 IF (SELECT REPLACE(property_value, '.', '0') < REPLACE(new_db_version, '.', '0') FROM global_property WHERE property = 'database_version') THEN 1058 SELECT CONCAT('Updating to ', new_db_version) AS 'Datamodel Update:' FROM dual; 1059 1060 ALTER TABLE `concept_answer` ADD COLUMN `sort_weight` double default NULL; 1061 1062 UPDATE `global_property` SET property_value=new_db_version WHERE property = 'database_version'; 1063 1064 DROP TABLE IF EXISTS concept_answer_tmp; 1065 CREATE TABLE `concept_answer_tmp` ( 1066 `concept_answer_id` int(11) NOT NULL, 1067 `concept_id` int(11) NOT NULL default '0', 1068 `answer_concept` int(11) default NULL, 1069 `answer_drug` int(11) default NULL, 1070 `sort_weight` double default NULL, 1071 `creator` int(11) NOT NULL default '0', 1072 `date_created` datetime NOT NULL); 1073 1074 INSERT INTO concept_answer_tmp 1075 SELECT * FROM concept_answer; 1076 1077 DROP TABLE IF EXISTS concept_answer_tmp_counts; 1078 CREATE TABLE `concept_answer_tmp_counts` ( 1079 `concept_answer_id` int(11) NOT NULL, 1080 `concept_id` int(11) NOT NULL default '0', 1081 `sort_weight_tmp` double default NULL); 1082 1083 INSERT INTO concept_answer_tmp_counts 1084 SELECT ca.concept_answer_id, ca.concept_id, count(ca1.answer_concept) 1085 FROM concept_answer ca, concept_answer_tmp ca1 1086 WHERE ca.concept_id = ca1.concept_id 1087 AND ca1.concept_answer_id <= ca.concept_answer_id 1088 GROUP BY ca.concept_answer_id 1089 ORDER BY concept_id, count(ca1.answer_concept); 1090 1091 UPDATE concept_answer ca 1092 LEFT JOIN concept_answer_tmp_counts ctmp on ca.concept_answer_id = ctmp.concept_answer_id 1093 SET ca.sort_weight = ctmp.sort_weight_tmp 1094 WHERE ctmp.concept_answer_id = ca.concept_answer_id; 1095 1096 DROP TABLE concept_answer_tmp_counts; 1097 DROP TABLE concept_answer_tmp; 1098 1099 END IF; 1100 END; 1101 // 1102 1103 delimiter ; 1104 call diff_procedure('1.3.0.14'); 1105 1044 1106 #----------------------------------- 1045 1107 # Clean up - Keep this section at the very bottom of diff script 1046 1108 #----------------------------------- -
C:/workspace/openmrs_trunk/metadata/model/1.3.0-createdb-from-scratch-with-demo-data.sql
old new 164 164 `concept_id` int(11) NOT NULL default '0', 165 165 `answer_concept` int(11) default NULL, 166 166 `answer_drug` int(11) default NULL, 167 `sort_weight` double default NULL, 167 168 `creator` int(11) NOT NULL default '0', 168 169 `date_created` datetime NOT NULL default '0000-00-00 00:00:00', 169 170 PRIMARY KEY (`concept_answer_id`), -
C:/workspace/openmrs_trunk/metadata/api/hibernate/org/openmrs/api/db/hibernate/Concept.hbm.xml
old new 41 41 </set> 42 42 43 43 <set name="answers" lazy="true" cascade="all,evict" 44 table="concept_answer" order-by=" concept_answer_idasc" access="field">44 table="concept_answer" order-by="sort_weight asc" access="field"> 45 45 <key column="concept_id" not-null="true" /> 46 46 <composite-element class="ConceptAnswer"> 47 47 <parent name="concept"/> 48 48 <property generated="insert" insert="false" name="conceptAnswerId" type="java.lang.Integer" column="concept_answer_id" /> 49 49 <many-to-one name="answerConcept" class="org.openmrs.Concept" column="answer_concept" not-null="true"/> 50 50 <many-to-one name="answerDrug" class="org.openmrs.Drug" column="answer_drug" /> 51 <property name="sortWeight" type="java.lang.Double" column="sort_weight" length="22" /> 51 52 <property name="dateCreated" type="java.util.Date" column="date_created" not-null="true" /> 52 53 <many-to-one name="creator" class="User" column="creator" not-null="true"/> 53 54 </composite-element> -
C:/workspace/openmrs_trunk/src/api/org/openmrs/Concept.java
old new 135 135 136 136 /** 137 137 * @param answers The answers to set. 138 * This method assumes that the sort_weight has already been set. 138 139 */ 139 140 public void setAnswers(Collection<ConceptAnswer> answers) { 140 141 this.answers = answers; … … 148 149 } 149 150 150 151 /** 152 * 153 * @param answers The answers to set. 154 * @param buildSortWeight true = rebuild sort_weight, false = do nothing. 155 */ 156 public void setAnswers(Collection<ConceptAnswer> answers, boolean buildSortWeight){ 157 this.answers = answers; 158 if (buildSortWeight){ 159 double i = 1; 160 for (ConceptAnswer ca : answers) 161 ca.setSortWeight(i++); 162 } 163 } 164 165 /** 151 166 * Add the given ConceptAnswer to the list of answers for this Concept 152 167 * @param conceptAnswer 153 168 */ … … 159 174 { 160 175 conceptAnswer.setConcept(this); 161 176 answers.add(conceptAnswer); 177 double i = 1; 178 for (ConceptAnswer ca : answers) 179 ca.setSortWeight(i++); 162 180 } 163 181 } 164 182 … … 169 187 public void removeAnswer(ConceptAnswer conceptAnswer) { 170 188 if (answers != null) 171 189 answers.remove(conceptAnswer); 190 double i = 1; 191 for (ConceptAnswer ca : answers) 192 ca.setSortWeight(i++); 172 193 } 173 194 174 195 /** -
C:/workspace/openmrs_trunk/src/api/org/openmrs/ConceptAnswer.java
old new 31 31 private Concept concept; // concept to answer 32 32 private Concept answerConcept; // answer for <code>concept</code> 33 33 private Drug answerDrug; // answer in drug form for <code>concept</code> 34 private Double sortWeight; 34 35 private User creator; 35 36 private Date dateCreated; 36 37 … … 173 174 public void setDateCreated(Date dateCreated) { 174 175 this.dateCreated = dateCreated; 175 176 } 177 178 public Double getSortWeight() { 179 return sortWeight; 180 } 181 182 public void setSortWeight(Double sortWeight) { 183 this.sortWeight = sortWeight; 184 } 176 185 } -
C:/workspace/openmrs_trunk/src/api/org/openmrs/propertyeditor/ConceptAnswersEditor.java
old new 118 118 for (String i : requestConceptIds) 119 119 log.debug("id: " + i); 120 120 121 double i = 1; 122 for (String conceptId : requestConceptIds) { 123 Integer id = getConceptId(conceptId); 124 for (ConceptAnswer ca : originalConceptAnswers){ 125 if (id.intValue() == ca.getAnswerConcept().getConceptId()) 126 ca.setSortWeight(i++); 127 } 128 } 121 129 setValue(originalConceptAnswers); 122 130 } 123 131 else { -
C:/workspace/openmrs_trunk/src/web/org/openmrs/web/controller/ConceptFormController.java
old new 20 20 import java.util.Collection; 21 21 import java.util.HashMap; 22 22 import java.util.HashSet; 23 import java.util.LinkedHashMap; 23 24 import java.util.Locale; 24 25 import java.util.Map; 25 26 import java.util.Set; … … 238 239 if (numberOfNamesSpecified == 0) { 239 240 errors.reject("error.names.length"); 240 241 } 241 242 242 } 243 243 } 244 244 else { … … 367 367 Map<Locale, Collection<ConceptSynonym>> conceptSynonymsByLocale = new HashMap<Locale, Collection<ConceptSynonym>>(); 368 368 //Map<String, ConceptName> conceptSets = new TreeMap<String, ConceptName>(); 369 369 Map<Double, Object[]> conceptSets = new TreeMap<Double, Object[]>(); 370 Map<String, String> conceptAnswers = new TreeMap<String, String>();370 Map<String, String> conceptAnswers = new LinkedHashMap<String, String>(); 371 371 Collection<Form> forms = new HashSet<Form>(); 372 372 Map<Integer, String> questionsAnswered = new TreeMap<Integer, String>(); 373 373 Map<Integer, String> containedInSets = new TreeMap<Integer, String>(); -
C:/workspace/openmrs_trunk/web/WEB-INF/view/dictionary/conceptForm.jsp
old new 310 310 <td valign="top" class="buttons"> 311 311 <span dojoType="ConceptSearch" widgetId="aSearch" includeDrugConcepts="true"></span><span dojoType="OpenmrsPopup" searchWidget="aSearch" searchTitle='<spring:message code="Concept.find"/>' changeButtonValue='<spring:message code="general.add"/>' showConceptIds="true" showIfHiding="true"></span> 312 312 <input type="button" value="<spring:message code="general.remove"/>" class="smallButton" onClick="removeItem('answerNames', 'answerIds', ' ');"/><br/> 313 <input type="button" value="<spring:message code="general.move_up"/>" class="smallButton" onClick="moveUp('answerNames', 'answerIds');" style="display: block" /> 314 <input type="button" value="<spring:message code="general.move_down"/>" class="smallButton" onClick="moveDown('answerNames', 'answerIds');" style="display: block" /> 313 315 </td> 314 316 </tr> 315 317 </table>
Download in other formats:
Powered by Trac 0.10.5
By Edgewall Software.
Visit the Trac open source project at
http://trac.edgewall.com/