#5297 Implement client side remoting progress monitor feedback mechanism, Add test...
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / model / CdmProgressMonitorAdapter.java
1 /**
2 *
3 */
4 package eu.etaxonomy.taxeditor.model;
5
6 import java.io.Serializable;
7
8 import org.eclipse.core.runtime.IProgressMonitor;
9 import org.eclipse.core.runtime.NullProgressMonitor;
10
11 import eu.etaxonomy.taxeditor.store.StoreUtil;
12
13 /**
14 * <p>CdmProgressMonitorAdapter class.</p>
15 *
16 * @author n.hoffmann
17 * @created Sep 17, 2010
18 * @version 1.0
19 */
20 public class CdmProgressMonitorAdapter implements eu.etaxonomy.cdm.common.monitor.IProgressMonitor {
21
22 private IProgressMonitor progressMonitor;
23
24 private CdmProgressMonitorAdapter (IProgressMonitor monitor){
25 if(monitor == null){
26 monitor = new NullProgressMonitor();
27 }
28
29 this.progressMonitor = monitor;
30 }
31
32 /**
33 * <p>CreateMonitor</p>
34 *
35 * @param monitor a {@link org.eclipse.core.runtime.IProgressMonitor} object.
36 * @return a {@link eu.etaxonomy.taxeditor.model.CdmProgressMonitorAdapter} object.
37 */
38 public static CdmProgressMonitorAdapter CreateMonitor (IProgressMonitor monitor){
39 return new CdmProgressMonitorAdapter(monitor);
40 }
41
42 /**
43 * <p>CreateSubMonitor</p>
44 *
45 * @param monitor a {@link org.eclipse.core.runtime.IProgressMonitor} object.
46 * @param ticks a int.
47 * @return a {@link eu.etaxonomy.taxeditor.model.CdmProgressMonitorAdapter} object.
48 */
49 public static CdmProgressMonitorAdapter CreateSubMonitor (IProgressMonitor monitor, int ticks) {
50 IProgressMonitor subMonitor = StoreUtil.getSubProgressMonitor(monitor, ticks);
51 return new CdmProgressMonitorAdapter(subMonitor);
52 }
53
54 /** {@inheritDoc} */
55 @Override
56 public void beginTask(String name, int totalWork) {
57 progressMonitor.beginTask(name, totalWork);
58 }
59
60 /** {@inheritDoc} */
61 @Override
62 public void done() {
63 progressMonitor.done();
64 }
65
66 /** {@inheritDoc} */
67 @Override
68 public boolean isCanceled() {
69 return progressMonitor.isCanceled();
70 }
71
72 /** {@inheritDoc} */
73 @Override
74 public void setCanceled(boolean value) {
75 progressMonitor.setCanceled(value);
76 }
77
78 /** {@inheritDoc} */
79 @Override
80 public void setTaskName(String name) {
81 progressMonitor.setTaskName(name);
82 }
83
84 /** {@inheritDoc} */
85 @Override
86 public void subTask(String name) {
87 progressMonitor.subTask(name);
88 }
89
90 /** {@inheritDoc} */
91 @Override
92 public void worked(int work) {
93 progressMonitor.worked(work);
94 }
95
96 /** {@inheritDoc} */
97 @Override
98 public void warning(String message) {
99 MessagingUtils.warn(this.getClass(), message);
100 }
101
102 /** {@inheritDoc} */
103 @Override
104 public void warning(String message, Throwable throwable) {
105 MessagingUtils.error(this.getClass(), message, throwable);
106 }
107
108 @Override
109 public void internalWorked(double arg0) {
110 progressMonitor.internalWorked(arg0);
111 }
112
113 /**
114 * {@inheritDoc}
115 */
116 @Override
117 public Serializable getFeedback() {
118 return null;
119 }
120
121 /**
122 * {@inheritDoc}
123 */
124 @Override
125 public boolean getIsWaitingForFeedback() {
126 return false;
127 }
128
129 /**
130 * {@inheritDoc}
131 */
132 @Override
133 public void setFeedback(Serializable arg0) {
134
135 }
136
137 /**
138 * {@inheritDoc}
139 */
140 @Override
141 public void waitForFeedback() {
142
143 }
144
145 /**
146 * {@inheritDoc}
147 */
148 @Override
149 public String getOwner() {
150 return null;
151 }
152
153 /**
154 * {@inheritDoc}
155 */
156 @Override
157 public boolean hasFeedbackWaitTimedOut() {
158 return false;
159 }
160
161 /**
162 * {@inheritDoc}
163 */
164 @Override
165 public void interrupt() {
166
167
168 }
169
170 /**
171 * {@inheritDoc}
172 */
173 @Override
174 public void setOwner(String arg0) {
175
176
177 }
178
179 /**
180 * {@inheritDoc}
181 */
182 @Override
183 public void waitForFeedback(long arg0) {
184
185 }
186
187 }