001
014
015 package com.liferay.portal.fabric.local.worker;
016
017 import com.liferay.portal.fabric.status.FabricStatus;
018 import com.liferay.portal.fabric.status.RemoteFabricStatus;
019 import com.liferay.portal.fabric.worker.FabricWorker;
020 import com.liferay.portal.kernel.concurrent.NoticeableFuture;
021 import com.liferay.portal.kernel.process.ProcessCallable;
022 import com.liferay.portal.kernel.process.ProcessChannel;
023
024 import java.io.Serializable;
025
026
029 public class LocalFabricWorker<T extends Serializable>
030 implements FabricWorker<T> {
031
032 public LocalFabricWorker(ProcessChannel<T> processChannel) {
033 _processChannel = processChannel;
034
035 _fabricStatus = new RemoteFabricStatus(
036 new LocalFabricWorkerProcessCallableExecutor(_processChannel));
037 }
038
039 @Override
040 public FabricStatus getFabricStatus() {
041 return _fabricStatus;
042 }
043
044 @Override
045 public NoticeableFuture<T> getProcessNoticeableFuture() {
046 return _processChannel.getProcessNoticeableFuture();
047 }
048
049 @Override
050 public <V extends Serializable> NoticeableFuture<V> write(
051 ProcessCallable<V> processCallable) {
052
053 return _processChannel.write(processCallable);
054 }
055
056 private final FabricStatus _fabricStatus;
057 private final ProcessChannel<T> _processChannel;
058
059 }