← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 19170: Add code, short name, description to Constant object.

 

------------------------------------------------------------
revno: 19170
committer: Tran Chau<tran.hispvietnam@xxxxxxxxx>
branch nick: dhis2
timestamp: Thu 2015-05-21 20:11:27 +0700
message:
  Add code, short name, description to Constant object.
modified:
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/constant/Constant.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/constant/ConstantService.java
  dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/constant/DefaultConstantService.java
  dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/constant/hibernate/Constant.hbm.xml
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/constant/AddConstantAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/constant/UpdateConstantAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/constant/ValidateConstantAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/addConstantForm.vm
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/constant.vm
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/javascript/constant.js
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/jsonConstant.vm
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/updateConstantForm.vm


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/constant/Constant.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/constant/Constant.java	2015-02-05 06:53:38 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/constant/Constant.java	2015-05-21 13:11:27 +0000
@@ -28,23 +28,24 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonView;
-import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
-import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
-import org.hisp.dhis.common.BaseIdentifiableObject;
+import org.hisp.dhis.common.BaseNameableObject;
 import org.hisp.dhis.common.DxfNamespaces;
 import org.hisp.dhis.common.IdentifiableObject;
 import org.hisp.dhis.common.MergeStrategy;
 import org.hisp.dhis.common.view.DetailedView;
 import org.hisp.dhis.common.view.ExportView;
 
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonView;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
+
 /**
  * @author Dang Duy Hieu
  */
 @JacksonXmlRootElement( localName = "constant", namespace = DxfNamespaces.DXF_2_0 )
 public class Constant
-    extends BaseIdentifiableObject
+    extends BaseNameableObject
 {
     /**
      * Determines if a de-serialized file is compatible with this class.

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/constant/ConstantService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/constant/ConstantService.java	2015-01-17 07:41:26 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/constant/ConstantService.java	2015-05-21 13:11:27 +0000
@@ -55,6 +55,10 @@
 
     Constant getConstantByName( String constantName );
 
+    Constant getConstantByShortName( String shortName );
+
+    Constant getConstantByCode( String code );
+
     Collection<Constant> getAllConstants();
 
     Map<String, Double> getConstantMap();

=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/constant/DefaultConstantService.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/constant/DefaultConstantService.java	2015-01-17 07:43:59 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/constant/DefaultConstantService.java	2015-05-21 13:11:27 +0000
@@ -32,7 +32,7 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.hisp.dhis.common.GenericIdentifiableObjectStore;
+import org.hisp.dhis.common.GenericNameableObjectStore;
 import org.springframework.transaction.annotation.Transactional;
 
 /**
@@ -47,9 +47,9 @@
     // Dependencies
     // -------------------------------------------------------------------------
 
-    private GenericIdentifiableObjectStore<Constant> constantStore;
+    private GenericNameableObjectStore<Constant> constantStore;
 
-    public void setConstantStore( GenericIdentifiableObjectStore<Constant> constantStore )
+    public void setConstantStore( GenericNameableObjectStore<Constant> constantStore )
     {
         this.constantStore = constantStore;
     }
@@ -94,6 +94,20 @@
         return constantStore.getByName( constantName );
     }
 
+
+    @Override
+    public Constant getConstantByShortName( String shortName )
+    {
+        return constantStore.getByShortName( shortName );
+    }
+
+    @Override
+    public Constant getConstantByCode( String code )
+    {
+        return constantStore.getByCode( code );
+    }
+
+    
     @Override
     public Collection<Constant> getAllConstants()
     {

=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/constant/hibernate/Constant.hbm.xml'
--- dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/constant/hibernate/Constant.hbm.xml	2015-01-09 13:25:59 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/resources/org/hisp/dhis/constant/hibernate/Constant.hbm.xml	2015-05-21 13:11:27 +0000
@@ -17,6 +17,10 @@
 
     <property name="name" column="name" not-null="true" unique="true" length="230" />
 
+    <property name="shortName" column="shortname" unique="true" length="50" />
+
+    <property name="description" type="text" />
+    
     <property name="value" not-null="true" />
 
   </class>

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/constant/AddConstantAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/constant/AddConstantAction.java	2015-01-17 07:41:26 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/constant/AddConstantAction.java	2015-05-21 13:11:27 +0000
@@ -28,6 +28,7 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+import org.apache.commons.lang3.StringUtils;
 import org.hisp.dhis.constant.Constant;
 import org.hisp.dhis.constant.ConstantService;
 
@@ -62,6 +63,27 @@
         this.name = name;
     }
 
+    private String shortName;
+
+    public void setShortName( String shortName )
+    {
+        this.shortName = shortName;
+    }
+
+    private String code;
+
+    public void setCode( String code )
+    {
+        this.code = code;
+    }
+
+    private String description;
+
+    public void setDescription( String description )
+    {
+        this.description = description;
+    }
+    
     private String value;
 
     public void setValue( String value )
@@ -77,7 +99,10 @@
     public String execute()
     {
         Constant constant = new Constant( name, Double.parseDouble( value ) );
-
+        constant.setShortName( StringUtils.trimToNull( shortName ) );
+        constant.setCode( StringUtils.trimToNull( code ) );
+        constant.setDescription( StringUtils.trimToNull( description ) );
+        
         constantService.saveConstant( constant );
 
         return SUCCESS;

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/constant/UpdateConstantAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/constant/UpdateConstantAction.java	2015-01-17 07:41:26 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/constant/UpdateConstantAction.java	2015-05-21 13:11:27 +0000
@@ -28,6 +28,7 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+import org.apache.commons.lang3.StringUtils;
 import org.hisp.dhis.constant.Constant;
 import org.hisp.dhis.constant.ConstantService;
 
@@ -69,6 +70,27 @@
         this.name = name;
     }
 
+    private String shortName;
+
+    public void setShortName( String shortName )
+    {
+        this.shortName = shortName;
+    }
+
+    private String code;
+
+    public void setCode( String code )
+    {
+        this.code = code;
+    }
+
+    private String description;
+
+    public void setDescription( String description )
+    {
+        this.description = description;
+    }
+    
     private String value;
 
     public void setValue( String value )
@@ -86,6 +108,9 @@
         Constant constant = constantService.getConstant( id );
 
         constant.setName( name );
+        constant.setShortName( StringUtils.trimToNull( shortName ) );
+        constant.setCode( StringUtils.trimToNull( code ) );
+        constant.setDescription( StringUtils.trimToNull( description ) );
         constant.setValue( Double.parseDouble( value ) );
 
         constantService.updateConstant( constant );

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/constant/ValidateConstantAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/constant/ValidateConstantAction.java	2015-01-17 07:43:59 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/constant/ValidateConstantAction.java	2015-05-21 13:11:27 +0000
@@ -30,6 +30,7 @@
 
 import org.hisp.dhis.constant.Constant;
 import org.hisp.dhis.constant.ConstantService;
+import org.hisp.dhis.dataelement.DataElement;
 import org.hisp.dhis.i18n.I18n;
 
 import com.opensymphony.xwork2.Action;
@@ -81,6 +82,20 @@
         this.name = name;
     }
 
+    private String shortName;
+
+    public void setShortName( String shortName )
+    {
+        this.shortName = shortName;
+    }
+
+    private String code;
+
+    public void setCode( String code )
+    {
+        this.code = code;
+    }
+
     // -------------------------------------------------------------------------
     // Output
     // -------------------------------------------------------------------------
@@ -110,6 +125,30 @@
                 return ERROR;
             }
         }
+        
+        if ( shortName != null )
+        {
+            Constant match = constantService.getConstantByShortName( shortName );
+
+            if ( match != null && (id == null || match.getId() != id) )
+            {
+                message = i18n.getString( "short_name_in_use" );
+
+                return ERROR;
+            }
+        }
+        
+        if ( code != null && !code.trim().isEmpty() )
+        {
+            Constant match = constantService.getConstantByCode( code );
+
+            if ( match != null && (id == null || match.getId() != id) )
+            {
+                message = i18n.getString( "code_in_use" );
+
+                return ERROR;
+            }
+        }
 
         return SUCCESS;
     }

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/addConstantForm.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/addConstantForm.vm	2012-10-18 13:27:17 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/addConstantForm.vm	2015-05-21 13:11:27 +0000
@@ -10,6 +10,8 @@
 		});
 
 		checkValueIsExist( "name", "validateConstant.action" );
+		checkValueIsExist( "shortName", "validateConstant.action" );	
+		checkValueIsExist( "code", "validateConstant.action" );	
 	});
 	
 	var i18n_value_must_be_double = '$encoder.jsEscape( $i18n.getString( "value_must_be_double" ) , "'")';
@@ -29,6 +31,18 @@
 		<td><input type="text" id="name" name="name"></td>
 	</tr>
 	<tr>
+		<td><label for="shortName">$i18n.getString( "short_name" )</label></td>
+		<td><input type="text" id="shortName" name="shortName"></td>
+	</tr>
+	<tr>
+		<td><label for="code">$i18n.getString( "code" )</label></td>
+		<td><input type="text" id="code" name="code"></td>
+	</tr>
+	<tr>
+		<td><label for="description">$i18n.getString( "description" )</label></td>
+		<td><textarea id="description" name="description"></textarea></td>
+	</tr>
+	<tr>
 		<td><label for="name">$i18n.getString( "value" ) <em title="$i18n.getString( 'required' )" class="required">*</em></label></td>
 		<td><input type="text" id="value" name="value"></td>
 	</tr>

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/constant.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/constant.vm	2014-06-13 09:05:03 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/constant.vm	2015-05-21 13:11:27 +0000
@@ -58,6 +58,8 @@
 					<a href="javascript:hideDetails()" title="$i18n.getString( 'hide_details' )"><img src="../images/hide.png" alt="$i18n.getString( 'hide_details' )"/></a>
 				</div>
 				<p><label>$i18n.getString( "name" ):</label><br/><span id="nameField"></span></p>
+				<p><label>$i18n.getString( "short_name" ):</label><br/><span id="shortNameField"></span></p>
+				<p><label>$i18n.getString( "code" ):</label><br/><span id="codeField"></span></p>
 				<p><label>$i18n.getString( "value" ):</label><br/><span id="valueField"></span></p>
 				<p><label>$i18n.getString( "id" ):</label><br/><span id="idField"></span></p>
 			</div>

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/javascript/constant.js'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/javascript/constant.js	2014-06-13 09:05:03 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/javascript/constant.js	2015-05-21 13:11:27 +0000
@@ -6,6 +6,8 @@
   jQuery.post('getConstant.action', { id: context.id },
     function( json ) {
       setInnerHTML('nameField', json.constant.name);
+      setInnerHTML('shortNameField', json.constant.shortName);
+      setInnerHTML('codeField', json.constant.code);
       setInnerHTML('valueField', json.constant.value);
       setInnerHTML('idField', json.constant.uid);
       showDetails();

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/jsonConstant.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/jsonConstant.vm	2014-06-13 09:05:03 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/jsonConstant.vm	2015-05-21 13:11:27 +0000
@@ -3,6 +3,8 @@
     "id": "${constant.id}",
 	"uid": "${constant.uid}",
 	"name": "$!encoder.jsonEncode( ${constant.name} )",
+	"shortName": "$!encoder.jsonEncode( ${constant.shortName} )",
+	"code": "$!{constant.code}",
 	"value": "$!{constant.value}"
   }
 }

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/updateConstantForm.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/updateConstantForm.vm	2012-10-18 13:27:17 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/dhis-web-maintenance-dataadmin/updateConstantForm.vm	2015-05-21 13:11:27 +0000
@@ -10,6 +10,8 @@
 		});
 
 		checkValueIsExist( "name", "validateConstant.action", {id: $constant.id} );
+		checkValueIsExist( "shortName", "validateConstant.action", {id: $constant.id} );	
+		checkValueIsExist( "code", "validateConstant.action", {id: $constant.id} );	
 	});
 	
 	var i18n_value_must_be_double = '$encoder.jsEscape( $i18n.getString( "value_must_be_double" ) , "'")';
@@ -30,6 +32,18 @@
 		<td><input type="text" id="name" name="name" value="$encoder.htmlEncode( $!constant.name )"></td>
 	</tr>
 	<tr>
+		<td><label for="shortName">$i18n.getString( "short_name" )</label></td>
+		<td><input type="text" id="shortName" name="shortName" value="$!encoder.htmlEncode( $!constant.shortName )"></td>
+	</tr>
+	<tr>
+		<td><label for="code">$i18n.getString( "code" )</label></td>
+		<td><input type="text" id="code" name="code" value="$!constant.code"></td>
+	</tr>
+	<tr>
+		<td><label for="description">$i18n.getString( "description" )</label></td>
+		<td><textarea id="description" name="description">$!encoder.htmlEncode( $!constant.description )</textarea></td>
+	</tr>
+	<tr>
 		<td><label for="name">$i18n.getString( "value" ) <em title="$i18n.getString( 'required' )" class="required">*</em></label></td>
 		<td><input type="text" id="value" name="value" value="$!constant.value"></td>
 	</tr>