X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.db.common%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fcommon%2Fprocedure%2Fwrapper%2FSyncToAsyncListener.java;h=640eb8a224b278d99b702e78737c2c80f9c0171a;hp=33b3cd028658cf0a97ce36ca20a8ca9267b2ba74;hb=7e66fdd1670687a56d8ef980d14d83bfc5f16583;hpb=969bd23cab98a79ca9101af33334000879fb60c5 diff --git a/bundles/org.simantics.db.common/src/org/simantics/db/common/procedure/wrapper/SyncToAsyncListener.java b/bundles/org.simantics.db.common/src/org/simantics/db/common/procedure/wrapper/SyncToAsyncListener.java index 33b3cd028..640eb8a22 100644 --- a/bundles/org.simantics.db.common/src/org/simantics/db/common/procedure/wrapper/SyncToAsyncListener.java +++ b/bundles/org.simantics.db.common/src/org/simantics/db/common/procedure/wrapper/SyncToAsyncListener.java @@ -1,83 +1,85 @@ -/******************************************************************************* - * Copyright (c) 2007, 2010 Association for Decentralized Information Management - * in Industry THTH ry. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * VTT Technical Research Centre of Finland - initial API and implementation - *******************************************************************************/ -package org.simantics.db.common.procedure.wrapper; - -import org.simantics.db.AsyncReadGraph; -import org.simantics.db.ReadGraph; -import org.simantics.db.common.request.ReadRequest; -import org.simantics.db.common.utils.Logger; -import org.simantics.db.exception.DatabaseException; -import org.simantics.db.procedure.AsyncListener; -import org.simantics.db.procedure.Procedure; -import org.simantics.db.procedure.SyncListener; - -final public class SyncToAsyncListener implements AsyncListener { - - final private SyncListener procedure; - - public SyncToAsyncListener(SyncListener procedure) { - this.procedure = procedure; - } - - @Override - final public void execute(AsyncReadGraph graph, final T result) { -// System.out.println("SyncToAsyncListener for " + procedure + " - execute " + result); - graph.asyncRequest(new ReadRequest() { - - @Override - public void run(ReadGraph graph) throws DatabaseException { -// System.out.println("SyncToAsyncListener for " + procedure + " - execute " + result); - procedure.execute(graph, result); - } - - @Override - public String toString() { - return "execute for " + SyncToAsyncListener.this.toString(); - } - - }, new Procedure() { - - @Override - public void exception(Throwable t) { - Logger.defaultLogError(t); - } - - @Override - public void execute(Object result) { - } - - }); - } - - @Override - final public void exception(AsyncReadGraph graph, final Throwable t) { - graph.asyncRequest(new ReadRequest() { - - @Override - public void run(ReadGraph graph) throws DatabaseException { - procedure.exception(graph, t); - } - - }); - } - - @Override - public boolean isDisposed() { - return procedure.isDisposed(); - } - - @Override - public String toString() { - return "SyncToAsyncListener -> " + procedure; - } - -} +/******************************************************************************* + * Copyright (c) 2007, 2010 Association for Decentralized Information Management + * in Industry THTH ry. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +package org.simantics.db.common.procedure.wrapper; + +import org.simantics.db.AsyncReadGraph; +import org.simantics.db.ReadGraph; +import org.simantics.db.common.request.ReadRequest; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.procedure.AsyncListener; +import org.simantics.db.procedure.Procedure; +import org.simantics.db.procedure.SyncListener; +import org.slf4j.LoggerFactory; + +final public class SyncToAsyncListener implements AsyncListener { + + private static final org.slf4j.Logger LOGGER = LoggerFactory.getLogger(SyncToAsyncListener.class); + + final private SyncListener procedure; + + public SyncToAsyncListener(SyncListener procedure) { + this.procedure = procedure; + } + + @Override + final public void execute(AsyncReadGraph graph, final T result) { +// System.out.println("SyncToAsyncListener for " + procedure + " - execute " + result); + graph.asyncRequest(new ReadRequest() { + + @Override + public void run(ReadGraph graph) throws DatabaseException { +// System.out.println("SyncToAsyncListener for " + procedure + " - execute " + result); + procedure.execute(graph, result); + } + + @Override + public String toString() { + return "execute for " + SyncToAsyncListener.this.toString(); + } + + }, new Procedure() { + + @Override + public void exception(Throwable t) { + LOGGER.error("{} failed", SyncToAsyncListener.this.toString(), t); + } + + @Override + public void execute(Object result) { + } + + }); + } + + @Override + final public void exception(AsyncReadGraph graph, final Throwable t) { + graph.asyncRequest(new ReadRequest() { + + @Override + public void run(ReadGraph graph) throws DatabaseException { + procedure.exception(graph, t); + } + + }); + } + + @Override + public boolean isDisposed() { + return procedure.isDisposed(); + } + + @Override + public String toString() { + return "SyncToAsyncListener -> " + procedure; + } + +}