import org.simantics.db.ReadGraph;
import org.simantics.db.Resource;
import org.simantics.db.common.request.ResourceRead;
+import org.simantics.db.common.utils.NameUtils;
import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.scl.SCLDatabaseException;
import org.simantics.db.layer0.util.Layer0Utils;
import org.simantics.layer0.Layer0;
import org.simantics.scl.compiler.environment.Environment;
import org.simantics.scl.compiler.environment.Environments;
+import org.simantics.scl.compiler.errors.CompilationError;
import org.simantics.scl.compiler.top.SCLExpressionCompilationException;
import org.simantics.scl.compiler.types.Type;
try {
type = Environments.getType(environment, typeName);
} catch(SCLExpressionCompilationException e) {
- e.printStackTrace();
- continue;
+ StringBuilder b = new StringBuilder();
+ b.append("Couldn't compile interface properties in type '" + NameUtils.getSafeName(graph, t) + " for environment " + environment);
+ b.append("':\n");
+ StringBuilder b2 = new StringBuilder();
+ for(CompilationError error : e.getErrors()) {
+ b2.append(error.description);
+ b2.append('\n');
+ }
+ System.err.println(b.toString() + b2.toString());
+ throw new SCLDatabaseException(b.toString()+b2.toString(), b2.toString(), e.getErrors());
}
ComponentTypeProperty property = new ComponentTypeProperty(relation, type);
result.put(name, property);