Skip to content
Snippets Groups Projects
Commit 9adbd9a4 authored by BAUER Oscar's avatar BAUER Oscar
Browse files

weiß gerade nicht

parent 5873c103
No related branches found
No related tags found
No related merge requests found
package regular;
import java.lang.reflect.UndeclaredThrowableException;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import interfaces.Data;
import utils.DataGenerator;
import utils.binaryUtils;
public class BinaryData implements Data {
private byte[] completePackage;
private String completePackageString;
private String headerString;
private byte[] header;
private byte[] data;
private String keyWord;
public BinaryData(byte[] bytePackage) {
this.completePackage = bytePackage;
this.completePackageString = this.toString();
this.keyWord = "Temperature4 [C];";
this.header = isolateHeader(completePackageString, keyWord);
// this.headerString = binaryUtils.hexBytesToString(this.header);
this.data = isolateData(this.completePackage, this.header.length);
}
private byte[] isolateHeader(String completePackageString, String key) {
int pos = posOfLast(completePackageString, key);
this.headerString = completePackageString.substring(0, pos);
byte[] header = new byte[pos];
System.arraycopy(completePackage, 0, header, 0, header.length);
return header;
}
private byte[] isolateData(byte[] complete, int pos) {
byte[] data = new byte[complete.length - pos];
System.arraycopy(complete, pos, data, 0, data.length);
return data;
}
private int posOfLast(String aString, String key) {
return aString.indexOf(key) + key.length();
}
byte[] data;
Map<String, Integer> sampleSizes;
int[] samplePositions;
@Deprecated
private void seperate() {
// System.out.println("orig len: " + completePackage.length);
// System.out.println("header len: " + header.length);
// System.out.println("rest len: " + data.length);
// int tot = data.length + header.length;
// System.out.println("new total: " + tot);
}
public String getHeaderString() {
return this.headerString;
public BinaryData(byte[] data) {
this.data = data;
this.sampleSizes = new HashMap<String, Integer>();
this.sampleSizes.put("timestamp", 8);
this.sampleSizes.put("size", 1);
this.sampleSizes.put("signal", 1);
this.sampleSizes.put("value", 2);
samplePositions = getSamplePositions();
}
public byte[] getData() {
return completePackage;
private int[] getSamplePositions() {
return new int[] {10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40, 43, 46, 49, 52};
}
@Override
public byte[] getHeader() {
return this.header;
// TODO Auto-generated method stub
return null;
}
@Override
public String toString() {
return binaryUtils.hexToString(binaryUtils.bytesToHex(completePackage));
public byte[] getData() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getHeaderString() {
// TODO Auto-generated method stub
return null;
}
}
package regular;
import java.lang.reflect.UndeclaredThrowableException;
import java.nio.charset.StandardCharsets;
import interfaces.Data;
import utils.DataGenerator;
import utils.binaryUtils;
public class CompleteData implements Data {
private byte[] completePackage;
private String completePackageString;
private String headerString;
private byte[] header;
private byte[] data;
private String keyWord;
public CompleteData(byte[] bytePackage) {
this.completePackage = bytePackage;
this.completePackageString = this.toString();
this.keyWord = "Temperature4 [C];";
this.header = isolateHeader(completePackageString, keyWord);
// this.headerString = binaryUtils.hexBytesToString(this.header);
this.data = isolateData(this.completePackage, this.header.length);
}
private byte[] isolateHeader(String completePackageString, String key) {
int pos = posOfLast(completePackageString, key);
this.headerString = completePackageString.substring(0, pos);
byte[] header = new byte[pos];
System.arraycopy(completePackage, 0, header, 0, header.length);
return header;
}
private byte[] isolateData(byte[] complete, int pos) {
byte[] data = new byte[complete.length - pos];
System.arraycopy(complete, pos, data, 0, data.length);
return data;
}
private int posOfLast(String aString, String key) {
return aString.indexOf(key) + key.length();
}
@Deprecated
private void seperate() {
// System.out.println("orig len: " + completePackage.length);
// System.out.println("header len: " + header.length);
// System.out.println("rest len: " + data.length);
// int tot = data.length + header.length;
// System.out.println("new total: " + tot);
}
public String getHeaderString() {
return this.headerString;
}
public byte[] getData() {
return completePackage;
}
@Override
public byte[] getHeader() {
return this.header;
}
@Override
public String toString() {
return binaryUtils.hexToString(binaryUtils.bytesToHex(completePackage));
}
}
package regular;
public class Sample {
}
......@@ -19,4 +19,16 @@ public class StringData implements Data {
// TODO Auto-generated method stub
return null;
}
@Override
public byte[] getHeader() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getHeaderString() {
// TODO Auto-generated method stub
return null;
}
}
package testing;
import interfaces.Data;
import regular.BinaryData;
import regular.CompleteData;
import utils.DataGenerator;
public class StringCutFiddle {
......@@ -16,12 +16,12 @@ public class StringCutFiddle {
// System.out.println(testString.substring(0, pos+searchedString.length()));
byte[] header = new byte[lenHeader + 4];
System.arraycopy(data.getData(), 0, header, 0, header.length);
Data meta = new BinaryData(header);
Data meta = new CompleteData(header);
System.out.println(meta.toString());
byte[] rest = new byte[data.getData().length - header.length];
System.arraycopy(data.getData(), header.length, rest, 0, rest.length);
Data noMeta = new BinaryData(rest);
Data noMeta = new CompleteData(rest);
System.out.println("orig len: " + data.getData().length);
System.out.println("header len: " + header.length);
......
package testing;
import regular.BinaryData;
import regular.CompleteData;
import utils.DataGenerator;
import interfaces.Data;
......
package testing;
import regular.BinaryData;
import regular.CompleteData;
import regular.StringData;
import interfaces.Data;
......
......@@ -4,7 +4,7 @@ import java.io.FileInputStream;
import java.io.IOException;
import interfaces.Data;
import regular.BinaryData;
import regular.CompleteData;
public class BinaryDataLoader {
......@@ -20,6 +20,6 @@ public class BinaryDataLoader {
}
public static Data loadDataToCover(String filePath) {
return new BinaryData(loadData(filePath));
return new CompleteData(loadData(filePath));
}
}
......@@ -3,7 +3,7 @@ package utils;
import java.util.Random;
import interfaces.Data;
import regular.BinaryData;
import regular.CompleteData;
import regular.StringData;
public class DataGenerator {
......@@ -50,7 +50,7 @@ public class DataGenerator {
0x67, // g
0x2E // .
};
return new BinaryData(byteArray);
return new CompleteData(byteArray);
}
public static Data generateRandom() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment