dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #16872
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 6541: more Mergable impl
------------------------------------------------------------
revno: 6541
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Wed 2012-04-11 10:28:51 +0300
message:
more Mergable impl
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElement.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementGroup.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementGroupSet.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/Indicator.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapLayer.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapLegend.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapLegendSet.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapView.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageConversation.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/User.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserAuthorityGroup.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserGroup.java
--
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/dataelement/DataElement.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElement.java 2012-04-04 09:58:08 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElement.java 2012-04-11 07:28:51 +0000
@@ -37,6 +37,7 @@
import org.hisp.dhis.common.BaseIdentifiableObject;
import org.hisp.dhis.common.BaseNameableObject;
import org.hisp.dhis.common.Dxf2Namespace;
+import org.hisp.dhis.common.IdentifiableObject;
import org.hisp.dhis.common.view.DetailedView;
import org.hisp.dhis.common.view.ExportView;
import org.hisp.dhis.dataset.DataSet;
@@ -262,6 +263,18 @@
}
}
+ public void addDataSet( DataSet dataSet )
+ {
+ dataSets.add( dataSet );
+ dataSet.getDataElements().add( this );
+ }
+
+ public void removeDataSet( DataSet dataSet )
+ {
+ dataSets.remove( dataSet );
+ dataSet.getDataElements().remove( this );
+ }
+
/**
* Returns the value type. If value type is int and the number type exists,
* the number type is returned, if the type is int and the number type does
@@ -585,4 +598,40 @@
{
this.optionSet = optionSet;
}
+
+ @Override
+ public void mergeWith( IdentifiableObject other )
+ {
+ super.mergeWith( other );
+
+ if ( other.getClass().isInstance( this ) )
+ {
+ DataElement dataElement = (DataElement) other;
+
+ formName = dataElement.getFormName() == null ? formName : dataElement.getFormName();
+ active = dataElement.isActive();
+ zeroIsSignificant = dataElement.isZeroIsSignificant();
+ domainType = dataElement.getDomainType() == null ? domainType : dataElement.getDomainType();
+ type = dataElement.getType() == null ? type : dataElement.getType();
+ numberType = dataElement.getNumberType() == null ? numberType : dataElement.getNumberType();
+ aggregationOperator = dataElement.getAggregationOperator() == null ? aggregationOperator : dataElement.getAggregationOperator();
+ categoryCombo = dataElement.getCategoryCombo() == null ? categoryCombo : dataElement.getCategoryCombo();
+ sortOrder = dataElement.getSortOrder() == null ? sortOrder : dataElement.getSortOrder();
+ url = dataElement.getUrl() == null ? url : dataElement.getUrl();
+ optionSet = dataElement.getOptionSet() == null ? optionSet : dataElement.getOptionSet();
+
+ aggregationLevels.addAll( dataElement.getAggregationLevels() );
+ attributeValues.addAll( dataElement.getAttributeValues() );
+
+ for ( DataElementGroup dataElementGroup : dataElement.getGroups() )
+ {
+ addDataElementGroup( dataElementGroup );
+ }
+
+ for ( DataSet dataSet : dataElement.getDataSets() )
+ {
+ addDataSet( dataSet );
+ }
+ }
+ }
}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementGroup.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementGroup.java 2012-03-27 17:38:48 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementGroup.java 2012-04-11 07:28:51 +0000
@@ -35,6 +35,7 @@
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import org.hisp.dhis.common.BaseIdentifiableObject;
import org.hisp.dhis.common.Dxf2Namespace;
+import org.hisp.dhis.common.IdentifiableObject;
import org.hisp.dhis.common.view.DetailedView;
import org.hisp.dhis.common.view.ExportView;
@@ -173,4 +174,18 @@
{
this.groupSet = groupSet;
}
+
+ @Override
+ public void mergeWith( IdentifiableObject other )
+ {
+ super.mergeWith( other );
+
+ if ( other.getClass().isInstance( this ) )
+ {
+ DataElementGroup dataElementGroup = (DataElementGroup) other;
+
+ members.addAll( dataElementGroup.getMembers() );
+ groupSet = groupSet != null ? groupSet : dataElementGroup.getGroupSet();
+ }
+ }
}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementGroupSet.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementGroupSet.java 2012-03-27 17:38:48 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataelement/DataElementGroupSet.java 2012-04-11 07:28:51 +0000
@@ -35,6 +35,7 @@
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import org.hisp.dhis.common.BaseIdentifiableObject;
import org.hisp.dhis.common.Dxf2Namespace;
+import org.hisp.dhis.common.IdentifiableObject;
import org.hisp.dhis.common.comparator.IdentifiableObjectNameComparator;
import org.hisp.dhis.common.view.DetailedView;
import org.hisp.dhis.common.view.ExportView;
@@ -243,4 +244,28 @@
{
this.members = members;
}
+
+ @Override
+ public void mergeWith( IdentifiableObject other )
+ {
+ super.mergeWith( other );
+
+ if ( other.getClass().isInstance( this ) )
+ {
+ DataElementGroupSet dataElementGroupSet = (DataElementGroupSet) other;
+
+ description = dataElementGroupSet.getDescription() == null ? description : dataElementGroupSet.getDescription();
+ compulsory = dataElementGroupSet.isCompulsory() == null ? compulsory : dataElementGroupSet.isCompulsory();
+
+ for ( DataElementGroup dataElementGroup : dataElementGroupSet.getMembers() )
+ {
+ members.add( dataElementGroup );
+
+ if ( dataElementGroup.getGroupSet() == null )
+ {
+ dataElementGroup.setGroupSet( this );
+ }
+ }
+ }
+ }
}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/Indicator.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/Indicator.java 2012-04-11 04:56:20 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/indicator/Indicator.java 2012-04-11 07:28:51 +0000
@@ -363,6 +363,8 @@
explodedDenominator = indicator.getExplodedDenominator() == null ? explodedDenominator : indicator.getExplodedDenominator();
indicatorType = indicator.getIndicatorType() == null ? indicatorType : indicator.getIndicatorType();
+ attributeValues.addAll( indicator.getAttributeValues() );
+
for ( DataSet dataSet : indicator.getDataSets() )
{
addDataSet( dataSet );
@@ -373,10 +375,6 @@
addIndicatorGroup( indicatorGroup );
}
- for ( AttributeValue attributeValue : indicator.getAttributeValues() )
- {
- attributeValues.add( attributeValue );
- }
}
}
}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapLayer.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapLayer.java 2012-03-27 17:38:48 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapLayer.java 2012-04-11 07:28:51 +0000
@@ -33,6 +33,7 @@
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import org.hisp.dhis.common.BaseIdentifiableObject;
import org.hisp.dhis.common.Dxf2Namespace;
+import org.hisp.dhis.common.IdentifiableObject;
import org.hisp.dhis.common.view.DetailedView;
import org.hisp.dhis.common.view.ExportView;
@@ -217,4 +218,24 @@
{
this.strokeWidth = strokeWidth;
}
+
+ @Override
+ public void mergeWith( IdentifiableObject other )
+ {
+ super.mergeWith( other );
+
+ if ( other.getClass().isInstance( this ) )
+ {
+ MapLayer mapLayer = (MapLayer) other;
+
+ type = mapLayer.getType() == null ? type : mapLayer.getType();
+ url = mapLayer.getUrl() == null ? url : mapLayer.getUrl();
+ layers = mapLayer.getLayers() == null ? layers : mapLayer.getLayers();
+ time = mapLayer.getTime() == null ? time : mapLayer.getTime();
+ fillColor = mapLayer.getFillColor() == null ? fillColor : mapLayer.getFillColor();
+ fillOpacity = mapLayer.getFillOpacity();
+ strokeColor = mapLayer.getStrokeColor() == null ? strokeColor : mapLayer.getStrokeColor();
+ strokeWidth = mapLayer.getStrokeWidth();
+ }
+ }
}
\ No newline at end of file
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapLegend.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapLegend.java 2012-03-27 17:38:48 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapLegend.java 2012-04-11 07:28:51 +0000
@@ -33,6 +33,7 @@
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import org.hisp.dhis.common.BaseIdentifiableObject;
import org.hisp.dhis.common.Dxf2Namespace;
+import org.hisp.dhis.common.IdentifiableObject;
import org.hisp.dhis.common.view.DetailedView;
import org.hisp.dhis.common.view.ExportView;
@@ -152,4 +153,20 @@
{
this.image = image;
}
+
+ @Override
+ public void mergeWith( IdentifiableObject other )
+ {
+ super.mergeWith( other );
+
+ if ( other.getClass().isInstance( this ) )
+ {
+ MapLegend mapLegend = (MapLegend) other;
+
+ startValue = mapLegend.getStartValue() == null ? startValue : mapLegend.getStartValue();
+ endValue = mapLegend.getEndValue() == null ? endValue : mapLegend.getEndValue();
+ color = mapLegend.getColor() == null ? color : mapLegend.getColor();
+ image = mapLegend.getImage() == null ? image : mapLegend.getImage();
+ }
+ }
}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapLegendSet.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapLegendSet.java 2012-03-27 17:38:48 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapLegendSet.java 2012-04-11 07:28:51 +0000
@@ -35,6 +35,7 @@
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import org.hisp.dhis.common.BaseIdentifiableObject;
import org.hisp.dhis.common.Dxf2Namespace;
+import org.hisp.dhis.common.IdentifiableObject;
import org.hisp.dhis.common.view.DetailedView;
import org.hisp.dhis.common.view.ExportView;
import org.hisp.dhis.dataelement.DataElement;
@@ -182,4 +183,22 @@
{
this.dataElements = dataElements;
}
+
+ @Override
+ public void mergeWith( IdentifiableObject other )
+ {
+ super.mergeWith( other );
+
+ if ( other.getClass().isInstance( this ) )
+ {
+ MapLegendSet mapLegendSet = (MapLegendSet) other;
+
+ type = mapLegendSet.getType() == null ? type : mapLegendSet.getType();
+ symbolizer = mapLegendSet.getSymbolizer() == null ? symbolizer : mapLegendSet.getSymbolizer();
+
+ mapLegends.addAll( mapLegendSet.getMapLegends() );
+ indicators.addAll( mapLegendSet.getIndicators() );
+ dataElements.addAll( mapLegendSet.getDataElements() );
+ }
+ }
}
\ No newline at end of file
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapView.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapView.java 2012-03-27 17:38:48 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/mapping/MapView.java 2012-04-11 07:28:51 +0000
@@ -35,6 +35,7 @@
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import org.hisp.dhis.common.BaseIdentifiableObject;
import org.hisp.dhis.common.Dxf2Namespace;
+import org.hisp.dhis.common.IdentifiableObject;
import org.hisp.dhis.common.adapter.JacksonPeriodTypeDeserializer;
import org.hisp.dhis.common.adapter.JacksonPeriodTypeSerializer;
import org.hisp.dhis.common.view.DetailedView;
@@ -477,4 +478,38 @@
{
this.zoom = zoom;
}
+
+ @Override
+ public void mergeWith( IdentifiableObject other )
+ {
+ super.mergeWith( other );
+
+ if ( other.getClass().isInstance( this ) )
+ {
+ MapView mapView = (MapView) other;
+
+ user = mapView.getUser() == null ? user : mapView.getUser();
+ mapValueType = mapView.getMapValueType() == null ? mapValueType : mapView.getMapValueType();
+ indicatorGroup = mapView.getIndicatorGroup() == null ? indicatorGroup : mapView.getIndicatorGroup();
+ indicator = mapView.getIndicator() == null ? indicator : mapView.getIndicator();
+ dataElementGroup = mapView.getDataElementGroup() == null ? dataElementGroup : mapView.getDataElementGroup();
+ dataElement = mapView.getDataElement() == null ? dataElement : mapView.getDataElement();
+ periodType = mapView.getPeriodType() == null ? periodType : mapView.getPeriodType();
+ period = mapView.getPeriod() == null ? period : mapView.getPeriod();
+ parentOrganisationUnit = mapView.getParentOrganisationUnit() == null ? parentOrganisationUnit : mapView.getParentOrganisationUnit();
+ organisationUnitLevel = mapView.getOrganisationUnitLevel() == null ? organisationUnitLevel : mapView.getOrganisationUnitLevel();
+ mapLegendType = mapView.getMapLegendType() == null ? mapLegendType : mapView.getMapLegendType();
+ method = mapView.getMethod() == null ? method : mapView.getMethod();
+ classes = mapView.getClasses() == null ? classes : mapView.getClasses();
+ bounds = mapView.getBounds() == null ? bounds : mapView.getBounds();
+ colorLow = mapView.getColorLow() == null ? colorLow : mapView.getColorLow();
+ colorHigh = mapView.getColorHigh() == null ? colorHigh : mapView.getColorHigh();
+ mapLegendSet = mapView.getMapLegendSet() == null ? mapLegendSet : mapView.getMapLegendSet();
+ radiusLow = mapView.getRadiusLow() == null ? radiusLow : mapView.getRadiusLow();
+ radiusHigh = mapView.getRadiusHigh() == null ? radiusHigh : mapView.getRadiusHigh();
+ longitude = mapView.getLongitude() == null ? longitude : mapView.getLongitude();
+ latitude = mapView.getLatitude() == null ? latitude : mapView.getLatitude();
+ zoom = mapView.getZoom() == null ? zoom : mapView.getZoom();
+ }
+ }
}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageConversation.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageConversation.java 2012-03-27 17:38:48 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/message/MessageConversation.java 2012-04-11 07:28:51 +0000
@@ -35,6 +35,7 @@
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import org.hisp.dhis.common.BaseIdentifiableObject;
import org.hisp.dhis.common.Dxf2Namespace;
+import org.hisp.dhis.common.IdentifiableObject;
import org.hisp.dhis.common.view.DetailedView;
import org.hisp.dhis.common.view.ExportView;
import org.hisp.dhis.user.User;
@@ -360,4 +361,22 @@
{
this.lastSenderFirstname = lastSenderFirstname;
}
+
+ @Override
+ public void mergeWith( IdentifiableObject other )
+ {
+ super.mergeWith( other );
+
+ if ( other.getClass().isInstance( this ) )
+ {
+ MessageConversation messageConversation = (MessageConversation) other;
+
+ subject = messageConversation.getSubject() == null ? subject : messageConversation.getSubject();
+ lastSender = messageConversation.getLastSender() == null ? lastSender : messageConversation.getLastSender();
+ lastMessage = messageConversation.getLastMessage() == null ? lastMessage : messageConversation.getLastMessage();
+
+ userMessages.addAll( messageConversation.getUserMessages() );
+ messages.addAll( messageConversation.getMessages() );
+ }
+ }
}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/User.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/User.java 2012-03-27 17:38:48 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/User.java 2012-04-11 07:28:51 +0000
@@ -37,6 +37,7 @@
import org.hisp.dhis.attribute.AttributeValue;
import org.hisp.dhis.common.BaseIdentifiableObject;
import org.hisp.dhis.common.Dxf2Namespace;
+import org.hisp.dhis.common.IdentifiableObject;
import org.hisp.dhis.common.IdentifiableObjectUtils;
import org.hisp.dhis.common.view.DetailedView;
import org.hisp.dhis.common.view.ExportView;
@@ -349,4 +350,28 @@
{
this.attributeValues = attributeValues;
}
+
+ @Override
+ public void mergeWith( IdentifiableObject other )
+ {
+ super.mergeWith( other );
+
+ if ( other.getClass().isInstance( this ) )
+ {
+ User user = (User) other;
+
+ surname = user.getSurname() == null ? surname : user.getSurname();
+ firstName = user.getFirstName() == null ? firstName : user.getFirstName();
+ email = user.getEmail() == null ? email : user.getEmail();
+ phoneNumber = user.getPhoneNumber() == null ? phoneNumber : user.getPhoneNumber();
+ userCredentials = user.getUserCredentials() == null ? userCredentials : user.getUserCredentials();
+
+ attributeValues.addAll( user.getAttributeValues() );
+
+ for ( OrganisationUnit organisationUnit : user.getOrganisationUnits() )
+ {
+ addOrganisationUnit( organisationUnit );
+ }
+ }
+ }
}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserAuthorityGroup.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserAuthorityGroup.java 2012-03-28 07:40:14 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserAuthorityGroup.java 2012-04-11 07:28:51 +0000
@@ -35,6 +35,7 @@
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import org.hisp.dhis.common.BaseIdentifiableObject;
import org.hisp.dhis.common.Dxf2Namespace;
+import org.hisp.dhis.common.IdentifiableObject;
import org.hisp.dhis.common.view.DetailedView;
import org.hisp.dhis.common.view.ExportView;
import org.hisp.dhis.dataset.DataSet;
@@ -96,6 +97,22 @@
}
// -------------------------------------------------------------------------
+ // Logic
+ // -------------------------------------------------------------------------
+
+ public void addUserCredentials( UserCredentials userCredentials )
+ {
+ members.add( userCredentials );
+ userCredentials.getUserAuthorityGroups().add( this );
+ }
+
+ public void removeUserCredentials( UserCredentials userCredentials )
+ {
+ members.remove( userCredentials );
+ userCredentials.getUserAuthorityGroups().remove( this );
+ }
+
+ // -------------------------------------------------------------------------
// Getters and setters
// -------------------------------------------------------------------------
@@ -150,4 +167,25 @@
{
this.dataSets = dataSets;
}
+
+ @Override
+ public void mergeWith( IdentifiableObject other )
+ {
+ super.mergeWith( other );
+
+ if ( other.getClass().isInstance( this ) )
+ {
+ UserAuthorityGroup userAuthorityGroup = (UserAuthorityGroup) other;
+
+ description = userAuthorityGroup.getDescription() == null ? description : userAuthorityGroup.getDescription();
+
+ authorities.addAll( authorities );
+ dataSets.addAll( userAuthorityGroup.getDataSets() );
+
+ for ( UserCredentials userCredentials : userAuthorityGroup.getMembers() )
+ {
+ addUserCredentials( userCredentials );
+ }
+ }
+ }
}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserGroup.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserGroup.java 2012-03-27 17:38:48 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserGroup.java 2012-04-11 07:28:51 +0000
@@ -35,6 +35,7 @@
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import org.hisp.dhis.common.BaseIdentifiableObject;
import org.hisp.dhis.common.Dxf2Namespace;
+import org.hisp.dhis.common.IdentifiableObject;
import org.hisp.dhis.common.view.DetailedView;
import org.hisp.dhis.common.view.ExportView;
@@ -123,4 +124,17 @@
{
this.members = members;
}
+
+ @Override
+ public void mergeWith( IdentifiableObject other )
+ {
+ super.mergeWith( other );
+
+ if ( other.getClass().isInstance( this ) )
+ {
+ UserGroup userGroup = (UserGroup) other;
+
+ members.addAll( userGroup.getMembers() );
+ }
+ }
}