X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.services%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fservices%2Fadaption%2FAdaptionService2.java;h=7cc87e30b155869c4219b47ac045404cd9361b1d;hb=5bc1c2b950d374ecfcc206981724c3b9286dcbd6;hp=47a14ddbcbccc7424bec9fe1ea059c588dffc24d;hpb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.services/src/org/simantics/db/services/adaption/AdaptionService2.java b/bundles/org.simantics.db.services/src/org/simantics/db/services/adaption/AdaptionService2.java index 47a14ddbc..7cc87e30b 100644 --- a/bundles/org.simantics.db.services/src/org/simantics/db/services/adaption/AdaptionService2.java +++ b/bundles/org.simantics.db.services/src/org/simantics/db/services/adaption/AdaptionService2.java @@ -20,6 +20,7 @@ import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.adaption.Adapter; import org.simantics.db.adaption.AdaptionService; +import org.simantics.db.common.procedure.BlockingAsyncProcedure; import org.simantics.db.common.procedure.adapter.TransientCacheAsyncListener; import org.simantics.db.common.procedure.single.SyncReadProcedure; import org.simantics.db.common.request.BinaryRead; @@ -583,11 +584,15 @@ public class AdaptionService2 implements AdaptionService { public T adapt(ReadGraph g, Resource r, C context, Class contextClass, Class targetClass, boolean possible) throws DatabaseException { Adapter adapter = getAdapter(g, r, context, contextClass, targetClass, possible); + if(adapter == null) return null; - SyncReadProcedure procedure = new SyncReadProcedure(); - adapter.adapt(g, r, context, procedure); - procedure.checkAndThrow(); - return procedure.result; + BlockingAsyncProcedure ap = new BlockingAsyncProcedure(null, adapter); + +// SyncReadProcedure procedure = new SyncReadProcedure(); + adapter.adapt(g, r, context, ap); + return ap.get(); +// procedure.checkAndThrow(); +// return procedure.result; }