Skip to content

Commit

Permalink
Merge pull request #13 from hms-dbmi/QA
Browse files Browse the repository at this point in the history
1.1 Final
  • Loading branch information
JREastonMarks authored Aug 9, 2016
2 parents 7ae470b + 6308c1a commit ddad6ad
Show file tree
Hide file tree
Showing 11 changed files with 1,038 additions and 13 deletions.
4 changes: 2 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.0</version>
<version>1.1</version>
<name>INTER-RESOURCE COMMUNICATION TOOL : Resource Interface</name>
<description></description>
<dependencies>
Expand Down Expand Up @@ -47,7 +47,7 @@
<dependency>
<groupId>edu.harvard.hms.dbmi.bd2k.irct</groupId>
<artifactId>IRCT-API</artifactId>
<version>1.0</version>
<version>1.1</version>
</dependency>
</dependencies>
<build>
Expand Down
1 change: 0 additions & 1 deletion src/main/.gitignore

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
package edu.harvard.hms.dbmi.bd2k.irct.ri.elasticsearch;

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 ElasticSearchDataType implements DataType {
FILE {
@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 String getName() {
return "file";
}

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

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

@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 ddad6ad

Please sign in to comment.