Subversion Repositories bacoAlunos

Rev

Rev 1791 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1775 jmachado 1
package pt.estgp.estgweb.web.controllers.bpmn;
2
 
3
 
4
import com.orsoncharts.util.json.parser.JSONParser;
5
import com.orsoncharts.util.json.parser.ParseException;
6
import jomm.dao.impl.AbstractDao;
7
import org.apache.log4j.Logger;
8
import org.apache.struts.action.ActionForm;
9
import org.json.JSONArray;
10
import org.json.JSONException;
11
import org.json.JSONObject;
1781 jmachado 12
import pt.estgp.estgweb.domain.*;
1814 jmachado 13
import pt.estgp.estgweb.domain.typesgen.ConnectorSoa;
14
import pt.estgp.estgweb.domain.typesgen.Todos;
15
import pt.estgp.estgweb.domain.typesgen.VariableType;
1775 jmachado 16
import pt.estgp.estgweb.domain.dao.DaoFactory;
1791 jmachado 17
import pt.estgp.estgweb.services.ServiceFinder;
1775 jmachado 18
import pt.estgp.estgweb.web.controllers.utils.AbstractWidgetAjaxController;
19
import pt.estgp.estgweb.web.utils.JspInterfacesJsonGen;
20
 
21
import javax.servlet.http.HttpServletRequest;
22
import javax.servlet.http.HttpServletResponse;
23
import java.io.IOException;
1791 jmachado 24
import java.io.InputStream;
1775 jmachado 25
import java.io.InputStreamReader;
1781 jmachado 26
import java.util.Iterator;
1782 jmachado 27
import java.util.List;
1775 jmachado 28
 
1782 jmachado 29
import static org.hibernate.criterion.Restrictions.eq;
30
 
1775 jmachado 31
/**
32
 * @author Jorge Machado
33
 * @date 26/Fev/2008
34
 * @time 18:01:54
35
 * @see pt.estgp.estgweb.web
36
 */
37
public class BpmnController extends AbstractWidgetAjaxController
38
{
39
 
40
    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(BpmnController.class);
41
 
1791 jmachado 42
    static JSONObject jspInterfaces = null;
1775 jmachado 43
 
1791 jmachado 44
    static JSONObject servicesSoa = null;
45
 
46
 
47
    private static synchronized JSONObject loadJsps()
1775 jmachado 48
    {
1791 jmachado 49
        if(jspInterfaces == null)
50
        {
51
            try {
52
                BpmnController.class.getResourceAsStream(JspInterfacesJsonGen.JSON_FILE_JSPS);
53
                JSONParser parser = new JSONParser();
54
                1.5.0/docs/api/java/lang/String.html">String jspInterfacesArray = ((com.orsoncharts.util.json.JSONArray) parser.parse(new 1.5.0/docs/api/java/io/InputStreamReader.html">InputStreamReader(BpmnController.class.getResourceAsStream(JspInterfacesJsonGen.JSON_FILE_JSPS))))
55
                        .toJSONString();
56
                jspInterfaces = new JSONObject();
57
                jspInterfaces.put("jsps", new JSONArray(jspInterfacesArray));
58
            } catch (1.5.0/docs/api/java/io/IOException.html">IOException e) {
59
                logger.error("BACO BpmnController : Initializing jsps json file for JSP listing ");
60
            } catch (1.5.0/docs/api/java/text/ParseException.html">ParseException e) {
61
                logger.error("BACO BpmnController : Initializing jsps json file for JSP listing ");
62
            } catch (JSONException e) {
63
                logger.error("BACO BpmnController : Initializing jsps json file for JSP listing ");
64
            }
65
        }
66
        return jspInterfaces;
67
    }
1775 jmachado 68
 
1791 jmachado 69
    private static synchronized JSONObject loadServicesSoa()
70
    {
71
        if(servicesSoa == null)
72
        {
73
            try {
74
                JSONParser parser = new JSONParser();
75
                5+0%2Fdocs%2Fapi+InputStream">InputStream stream = BpmnController.class.getResourceAsStream(ServiceFinder.SERVICES_SOA_FILE);
76
                if(stream != null)
77
                {
78
                    1.5.0/docs/api/java/lang/String.html">String servicesClassesArray = ((com.orsoncharts.util.json.JSONArray) parser.parse(new 1.5.0/docs/api/java/io/InputStreamReader.html">InputStreamReader(stream))).toJSONString();
79
                    servicesSoa = new JSONObject();
80
                    servicesSoa.put("services", new JSONArray(servicesClassesArray));
81
                }
1775 jmachado 82
 
1791 jmachado 83
            } catch (1.5.0/docs/api/java/io/IOException.html">IOException e) {
84
                logger.error("BACO BpmnController : Initializing jsps json file for JSP listing ");
85
            } catch (1.5.0/docs/api/java/text/ParseException.html">ParseException e) {
86
                logger.error("BACO BpmnController : Initializing jsps json file for JSP listing ");
87
            } catch (JSONException e) {
88
                logger.error("BACO BpmnController : Initializing jsps json file for JSP listing ");
89
            }
1775 jmachado 90
        }
1791 jmachado 91
        return servicesSoa;
1775 jmachado 92
    }
93
 
1791 jmachado 94
    public JSONObject loadJspsPlugins(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
95
    {
96
        return loadJsps();
97
    }
1775 jmachado 98
 
1791 jmachado 99
    public JSONObject loadServicesSoa(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
100
    {
101
        return loadServicesSoa();
102
    }
1775 jmachado 103
 
104
 
1791 jmachado 105
    public JSONObject loadClassMethods(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
1775 jmachado 106
    {
1791 jmachado 107
        1.5.0/docs/api/java/lang/String.html">String className = request.getParameter("className");
108
        JSONObject classDescription = ServiceFinder.obtainClassDescription(1.5.0/docs/api/java/lang/Class.html">Class.forName(className));
109
        return classDescription;
1775 jmachado 110
    }
111
 
1791 jmachado 112
 
1775 jmachado 113
    public JSONObject newProcess(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
114
    {
115
        AbstractDao.getCurrentSession().beginTransaction();
116
 
117
        BpmnProcessImpl process = DomainObjectFactory.createBpmnProcessImpl();
118
        DaoFactory.getBpmnProcessDaoImpl().save(process);
119
        JSONObject processJson = process.toJsonObject();
120
        AbstractDao.getCurrentSession().getTransaction().commit();
121
 
122
        return processJson;
123
    }
124
 
125
 
126
 
1781 jmachado 127
    public JSONObject addActorPool(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
128
    {
129
 
130
        1.5.0/docs/api/java/lang/Long.html">Long processId = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("processId"));
131
        AbstractDao.getCurrentSession().beginTransaction();
132
 
133
        BpmnProcessImpl persistent = (BpmnProcessImpl) DaoFactory.getBpmnProcessDaoImpl().get(processId);
134
        BpmnActorPool actorPool = DomainObjectFactory.createBpmnActorPoolImpl();
135
 
136
        actorPool.setProcess(persistent);
137
        persistent.getActorPools().add(actorPool);
138
        DaoFactory.getBpmnActorPoolDaoImpl().save(actorPool);
139
 
140
        JSONObject actorPoolJson = actorPool.toJsonObject();
141
        AbstractDao.getCurrentSession().getTransaction().commit();
142
 
143
        return actorPoolJson;
144
    }
145
 
1782 jmachado 146
    public JSONObject addConnector(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
147
    {
148
 
149
        1.5.0/docs/api/java/lang/Long.html">Long taskId = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("taskId"));
150
        AbstractDao.getCurrentSession().beginTransaction();
151
 
152
        BpmnFlowComponentTask persistent = (BpmnFlowComponentTask) DaoFactory.getBpmnFlowComponentTaskDaoImpl().get(taskId);
153
        BpmnFlowConnector connector = DomainObjectFactory.createBpmnFlowConnectorImpl();
154
 
155
        persistent.getFlowConnectors().add(connector);
156
 
157
        DaoFactory.getBpmnFlowConnectorDaoImpl().save(connector);
158
 
159
        JSONObject connectorJson = connector.toJsonObject();
160
        AbstractDao.getCurrentSession().getTransaction().commit();
161
 
162
        return connectorJson;
163
    }
164
 
1785 jmachado 165
    public JSONObject addTaskActor(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
166
    {
167
 
168
        1.5.0/docs/api/java/lang/Long.html">Long poolId = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("poolId"));
169
 
170
        AbstractDao.getCurrentSession().beginTransaction();
171
 
172
        BpmnActorPoolImpl persistent = (BpmnActorPoolImpl) DaoFactory.getBpmnActorPoolDaoImpl().get(poolId);
173
 
174
        BpmnFlowComponentTaskActor taskActor = DomainObjectFactory.createBpmnFlowComponentTaskActorImpl();
175
 
176
        taskActor.setActorPool(persistent);
177
        persistent.getFlowComponents().add(taskActor);
178
 
179
        DaoFactory.getBpmnFlowComponentTaskActorDaoImpl().save(taskActor);
180
 
181
        JSONObject taskActorJson = taskActor.toJsonObject();
182
        AbstractDao.getCurrentSession().getTransaction().commit();
183
 
184
        return taskActorJson;
185
    }
186
 
1791 jmachado 187
    public JSONObject addConnectorSoa(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
188
    {
189
 
190
        1.5.0/docs/api/java/lang/Long.html">Long taskId = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("taskId"));
191
        ConnectorSoa connectorSoa = ConnectorSoa.fromString(request.getParameter("connectorSoa"));
192
        AbstractDao.getCurrentSession().beginTransaction();
193
 
194
        BpmnFlowComponentTask task = DaoFactory.getBpmnFlowComponentTaskDaoImpl().get(taskId);
195
 
196
 
197
        if(task.getTodos() == null)
198
            task.setTodos(new Todos());
199
        task.getTodos().getTodos().add(connectorSoa);
200
 
201
        AbstractDao.getCurrentSession().getTransaction().commit();
202
 
203
        return connectorSoa.toJsonObject();
204
    }
205
 
206
    public JSONObject newProcessVar(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
207
    {
208
 
209
        1.5.0/docs/api/java/lang/Long.html">Long processId = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("processId"));
210
        AbstractDao.getCurrentSession().beginTransaction();
211
        BpmnProcessImpl persistent = (BpmnProcessImpl) DaoFactory.getBpmnProcessDaoImpl().get(processId);
212
        BpmnVariableImpl var = DomainObjectFactory.createBpmnVariableImpl();
213
        var.setType(new VariableType(VariableType.VariableTypeEnum.1.5.0/docs/api/java/lang/Long.html">Long));
214
        DaoFactory.getBpmnVariableDaoImpl().save(var);
215
        persistent.getProcessVariables().add(var);
216
        JSONObject varJson = var.toJsonObject();
217
        AbstractDao.getCurrentSession().getTransaction().commit();
218
 
219
        return varJson;
220
    }
221
 
222
    public JSONObject newLocalVar(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
223
    {
224
 
225
        1.5.0/docs/api/java/lang/Long.html">Long taskId = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("taskId"));
226
        AbstractDao.getCurrentSession().beginTransaction();
227
        BpmnFlowComponent persistent = DaoFactory.getBpmnFlowComponentDaoImpl().get(taskId);
228
        BpmnVariableImpl var = DomainObjectFactory.createBpmnVariableImpl();
229
        var.setType(new VariableType(VariableType.VariableTypeEnum.1.5.0/docs/api/java/lang/Long.html">Long));
230
        DaoFactory.getBpmnVariableDaoImpl().save(var);
231
        persistent.getLocalVariables().add(var);
232
        JSONObject varJson = var.toJsonObject();
233
        AbstractDao.getCurrentSession().getTransaction().commit();
234
 
235
        return varJson;
236
    }
237
 
238
    public 1.5.0/docs/api/java/lang/Boolean.html">Boolean removeProcessVar(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
239
    {
240
 
241
        1.5.0/docs/api/java/lang/Long.html">Long processId = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("processId"));
242
        1.5.0/docs/api/java/lang/Long.html">Long variableId = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("variableId"));
243
        AbstractDao.getCurrentSession().beginTransaction();
244
        BpmnProcessImpl persistent = (BpmnProcessImpl) DaoFactory.getBpmnProcessDaoImpl().get(processId);
245
        BpmnVariable var = DaoFactory.getBpmnVariableDaoImpl().get(variableId);
246
        persistent.getProcessVariables().remove(var);
247
        DaoFactory.getBpmnVariableDaoImpl().delete(var);
248
 
249
        AbstractDao.getCurrentSession().getTransaction().commit();
250
 
251
        return true;
252
    }
253
 
254
    public 1.5.0/docs/api/java/lang/Boolean.html">Boolean removeLocalVar(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
255
    {
256
 
257
        1.5.0/docs/api/java/lang/Long.html">Long taskId = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("taskId"));
258
        1.5.0/docs/api/java/lang/Long.html">Long variableId = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("variableId"));
259
        AbstractDao.getCurrentSession().beginTransaction();
260
        BpmnFlowComponent persistent = DaoFactory.getBpmnFlowComponentDaoImpl().get(taskId);
261
        BpmnVariable var = DaoFactory.getBpmnVariableDaoImpl().get(variableId);
262
        persistent.getLocalVariables().remove(var);
263
        DaoFactory.getBpmnVariableDaoImpl().delete(var);
264
 
265
        AbstractDao.getCurrentSession().getTransaction().commit();
266
 
267
        return true;
268
    }
269
 
270
 
271
 
1785 jmachado 272
    public JSONObject updateProcess(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
273
    {
274
 
275
        BpmnProcessImpl view = BpmnProcessImpl.fromJson(request.getParameter("processJson"));
276
        AbstractDao.getCurrentSession().beginTransaction();
277
 
278
 
279
 
280
        BpmnProcessImpl persistent = (BpmnProcessImpl) DaoFactory.getBpmnProcessDaoImpl().get(view.getId());
281
        persistent.setName(view.getName());
282
        persistent.setActive(view.isActive());
283
 
284
        JSONObject processJson = persistent.toJsonObject();
285
        AbstractDao.getCurrentSession().getTransaction().commit();
286
 
287
        return processJson;
288
    }
289
 
1791 jmachado 290
    public boolean updatePool(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
291
    {
292
 
293
        BpmnActorPool actorPoolView = (BpmnActorPool) DomainObject.fromJson(request.getParameter("object"));
294
 
295
        AbstractDao.getCurrentSession().beginTransaction();
296
 
297
        BpmnActorPool persistent = (BpmnActorPool) DaoFactory.getBpmnActorPoolDaoImpl().get(actorPoolView.getId());
298
        persistent.setName(actorPoolView.getName());
299
 
300
        AbstractDao.getCurrentSession().getTransaction().commit();
301
 
302
        //return actorPoolJson;
303
        return true;
304
    }
305
 
1781 jmachado 306
    public boolean updateTask(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
307
    {
308
 
309
        BpmnFlowComponentTask taskView = (BpmnFlowComponentTask) DomainObject.fromJson(request.getParameter("object"));
310
 
311
        AbstractDao.getCurrentSession().beginTransaction();
312
 
313
        BpmnFlowComponentTask persistent = (BpmnFlowComponentTask) DaoFactory.getBpmnFlowComponentTaskDaoImpl().get(taskView.getId());
314
        persistent.setTitle(taskView.getTitle());
315
        persistent.setDescription(taskView.getDescription());
1791 jmachado 316
        persistent.setTodos(taskView.getTodos());
1781 jmachado 317
 
318
        if(persistent instanceof BpmnFlowComponentTaskActor)
319
        {
320
            ((BpmnFlowComponentTaskActor)persistent).setInterfacePlugin(((BpmnFlowComponentTaskActor) taskView).getInterfacePlugin());
321
            //((BpmnFlowComponentTaskActor)persistent).set(((BpmnFlowComponentTaskActor)taskView).getInterfacePlugin());
1791 jmachado 322
            ((BpmnFlowComponentTaskActor)persistent).setAfterUserTodos(((BpmnFlowComponentTaskActor) taskView).getAfterUserTodos());
1781 jmachado 323
        }
324
        AbstractDao.getCurrentSession().getTransaction().commit();
325
 
326
        //return actorPoolJson;
1782 jmachado 327
        return true;
1781 jmachado 328
    }
329
 
1782 jmachado 330
    public boolean updateConnector(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
331
    {
332
 
333
        BpmnFlowConnectorImpl connectorView = (BpmnFlowConnectorImpl) DomainObject.fromJson(request.getParameter("object"));
334
 
335
        AbstractDao.getCurrentSession().beginTransaction();
336
 
337
        BpmnFlowConnector persistent = DaoFactory.getBpmnFlowConnectorDaoImpl().get(connectorView.getId());
338
        persistent.setNameConnection(connectorView.getNameConnection());
339
        persistent.setKeyValue(connectorView.getKeyValue());
340
        persistent.setMsgEmail(connectorView.getMsgEmail());
341
        persistent.setSendEmail(connectorView.isSendEmail());
342
        //todo faltam os holders e os target types
343
 
1785 jmachado 344
        if(connectorView.getFlowComponentId() != null)
345
        {
346
            BpmnFlowComponent flowComponent = DaoFactory.getBpmnFlowComponentTaskDaoImpl().get(connectorView.getFlowComponentId());
347
            persistent.setFlowComponent(flowComponent);
348
        }
349
        else
350
            persistent.setFlowComponent(null);
1782 jmachado 351
 
352
 
353
        AbstractDao.getCurrentSession().getTransaction().commit();
354
 
355
        return true;
356
    }
357
 
1785 jmachado 358
 
1791 jmachado 359
    public boolean updateVariable(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
360
    {
1785 jmachado 361
 
1791 jmachado 362
        BpmnVariable variableView = (BpmnVariable) DomainObject.fromJson(request.getParameter("object"));
1785 jmachado 363
 
1791 jmachado 364
        AbstractDao.getCurrentSession().beginTransaction();
365
 
366
        BpmnVariable persistent = (BpmnVariable) DaoFactory.getBpmnVariableDaoImpl().get(variableView.getId());
367
        persistent.setName(variableView.getName());
368
        persistent.setType(variableView.getType());
369
 
370
        AbstractDao.getCurrentSession().getTransaction().commit();
371
 
372
        //return actorPoolJson;
373
        return true;
374
    }
375
 
376
 
377
 
1785 jmachado 378
    public boolean removeActorPool(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
1781 jmachado 379
    {
1785 jmachado 380
        //TODO NO SERVICO QUANDO HOUVER CHECK PROCESSOS ABERTOS INSTANCIAS
1781 jmachado 381
 
382
        1.5.0/docs/api/java/lang/Long.html">Long poolId = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("poolId"));
383
 
1785 jmachado 384
 
1781 jmachado 385
        AbstractDao.getCurrentSession().beginTransaction();
386
 
387
 
1785 jmachado 388
        BpmnActorPool actorPool = DaoFactory.getBpmnActorPoolDaoImpl().get(poolId);
1781 jmachado 389
 
1785 jmachado 390
        logger.warn("Removing bpmn pool: " + poolId + " " + actorPool.getName() + " from process " + actorPool.getProcess().getId() + " " + actorPool.getProcess().getName());
391
        if(actorPool.getFlowComponents().size() > 0)
392
        {
393
            addErrorAsString(request,"Não pode remover uma pool com componentes de fluxo associados, remova os componentes primeiro");
394
            AbstractDao.getCurrentSession().getTransaction().rollback();
395
        }
396
        else
397
        {
398
            DaoFactory.getBpmnActorPoolDaoImpl().delete(actorPool);
399
            AbstractDao.getCurrentSession().getTransaction().commit();
400
        }
1781 jmachado 401
 
402
 
403
 
1785 jmachado 404
        return true;
1781 jmachado 405
    }
406
 
407
    public boolean removeTask(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
408
    {
1782 jmachado 409
        //TODO NO SERVICO QUANDO HOUVER CHECK PROCESSOS ABERTOS INSTANCIAS nao deixar apagar
1781 jmachado 410
 
411
        1.5.0/docs/api/java/lang/Long.html">Long poolId = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("poolId"));
412
        1.5.0/docs/api/java/lang/Long.html">Long taskId = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("taskId"));
413
 
414
        AbstractDao.getCurrentSession().beginTransaction();
415
 
416
        BpmnActorPoolImpl poolPersistent = (BpmnActorPoolImpl) DaoFactory.getBpmnActorPoolDaoImpl().get(poolId);
417
        BpmnFlowComponentTask taskPersistent = DaoFactory.getBpmnFlowComponentTaskDaoImpl().get(taskId);
1782 jmachado 418
 
419
        List<BpmnFlowConnector> cons =
420
                AbstractDao.getCurrentSession()
421
                        .createCriteria(BpmnFlowConnector.class)
422
                        .add(eq("flowComponent.id", taskId))
423
                        .list();
424
        if(cons.size() > 0)
425
        {
1785 jmachado 426
            addErrorAsString(request,"Nao pode apagar esta Tarefa porque existe um connector a apontar para ela: " + cons.get(0).getNameConnection());
1782 jmachado 427
            return false;
428
        }
429
 
430
        logger.warn("Removing bpmn task: " + taskPersistent.getId() + " " + taskPersistent.getTitle() + " from pool " + poolPersistent.getId() + " " + poolPersistent.getName() + " from process " + poolPersistent.getProcess().getId() + " " + poolPersistent.getProcess().getName());
1781 jmachado 431
        if(taskPersistent.getFlowConnectors() != null)
432
        {
433
            Iterator<BpmnFlowConnector> iter = taskPersistent.getFlowConnectors().iterator();
434
            while(iter.hasNext())
435
            {
436
                BpmnFlowConnector con = iter.next();
437
                logger.warn("Removing bpmn connector: " + con.getId() + " " + con.getNameConnection() + ":" + con.getKeyValue() );
438
                iter.remove();
1782 jmachado 439
                DaoFactory.getBpmnFlowConnectorDaoImpl().delete(con);
1781 jmachado 440
            }
441
        }
442
 
443
        poolPersistent.getFlowComponents().remove(taskPersistent);
444
        DaoFactory.getBpmnFlowComponentTaskDaoImpl().delete(taskPersistent);
445
 
446
        AbstractDao.getCurrentSession().getTransaction().commit();
447
 
448
        return true;
449
    }
1782 jmachado 450
    public boolean removeConnector(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable
451
    {
452
        //TODO NO SERVICO QUANDO HOUVER CHECK PROCESSOS ABERTOS INSTANCIAS
1781 jmachado 453
 
1782 jmachado 454
 
455
        1.5.0/docs/api/java/lang/Long.html">Long taskId = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("taskId"));
456
        1.5.0/docs/api/java/lang/Long.html">Long connectorId = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong(request.getParameter("connectorId"));
457
 
458
        AbstractDao.getCurrentSession().beginTransaction();
459
 
460
 
461
        BpmnFlowComponentTask taskPersistent = DaoFactory.getBpmnFlowComponentTaskDaoImpl().get(taskId);
462
        BpmnActorPoolImpl poolPersistent = taskPersistent.getActorPool();
463
        BpmnFlowConnector connectorPersistent = DaoFactory.getBpmnFlowConnectorDaoImpl().get(connectorId);
464
 
465
        logger.warn("Removing bpmn connector: " + connectorId + " " + connectorPersistent.getNameConnection() + ":" + connectorPersistent.getKeyValue() + " from task: " + taskPersistent.getId() + " " + taskPersistent.getTitle() + " from pool " + poolPersistent.getId() + " " + poolPersistent.getName() + " from process " +  poolPersistent.getProcess().getId() + " " + poolPersistent.getProcess().getName());
466
        taskPersistent.getFlowConnectors().remove(connectorPersistent);
467
        DaoFactory.getBpmnFlowConnectorDaoImpl().delete(connectorPersistent);
468
 
469
        AbstractDao.getCurrentSession().getTransaction().commit();
470
 
471
        return true;
472
    }
473
 
1775 jmachado 474
}