This is an automated email from the ASF dual-hosted git repository.

sebwrede pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/systemds.git


The following commit(s) were added to refs/heads/master by this push:
     new 3e3c2d3  [MINOR] Adjust Details in Privacy Package
3e3c2d3 is described below

commit 3e3c2d38de83d5545f614800a8f25056fc3f3132
Author: sebwrede <[email protected]>
AuthorDate: Tue Oct 5 12:13:54 2021 +0200

    [MINOR] Adjust Details in Privacy Package
    
    Closes #1411.
---
 .../runtime/privacy/CheckedConstraintsLog.java     |  6 ++---
 .../sysds/runtime/privacy/PrivacyConstraint.java   | 20 ++++++++---------
 .../sysds/runtime/privacy/PrivacyMonitor.java      |  6 ++++-
 .../runtime/privacy/finegrained/DataRange.java     |  6 ++---
 .../privacy/finegrained/FineGrainedPrivacy.java    | 26 +++++++++++-----------
 .../finegrained/FineGrainedPrivacyList.java        |  9 ++++----
 .../privacy/finegrained/FineGrainedPrivacyMap.java | 10 ++++-----
 .../privacy/propagation/PrivacyPropagator.java     |  2 +-
 .../privacy/CheckedConstraintsLogTest.java         |  8 +++----
 9 files changed, 47 insertions(+), 46 deletions(-)

diff --git 
a/src/main/java/org/apache/sysds/runtime/privacy/CheckedConstraintsLog.java 
b/src/main/java/org/apache/sysds/runtime/privacy/CheckedConstraintsLog.java
index 3d0ec90..a5264cf 100644
--- a/src/main/java/org/apache/sysds/runtime/privacy/CheckedConstraintsLog.java
+++ b/src/main/java/org/apache/sysds/runtime/privacy/CheckedConstraintsLog.java
@@ -53,7 +53,7 @@ public class CheckedConstraintsLog {
        }
 
        /**
-        * Add an occurence of the given privacy level to the loaded 
constraints log total. 
+        * Add an occurrence of the given privacy level to the loaded 
constraints log total.
         * @param level privacy level from loaded privacy constraint
         */
        public static void addLoadedConstraint(PrivacyLevel level){
@@ -84,9 +84,9 @@ public class CheckedConstraintsLog {
        public static String display(){
                StringBuilder sb = new StringBuilder();
                sb.append("Checked Privacy Constraints:\n");
-               checkedConstraintsTotal.forEach((k,v)->sb.append("\t" + k + ": 
" + v + "\n"));
+               checkedConstraintsTotal.forEach((k,v)-> 
sb.append(String.format("\t%s: %s\n", k, v)));
                sb.append("Loaded Privacy Constraints:\n");
-               loadedConstraintsTotal.forEach((k,v)->sb.append("\t" + k + ": " 
+ v + "\n"));
+               
loadedConstraintsTotal.forEach((k,v)->sb.append(String.format("\t%s: %s\n", k, 
v)));
                return sb.toString();
        }
 }
diff --git 
a/src/main/java/org/apache/sysds/runtime/privacy/PrivacyConstraint.java 
b/src/main/java/org/apache/sysds/runtime/privacy/PrivacyConstraint.java
index e950c22..8ea0618 100644
--- a/src/main/java/org/apache/sysds/runtime/privacy/PrivacyConstraint.java
+++ b/src/main/java/org/apache/sysds/runtime/privacy/PrivacyConstraint.java
@@ -143,10 +143,9 @@ public class PrivacyConstraint implements Externalizable
        /**
         * Get privacy constraints and put them into JSON object. 
         * @param json JSON object in which the privacy constraints are put
-        * @return JSON object including the privacy constraints
-        * @throws JSONException in case of errors in creating JSON object
+        * @throws JSONException in case of errors in putting into JSON object
         */
-       public JSONObject toJson(JSONObject json) throws JSONException {
+       public void toJson(JSONObject json) throws JSONException {
                if ( getPrivacyLevel() != null && getPrivacyLevel() != 
PrivacyLevel.None )
                        json.put(DataExpression.PRIVACY, 
getPrivacyLevel().name());
                if ( hasFineGrainedConstraints() ) {
@@ -161,7 +160,6 @@ public class PrivacyConstraint implements Externalizable
                        rangesJson.put(PrivacyLevel.PrivateAggregation.name(), 
aggregateRangesJson);
                        json.put(DataExpression.FINE_GRAINED_PRIVACY, 
rangesJson);
                }
-               return json;
        }
 
        private static JSONArray getJsonArray(DataRange[] ranges) throws 
JSONException {
@@ -185,7 +183,7 @@ public class PrivacyConstraint implements Externalizable
                int fineGrainedConstraintLength = is.readInt();
                if ( fineGrainedConstraintLength > 0 ){
                        for (int i = 0; i < fineGrainedConstraintLength; i++){
-                               Integer levelIndex = (Integer) is.readInt();
+                               int levelIndex = is.readInt();
                                PrivacyLevel rangePrivacy = 
PrivacyLevel.values()[levelIndex];
                                DataRange dataRange = 
readExternalDataRangeObject(is);
                                fineGrainedPrivacy.put(dataRange, rangePrivacy);
@@ -198,9 +196,9 @@ public class PrivacyConstraint implements Externalizable
                objectOutput.writeInt(getPrivacyLevel().ordinal());
                
                if (fineGrainedPrivacy != null && 
fineGrainedPrivacy.hasConstraints()){
-                       List<Entry<DataRange,PrivacyLevel>> 
finegrainedConstraints = fineGrainedPrivacy.getAllConstraintsList();
-                       objectOutput.writeInt(finegrainedConstraints.size());
-                       for ( Entry<DataRange,PrivacyLevel> constraint : 
finegrainedConstraints ) {
+                       List<Entry<DataRange,PrivacyLevel>> 
fineGrainedConstraints = fineGrainedPrivacy.getAllConstraintsList();
+                       objectOutput.writeInt(fineGrainedConstraints.size());
+                       for ( Entry<DataRange,PrivacyLevel> constraint : 
fineGrainedConstraints ) {
                                
objectOutput.writeInt(constraint.getValue().ordinal());
                                DataRange dataRange = constraint.getKey();
                                
objectOutput.writeInt(dataRange.getBeginDims().length);
@@ -217,7 +215,7 @@ public class PrivacyConstraint implements Externalizable
         * Reads a DataRange from ObjectInput. 
         * @param is ObjectInput from which the DataRange is read
         * @return DataRange from ObjectInput
-        * @throws IOException
+        * @throws IOException if an I/O error occurs during read
         */
        private static DataRange readExternalDataRangeObject(ObjectInput is) 
throws IOException {
                int dimLength = is.readInt();
@@ -231,7 +229,7 @@ public class PrivacyConstraint implements Externalizable
         * @param is ObjectInput from which the long array is read
         * @param dimLength length of input long array
         * @return the input array as a long array
-        * @throws IOException
+        * @throws IOException if an I/O error occurs during read
         */
        private static long[] readExternalDataRangeDim(ObjectInput is, int 
dimLength) throws IOException {
                long[] dims = new long[dimLength];
@@ -245,7 +243,7 @@ public class PrivacyConstraint implements Externalizable
         * Write the long array to ObjectOutput.
         * @param objectOutput ObjectOutput in which the long array is written.
         * @param rangeDim long array to write in ObjectOutput. 
-        * @throws IOException
+        * @throws IOException if an I/O error occurs during write
         */
        private static void writeExternalRangeDim(ObjectOutput objectOutput, 
long[] rangeDim) throws IOException {
                for ( long beginIndex : rangeDim ){
diff --git a/src/main/java/org/apache/sysds/runtime/privacy/PrivacyMonitor.java 
b/src/main/java/org/apache/sysds/runtime/privacy/PrivacyMonitor.java
index 56445e4..af119c6 100644
--- a/src/main/java/org/apache/sysds/runtime/privacy/PrivacyMonitor.java
+++ b/src/main/java/org/apache/sysds/runtime/privacy/PrivacyMonitor.java
@@ -27,7 +27,7 @@ import 
org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel;
 
 public class PrivacyMonitor
 {
-       private static EnumMap<PrivacyLevel,LongAdder> checkedConstraints;
+       private static final EnumMap<PrivacyLevel,LongAdder> checkedConstraints;
 
        private static boolean checkPrivacy = false;
 
@@ -71,6 +71,10 @@ public class PrivacyMonitor
                }
        }
 
+       /**
+        * Clears all checked constraints.
+        * This is used to reset the counter of checked constraints for each 
PrivacyLevel.
+        */
        public static void clearCheckedConstraints(){
                checkedConstraints.replaceAll((k,v)->new LongAdder());
        }
diff --git 
a/src/main/java/org/apache/sysds/runtime/privacy/finegrained/DataRange.java 
b/src/main/java/org/apache/sysds/runtime/privacy/finegrained/DataRange.java
index 6e77e34..ed93b19 100644
--- a/src/main/java/org/apache/sysds/runtime/privacy/finegrained/DataRange.java
+++ b/src/main/java/org/apache/sysds/runtime/privacy/finegrained/DataRange.java
@@ -22,7 +22,7 @@ package org.apache.sysds.runtime.privacy.finegrained;
 import java.util.Arrays;
 
 /**
- * A DataRange instance marks a part of a CachableData data object.
+ * A DataRange instance marks a part of a CacheableData data object.
  * The beginDims marks the beginning for all dimensions and
  * the endDims marks the end for all dimensions. 
  * DataRange is very similar to org.apache.sysds.runtime.util.IndexRange, 
@@ -30,8 +30,8 @@ import java.util.Arrays;
  */
 public class DataRange {
 
-       private long[] _beginDims;
-       private long[] _endDims;
+       private final long[] _beginDims;
+       private final long[] _endDims;
 
        public DataRange(long[] beginDims, long[] endDims){
                _beginDims = beginDims;
diff --git 
a/src/main/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.java
 
b/src/main/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.java
index 2aa2f1d..57046ef 100644
--- 
a/src/main/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.java
+++ 
b/src/main/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacy.java
@@ -31,60 +31,60 @@ public interface FineGrainedPrivacy {
         * @param dataRange representing the range for which the privacy is set
         * @param privacyLevel the level of privacy for the given data range
         */
-       public void put(DataRange dataRange, PrivacyLevel privacyLevel);
+       void put(DataRange dataRange, PrivacyLevel privacyLevel);
 
-       public void putRow(int rowIndex, int rowLength, PrivacyLevel 
privacyLevel);
+       void putRow(int rowIndex, int rowLength, PrivacyLevel privacyLevel);
 
-       public void putCol(int colIndex, int colLength, PrivacyLevel 
privacyLevel);
+       void putCol(int colIndex, int colLength, PrivacyLevel privacyLevel);
 
-       public void putElement(int rowIndex, int colIndex, PrivacyLevel 
privacyLevel);
+       void putElement(int rowIndex, int colIndex, PrivacyLevel privacyLevel);
 
        /**
         * Get the data ranges and related privacy levels within given data 
search range.
         * @param searchRange the range from which all privacy levels are 
retrieved
         * @return all mappings from range to privacy level within the given 
search range
         */
-       public Map<DataRange,PrivacyLevel> getPrivacyLevel(DataRange 
searchRange);
+       Map<DataRange,PrivacyLevel> getPrivacyLevel(DataRange searchRange);
 
        /**
         * Get the data ranges and related privacy levels of the element with 
the given index.
         * @param searchIndex index of element
         * @return all mappings from range to privacy level for the given 
search element
         */
-       public Map<DataRange,PrivacyLevel> getPrivacyLevelOfElement(long[] 
searchIndex);
+       Map<DataRange,PrivacyLevel> getPrivacyLevelOfElement(long[] 
searchIndex);
 
        /**
         * Get all data ranges for the given privacy level.
         * @param privacyLevel for which data ranges are found
         * @return all data ranges with the given privacy level
         */
-       public DataRange[] getDataRangesOfPrivacyLevel(PrivacyLevel 
privacyLevel);
+       DataRange[] getDataRangesOfPrivacyLevel(PrivacyLevel privacyLevel);
 
        /**
         * Remove all fine-grained privacy constraints.
         */
-       public void removeAllConstraints();
+       void removeAllConstraints();
 
        /**
         * True if any fine-grained constraints has been set. 
         * @return true if any fine-grained constraint is set
         */
-       public boolean hasConstraints();
+       boolean hasConstraints();
 
        /**
         * Get all fine-grained constraints as a map from privacy level to 
         * an array of data ranges represented as two-dimensional long arrays.
         * @return map from privacy level to array of data ranges
         */
-       public Map<String, long[][][]> getAllConstraints();
+       Map<String, long[][][]> getAllConstraints();
 
        /**
         * Return all fine-grained privacy constraints as an arraylist. 
         * @return all constraints
         */
-       public ArrayList<Map.Entry<DataRange, PrivacyLevel>> 
getAllConstraintsList();
+       ArrayList<Map.Entry<DataRange, PrivacyLevel>> getAllConstraintsList();
 
-       public PrivacyLevel[] getRowPrivacy(int numRows, int numCols);
+       PrivacyLevel[] getRowPrivacy(int numRows, int numCols);
 
-       public PrivacyLevel[] getColPrivacy(int numRows, int numCols);
+       PrivacyLevel[] getColPrivacy(int numRows, int numCols);
 }
diff --git 
a/src/main/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.java
 
b/src/main/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.java
index 2fb1297..ac8b2eb 100644
--- 
a/src/main/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.java
+++ 
b/src/main/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyList.java
@@ -33,7 +33,7 @@ import 
org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel;
  */
 public class FineGrainedPrivacyList implements FineGrainedPrivacy {
 
-       private ArrayList<Map.Entry<DataRange, PrivacyLevel>> 
constraintCollection = new ArrayList<>();
+       private final ArrayList<Map.Entry<DataRange, PrivacyLevel>> 
constraintCollection = new ArrayList<>();
 
        @Override
        public PrivacyLevel[] getRowPrivacy(int numRows, int numCols) {
@@ -142,7 +142,7 @@ public class FineGrainedPrivacyList implements 
FineGrainedPrivacy {
                });
                Map<String, long[][][]> constraintMap = new HashMap<>();
                constraintMap.put(PrivacyLevel.Private.name(), 
privateRanges.toArray(new long[0][][]));
-               constraintMap.put(PrivacyLevel.PrivateAggregation.name(), 
privateRanges.toArray(new long[0][][]));
+               constraintMap.put(PrivacyLevel.PrivateAggregation.name(), 
aggregateRanges.toArray(new long[0][][]));
                return constraintMap;
        }
 
@@ -177,9 +177,8 @@ public class FineGrainedPrivacyList implements 
FineGrainedPrivacy {
        @Override
        public String toString(){
                StringBuilder stringBuilder = new StringBuilder();
-               for ( Map.Entry<DataRange,PrivacyLevel> entry : 
constraintCollection ){
-                       stringBuilder.append(entry.getKey().toString() + " : " 
+ entry.getValue().name());
-               }
+               for ( Map.Entry<DataRange,PrivacyLevel> entry : 
constraintCollection )
+                       stringBuilder.append(String.format("%s : 
%s",entry.getKey().toString(), entry.getValue().name()));
                return stringBuilder.toString();
        }
 }
diff --git 
a/src/main/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.java
 
b/src/main/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.java
index ffd6048..294e866 100644
--- 
a/src/main/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.java
+++ 
b/src/main/java/org/apache/sysds/runtime/privacy/finegrained/FineGrainedPrivacyMap.java
@@ -33,7 +33,7 @@ import 
org.apache.sysds.runtime.privacy.PrivacyConstraint.PrivacyLevel;
  */
 public class FineGrainedPrivacyMap implements FineGrainedPrivacy {
 
-       private Map<DataRange, PrivacyLevel> constraintCollection = new 
LinkedHashMap<>();
+       private final Map<DataRange, PrivacyLevel> constraintCollection = new 
LinkedHashMap<>();
 
        @Override
        public void put(DataRange dataRange, PrivacyLevel privacyLevel) {
@@ -96,15 +96,15 @@ public class FineGrainedPrivacyMap implements 
FineGrainedPrivacy {
        public Map<String, long[][][]> getAllConstraints() {
                ArrayList<long[][]> privateRanges = new ArrayList<>();
                ArrayList<long[][]> aggregateRanges = new ArrayList<>();
-               constraintCollection.forEach((range, privacylevel) -> {
-                       if (privacylevel == PrivacyLevel.Private)
+               constraintCollection.forEach((range, privacyLevel) -> {
+                       if (privacyLevel == PrivacyLevel.Private)
                                privateRanges.add(new long[][] { 
range.getBeginDims(), range.getEndDims() });
-                       else if (privacylevel == 
PrivacyLevel.PrivateAggregation)
+                       else if (privacyLevel == 
PrivacyLevel.PrivateAggregation)
                                aggregateRanges.add(new long[][] { 
range.getBeginDims(), range.getEndDims() });
                });
                Map<String, long[][][]> constraintMap = new LinkedHashMap<>();
                constraintMap.put(PrivacyLevel.Private.name(), 
privateRanges.toArray(new long[0][][]));
-               constraintMap.put(PrivacyLevel.PrivateAggregation.name(), 
privateRanges.toArray(new long[0][][]));
+               constraintMap.put(PrivacyLevel.PrivateAggregation.name(), 
aggregateRanges.toArray(new long[0][][]));
                return constraintMap;
        }
 
diff --git 
a/src/main/java/org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.java
 
b/src/main/java/org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.java
index 945df73..7e6c012 100644
--- 
a/src/main/java/org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.java
+++ 
b/src/main/java/org/apache/sysds/runtime/privacy/propagation/PrivacyPropagator.java
@@ -340,7 +340,7 @@ public class PrivacyPropagator
                        else {
                                MatrixBlock input1 = 
ec.getMatrixInput(inst.input1.getName());
                                MatrixBlock input2 = 
ec.getMatrixInput(inst.input2.getName());
-                               Propagator propagator = null;
+                               Propagator propagator;
                                if ( inst.getAppendType() == 
AppendCPInstruction.AppendType.RBIND )
                                        propagator = new 
RBindPropagator(input1, privacyConstraints[0], input2, privacyConstraints[1]);
                                else if ( inst.getAppendType() == 
AppendCPInstruction.AppendType.CBIND )
diff --git 
a/src/test/java/org/apache/sysds/test/functions/privacy/CheckedConstraintsLogTest.java
 
b/src/test/java/org/apache/sysds/test/functions/privacy/CheckedConstraintsLogTest.java
index 1a76019..f47c75e 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/privacy/CheckedConstraintsLogTest.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/privacy/CheckedConstraintsLogTest.java
@@ -55,7 +55,7 @@ public class CheckedConstraintsLogTest extends 
AutomatedTestBase {
        public void addCheckedConstraintsSingleValue(){
                EnumMap<PrivacyLevel,LongAdder> checked = 
getMap(PrivacyLevel.Private, 300);
                CheckedConstraintsLog.addCheckedConstraints(checked);
-               
assertTrue(CheckedConstraintsLog.getCheckedConstraints().get(PrivacyLevel.Private).longValue()
 == 300);
+               assertEquals(300, 
CheckedConstraintsLog.getCheckedConstraints().get(PrivacyLevel.Private).longValue());
        }
 
        @Test
@@ -64,7 +64,7 @@ public class CheckedConstraintsLogTest extends 
AutomatedTestBase {
                CheckedConstraintsLog.addCheckedConstraints(checked);
                EnumMap<PrivacyLevel,LongAdder> checked2 = 
getMap(PrivacyLevel.Private, 150);
                CheckedConstraintsLog.addCheckedConstraints(checked2);
-               
assertTrue(CheckedConstraintsLog.getCheckedConstraints().get(PrivacyLevel.Private).longValue()
 == 450);
+               assertEquals(450, 
CheckedConstraintsLog.getCheckedConstraints().get(PrivacyLevel.Private).longValue());
        }
 
        @Test
@@ -89,9 +89,9 @@ public class CheckedConstraintsLogTest extends 
AutomatedTestBase {
 
        @Test
        public void addLoadedConstraintsSingleValue(){
-               Integer n = 12;
+               int n = 12;
                for (int i = 0; i < n; i++)
                        
CheckedConstraintsLog.addLoadedConstraint(PrivacyLevel.Private);
-               assertEquals(n.longValue(), 
CheckedConstraintsLog.getLoadedConstraints().get(PrivacyLevel.Private).longValue());
+               assertEquals(n, 
CheckedConstraintsLog.getLoadedConstraints().get(PrivacyLevel.Private).longValue());
        }
 }

Reply via email to