Skip to content

Commit

Permalink
Merge pull request #26 from hms-dbmi/QA
Browse files Browse the repository at this point in the history
1.2.2 Release
  • Loading branch information
JREastonMarks authored Oct 19, 2016
2 parents 210feae + 9049eb8 commit 73e2d7e
Show file tree
Hide file tree
Showing 4 changed files with 791 additions and 2 deletions.
11 changes: 9 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>edu.harvard.hms.dbmi.bd2k.irct</groupId>
<artifactId>IRCT-RI</artifactId>
<version>1.2.1</version>
<version>1.2.2</version>
<name>INTER-RESOURCE COMMUNICATION TOOL : Resource Interface</name>
<description></description>
<dependencies>
Expand Down Expand Up @@ -43,11 +43,18 @@
<artifactId>i2b2-Java-API</artifactId>
<version>1.0</version>
</dependency>

<!-- SciDB Java API -->
<dependency>
<groupId>edu.harvard.hms.dbmi</groupId>
<artifactId>SciDB-Java</artifactId>
<version>1.0-QA</version>
</dependency>
<!-- IRCT API -->
<dependency>
<groupId>edu.harvard.hms.dbmi.bd2k.irct</groupId>
<artifactId>IRCT-API</artifactId>
<version>1.2.1</version>
<version>1.2.2</version>
</dependency>
</dependencies>
<build>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
package edu.harvard.hms.dbmi.bd2k.irct.ri.scidb;

import java.nio.charset.StandardCharsets;
import java.util.regex.Pattern;

import javax.json.Json;
import javax.json.JsonObject;
import javax.json.JsonObjectBuilder;

import edu.harvard.hms.dbmi.bd2k.irct.model.ontology.DataType;
import edu.harvard.hms.dbmi.bd2k.irct.model.resource.PrimitiveDataType;

public enum SciDBDataType implements DataType {
ARRAY {
@Override
public String getName() {
return "array";
}

@Override
public String getDescription() {
return "Array";
}

@Override
public byte[] toBytes(Object value) {
if (value == null) {
return new byte[] { (byte) Character.MIN_VALUE };
}

String data = ((String) value).trim();
return (data).getBytes(StandardCharsets.UTF_16);
}

@Override
public Object fromBytes(byte[] bytes) {
if ((bytes.length == 1)
&& (bytes[0] == Character.reverseBytes(Character.MIN_VALUE))) {
return null;
}
return new String(bytes, StandardCharsets.UTF_16).trim();
}
},
ATTRIBUTE {
@Override
public String getName() {
return "attribute";
}

@Override
public String getDescription() {
return "Attribute";
}

@Override
public byte[] toBytes(Object value) {
if (value == null) {
return new byte[] { (byte) Character.MIN_VALUE };
}

String data = ((String) value).trim();
return (data).getBytes(StandardCharsets.UTF_16);
}

@Override
public Object fromBytes(byte[] bytes) {
if ((bytes.length == 1)
&& (bytes[0] == Character.reverseBytes(Character.MIN_VALUE))) {
return null;
}
return new String(bytes, StandardCharsets.UTF_16).trim();
}
},
DIMENSION {
@Override
public String getName() {
return "dimension";
}

@Override
public String getDescription() {
return "DIMENSION";
}

@Override
public byte[] toBytes(Object value) {
if (value == null) {
return new byte[] { (byte) Character.MIN_VALUE };
}

String data = ((String) value).trim();
return (data).getBytes(StandardCharsets.UTF_16);
}

@Override
public Object fromBytes(byte[] bytes) {
if ((bytes.length == 1)
&& (bytes[0] == Character.reverseBytes(Character.MIN_VALUE))) {
return null;
}
return new String(bytes, StandardCharsets.UTF_16).trim();
}
};

@Override
public Pattern getPattern() {
return Pattern.compile("^.*$", Pattern.CASE_INSENSITIVE);
}

@Override
public DataType typeOf() {
return PrimitiveDataType.STRING;
}

@Override
public byte[] fromString(String value) {
return value.getBytes();
}

@Override
public String toString(byte[] bytes) {
return new String(bytes);
}

@Override
public boolean validate(String value) {
return getPattern().matcher(value).matches();
}

@Override
public JsonObject toJson() {
JsonObjectBuilder build = Json.createObjectBuilder();
build.add("name", getName());
build.add("pattern", getPattern().toString());
build.add("description", getDescription());
if (typeOf() != null) {
build.add("typeof", typeOf().getName());
}
return build.build();
}
}
Loading

0 comments on commit 73e2d7e

Please sign in to comment.