58 lines
1.9 KiB
Java
58 lines
1.9 KiB
Java
package org.gcube.informationsystem.resourceregistry.types;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
import org.gcube.informationsystem.types.PropertyTypeName.BaseType;
|
|
|
|
import com.arcadedb.schema.Type;
|
|
|
|
/**
|
|
* @author Luca Frosini (ISTI - CNR)
|
|
*
|
|
* Create a mapping between OrientDB {@link Type}
|
|
* https://orientdb.gitbooks.io/orientdb-manual/content/orientdb.wiki/Types.html
|
|
* and {@link BaseType}
|
|
*/
|
|
public class DBTypeMapping {
|
|
|
|
protected static final Map<BaseType,Type> IS_BASE_TYPE_TO_DB_TYPE;
|
|
|
|
protected static final Map<Type,BaseType> DB_TYPE_TO_IS_BASE_TYPE;
|
|
|
|
|
|
static {
|
|
IS_BASE_TYPE_TO_DB_TYPE = new HashMap<>();
|
|
|
|
IS_BASE_TYPE_TO_DB_TYPE.put(BaseType.BOOLEAN, Type.BOOLEAN);
|
|
IS_BASE_TYPE_TO_DB_TYPE.put(BaseType.INTEGER, Type.INTEGER);
|
|
IS_BASE_TYPE_TO_DB_TYPE.put(BaseType.SHORT, Type.SHORT);
|
|
IS_BASE_TYPE_TO_DB_TYPE.put(BaseType.LONG, Type.LONG);
|
|
IS_BASE_TYPE_TO_DB_TYPE.put(BaseType.FLOAT, Type.FLOAT);
|
|
IS_BASE_TYPE_TO_DB_TYPE.put(BaseType.DOUBLE, Type.DOUBLE);
|
|
IS_BASE_TYPE_TO_DB_TYPE.put(BaseType.DATE, Type.DATETIME);
|
|
IS_BASE_TYPE_TO_DB_TYPE.put(BaseType.STRING, Type.STRING);
|
|
IS_BASE_TYPE_TO_DB_TYPE.put(BaseType.BINARY, Type.BINARY);
|
|
IS_BASE_TYPE_TO_DB_TYPE.put(BaseType.BYTE, Type.BYTE);
|
|
IS_BASE_TYPE_TO_DB_TYPE.put(BaseType.PROPERTY, Type.EMBEDDED);
|
|
IS_BASE_TYPE_TO_DB_TYPE.put(BaseType.LIST, Type.LIST);
|
|
IS_BASE_TYPE_TO_DB_TYPE.put(BaseType.SET, Type.LIST);
|
|
IS_BASE_TYPE_TO_DB_TYPE.put(BaseType.MAP, Type.MAP);
|
|
|
|
DB_TYPE_TO_IS_BASE_TYPE = new HashMap<>();
|
|
for(BaseType baseType : IS_BASE_TYPE_TO_DB_TYPE.keySet()) {
|
|
DB_TYPE_TO_IS_BASE_TYPE.put(IS_BASE_TYPE_TO_DB_TYPE.get(baseType), baseType);
|
|
}
|
|
|
|
}
|
|
|
|
public static Type getDBType(final BaseType baseType) {
|
|
return IS_BASE_TYPE_TO_DB_TYPE.get(baseType);
|
|
}
|
|
|
|
public static BaseType getISBaseType(final Type oType) {
|
|
return DB_TYPE_TO_IS_BASE_TYPE.get(oType);
|
|
}
|
|
|
|
}
|