Skip to content

Commit acaaa4e

Browse files
committed
fix #1027
1 parent b8e8cbb commit acaaa4e

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

BimServer/src/org/bimserver/webservices/impl/LowLevelServiceImpl.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
import org.bimserver.webservices.LongTransaction;
5757
import org.bimserver.webservices.NoTransactionException;
5858
import org.bimserver.webservices.ServiceMap;
59+
import org.eclipse.emf.common.util.Enumerator;
5960
import org.eclipse.emf.ecore.EClass;
6061
import org.eclipse.emf.ecore.EStructuralFeature;
6162
import org.slf4j.Logger;
@@ -543,7 +544,13 @@ private Object getAttribute(Long tid, Long oid, String attributeName) throws Ser
543544
Object eGet = object.eGet(eStructuralFeature);
544545
if (eGet instanceof IdEObject) {
545546
IdEObject refObject = (IdEObject)eGet;
546-
return refObject.eGet(refObject.eClass().getEStructuralFeature("wrappedValue"));
547+
EStructuralFeature wrappedFeature = refObject.eClass().getEStructuralFeature("wrappedValue");
548+
Object wrappedValue = refObject.eGet(wrappedFeature);
549+
if(wrappedFeature.getEType().getName().equals("Tristate")){
550+
String tristateLiteral = ((Enumerator) wrappedValue).getLiteral();
551+
return tristateLiteral.equals("UNDEFINED") ? null : Boolean.valueOf(tristateLiteral.toLowerCase());
552+
}
553+
return wrappedValue;
547554
}
548555
return eGet;
549556
} catch (Exception e) {

0 commit comments

Comments
 (0)