eu.agrosense.server.task.NewTaskAction Maven / Gradle / Ivy
The newest version!
/**
* Copyright (C) 2008-2013 LimeTri. All rights reserved.
*
* AgroSense is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* There are special exceptions to the terms and conditions of the GPLv3 as it
* is applied to this software, see the FLOSS License Exception
* .
*
* AgroSense is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* AgroSense. If not, see .
*/
package eu.agrosense.server.task;
import eu.agrosense.api.task.Task;
import eu.agrosense.api.task.TaskConstants;
import eu.agrosense.server.BaseSessionAction;
import eu.agrosense.server.storage.api.StorageService;
import eu.agrosense.shared.model.AgroURI;
import eu.agrosense.shared.model.AgroURIFactory;
import eu.agrosense.shared.model.Operation;
import java.util.List;
import org.opendolphin.core.comm.Command;
import org.opendolphin.core.comm.NamedCommand;
import org.opendolphin.core.server.DTO;
import org.opendolphin.core.server.Slot;
import org.opendolphin.core.server.comm.ActionRegistry;
import org.opendolphin.core.server.comm.NamedCommandHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
*
* @author Timon Veenstra
*/
public class NewTaskAction extends BaseSessionAction {
private long current = 0;
@Override
public void registerIn(ActionRegistry registry) {
super.registerIn(registry); //To change body of generated methods, choose Tools | Templates.
registry.register(TaskConstants.CMD_NEW_TASK, new NamedCommandHandler() {
@Override
public void handleCommand(NamedCommand command, List response) {
String nextTaskId = new Long(getStorageService().nextId(getCurrentFarmId(), Task.ITEM_ID_TYPE)).toString();
String nextOperationId = new Long(getStorageService().nextId(getCurrentFarmId(), Operation.ITEM_ID_TYPE)).toString();
AgroURIFactory iFactory = new AgroURIFactory(new AgroURI(getCurrentFarmId()));
String taskId = iFactory.createURI(Task.ITEM_ID_TYPE, nextTaskId).toString();
String operationId = iFactory.createURI(Operation.ITEM_ID_TYPE, nextOperationId).toString();
//TODO generate and add job id
DTO dto = new DTO(
Helper.slot(Task.PROP_ACTIVITY_FIELD_ID, "",taskId)
, Helper.slot(Task.PROP_ACTIVITY_ID, "",taskId)
, Helper.slot(Task.PROP_AGENT_ID, "",taskId)
, Helper.slot(Task.PROP_AGENT_AMOUNT, 0.0,taskId)
, Helper.slot(Task.PROP_AGENT_UNIT, "",taskId)
, Helper.slot(Task.PROP_CHECKED, "",taskId)
, Helper.slot(Task.PROP_CROP_FIELD_ID, "",taskId)
, Helper.slot(Task.PROP_DATE, "",taskId)
, Helper.slot(Task.PROP_DESCRIPTION, "",taskId)
, Helper.slot(Task.PROP_END_TIME, "",taskId)
, Helper.slot(Task.PROP_FARM_URI, getCurrentFarmId(),taskId)
, Helper.slot(Task.PROP_ID, taskId, taskId)
, Helper.slot(Task.PROP_JOB_ID, "",taskId)
, Helper.slot(Task.PROP_MACHINE_ID, "",taskId)
, Helper.slot(Task.PROP_NAME, "",taskId)
, Helper.slot(Task.PROP_OPERATION_ID, operationId,taskId)
, Helper.slot(Task.PROP_PARENT_ID, operationId,taskId)
, Helper.slot(Task.PROP_START_TIME, "",taskId)
, Helper.slot(Task.PROP_STATUS, "",taskId)
, Helper.slot(Task.PROP_WORKER_ID, "",taskId)
, Helper.slot(Task.PROP_WORK_WIDTH, "",taskId)
);
presentationModel(TaskConstants.ID_PREFIX_AGGREGATED_TASK + current++, TaskConstants.PM_TYPE_AGGREGATED_TASK, dto);
}
});
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy