Project

General

Profile

« Previous | Next » 

Revision 37269

onDone not needed. onOnGoing must do its job only once

View differences:

modules/dnet-validator-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/nodes/validation/ValidatorServiceBlackboardJobNode.java
181 181
	protected BlackboardWorkflowJobListener generateBlackboardListener(final Engine engine, final NodeToken token) {
182 182
		return new BlackboardWorkflowJobListener(engine, token) {
183 183

  
184
			@Override
185
			protected void onDone(final BlackboardJob job) {
186
				log.fatal("Guess we'll never see this log...");
187
				token.getEnv().setAttribute("validatorJobId", job.getParameters().get("jobId"));
188
				String error = job.getParameters().get("error");
189
				if (StringUtils.isNotBlank(error)) {
190
					token.getEnv().setAttribute("validatorError", error);
191
				}
192
				super.onDone(job);
193
			}
184
			boolean done = false;
194 185

  
186
			// @Override
187
			// protected void onDone(final BlackboardJob job) {
188
			// log.fatal("Guess we'll never see this log...");
189
			// token.getEnv().setAttribute("validatorJobId", job.getParameters().get("jobId"));
190
			// String error = job.getParameters().get("error");
191
			// if (StringUtils.isNotBlank(error)) {
192
			// token.getEnv().setAttribute("validatorError", error);
193
			// }
194
			// super.onDone(job);
195
			// }
196

  
195 197
			@Override
196 198
			protected void onOngoing(final BlackboardJob job) {
197
				String epr = job.getParameters().get(VALIDATOR_EPR_PARAM_NAME);
198
				log.fatal(VALIDATOR_EPR_PARAM_NAME + "= " + epr);
199
				token.getEnv().setAttribute(outputEprName, epr);
199
				if (!done) {
200
					String epr = job.getParameters().get(VALIDATOR_EPR_PARAM_NAME);
201
					log.fatal(VALIDATOR_EPR_PARAM_NAME + "= " + epr);
202
					token.getEnv().setAttribute(outputEprName, epr);
203
					done = true;
204
					super.onDone(job);
205
				}
200 206
				currentlyValidated = Integer.parseInt(job.getParameters().get(currentlyValidatedParam));
201
				super.onDone(job);
207

  
202 208
			}
203 209

  
204 210
		};

Also available in: Unified diff