Skip to content

Commit 11a39dc

Browse files
committed
oli
1 parent 19ed7f6 commit 11a39dc

File tree

4 files changed

+31
-12
lines changed

4 files changed

+31
-12
lines changed

src/main/java/edu/uniandes/tsdl/mutapk/hashfunction/sha3/ApkHashOrder.java

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package edu.uniandes.tsdl.mutapk.hashfunction.sha3;
22

3-
import java.util.HashSet;
4-
import java.util.Set;
3+
import java.util.HashMap;
4+
import java.util.Map;
55

66
/**
77
* University of Los Andes
@@ -18,7 +18,7 @@ public final class ApkHashOrder {
1818
private static volatile ApkHashOrder instance;
1919

2020
private int id = 0;
21-
private Set<ApkHashSeparator> apkHashesSeparator = new HashSet<ApkHashSeparator>();
21+
private Map<ApkHashSeparator, ApkHashSeparator> apkHashesSeparator = new HashMap<ApkHashSeparator, ApkHashSeparator>();
2222

2323
/**
2424
* Enforce private constructor
@@ -37,18 +37,17 @@ public static ApkHashOrder getInstance() {
3737
}
3838

3939
public synchronized ApkHashSeparator setApkHashSeparator(ApkHashSeparator nuevoApkHashSeparator) {
40-
boolean isDuplicate = apkHashesSeparator.contains(nuevoApkHashSeparator);
40+
boolean isDuplicate = apkHashesSeparator.containsKey(nuevoApkHashSeparator);
4141
if(isDuplicate) {
42-
for(ApkHashSeparator apk : apkHashesSeparator) {
43-
if(apk.equals(nuevoApkHashSeparator)) {
44-
return apk;
45-
}
42+
ApkHashSeparator duplicate = apkHashesSeparator.get(nuevoApkHashSeparator);
43+
if(duplicate != null && nuevoApkHashSeparator.equals(duplicate)) {
44+
return duplicate;
4645
}
47-
}else {
48-
nuevoApkHashSeparator.setId(id);
49-
apkHashesSeparator.add(nuevoApkHashSeparator);
50-
id++;
5146
}
47+
nuevoApkHashSeparator.setId(id);
48+
apkHashesSeparator.put(nuevoApkHashSeparator, nuevoApkHashSeparator);
49+
id++;
50+
5251
return null;
5352
}
5453

src/main/java/edu/uniandes/tsdl/mutapk/hashfunction/sha3/ApkHashSeparator.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ public int getMutanteId() {
5959

6060
@Override
6161
public boolean equals(Object o) {
62+
if (o == this) {
63+
return true;
64+
}
6265
if(o == null){
6366
return false;
6467
}

src/main/java/edu/uniandes/tsdl/mutapk/processors/MutationsProcessor.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,9 @@ public ApkHashSeparator generateApkHashSeparator(File manifest, File smali, File
148148
String hashManifest = Sha3.sha512FileSeparte(manifest);
149149
String hashSmaliConSeperado = Sha3.sha512FileSeparte(smali);
150150
String hashResourceConSeperado = Sha3.sha512FileSeparte(resource);
151+
System.out.println("ESTE ES: " + hashManifest);
152+
System.out.println("ESTE ES: " + hashSmaliConSeperado);
153+
System.out.println("ESTE ES: " + hashResourceConSeperado);
151154
ApkHashSeparator apkHashSeparator = new ApkHashSeparator.Builder(hashManifest, hashSmaliConSeperado, hashResourceConSeperado, mutanteId).build();
152155
return apkHashSeparator;
153156
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package edu.uniandes.tsdl.mutapk.hashfunction.sha3;
2+
3+
import static org.junit.Assert.*;
4+
5+
import org.junit.Test;
6+
7+
public class ApkHashSeparatorTest {
8+
9+
@Test
10+
public void testEquals() {
11+
fail("Not yet implemented");
12+
}
13+
14+
}

0 commit comments

Comments
 (0)