/* * @(#)domain_model_workflow_2.dml * * Copyright 2009 Instituto Superior Tecnico * Founding Authors: João Figueiredo, Luis Cruz, Paulo Abrantes, Susana Fernandes * * https://fenix-ashes.ist.utl.pt/ * * This file is part of the MyOrg web application infrastructure. * * MyOrg is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published * by the Free Software Foundation, either version 3 of the License, or * (at your option) any later version.* * * MyOrg 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 Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with MyOrg. If not, see . * */ class module.workflow.domain.ProcessDirNode { } class module.workflow.domain.ProcessFile extends .pt.ist.fenixframework.plugins.fileSupport.domain.GenericFile { } class module.workflow.domain.AbstractWFDocsGroup extends .pt.ist.bennu.core.domain.groups.PersistentGroup { } class module.workflow.domain.WFDocsDefaultReadGroup extends module.workflow.domain.AbstractWFDocsGroup { } class module.workflow.domain.WFDocsDefaultWriteGroup extends module.workflow.domain.WFDocsDefaultReadGroup { } //R1 - remove relation relation WorkflowProcessFile { module.workflow.domain.WorkflowProcess playsRole process { multiplicity 0..1; } module.workflow.domain.ProcessFile playsRole files { multiplicity *; } } /* START: Workflow Document relations */ relation ProcessDirNodeDirNode { .module.fileManagement.domain.DirNode playsRole dirNode { multiplicity 1..1; } module.workflow.domain.ProcessDirNode playsRole processDirNode; } relation DocumentProcessFile { //multiplicity 1..1; //For now, let's stick with 0..1 untill all is migrated .module.fileManagement.domain.Document playsRole document; module.workflow.domain.ProcessFile playsRole processDocuments { multiplicity *; } } relation ProcessDirNodeWorkflowProcess { module.workflow.domain.ProcessDirNode playsRole documentsRepository { multiplicity 1..1; } module.workflow.domain.WorkflowProcess playsRole workflowProcess { multiplicity 1..1; } } relation AbstractWFDocsGroup { module.workflow.domain.AbstractWFDocsGroup playsRole processDocumentsPersistentGroups { multiplicity *; } module.workflow.domain.WorkflowProcess playsRole process { multiplicity 1..1; } } /* END: Workflow Document relations */ //R1 - remove relation relation ProcessFileDeletion { module.workflow.domain.WorkflowProcess playsRole processWithDeleteFile; module.workflow.domain.ProcessFile playsRole deletedFiles { multiplicity *; } } relation UserComment { .pt.ist.bennu.core.domain.User playsRole commenter; module.workflow.domain.WorkflowProcessComment playsRole comments { multiplicity *; } } relation UserReadComment { .pt.ist.bennu.core.domain.User playsRole readers { multiplicity *; } module.workflow.domain.WorkflowProcessComment playsRole readComments { multiplicity *; } } relation TakeSupport { .pt.ist.bennu.core.domain.User playsRole currentOwner; module.workflow.domain.WorkflowProcess playsRole userProcesses { multiplicity *; } } relation Observers { module.workflow.domain.WorkflowProcess playsRole observedProcesses { multiplicity *; } .pt.ist.bennu.core.domain.User playsRole observers { multiplicity *; } } relation UserLog { .pt.ist.bennu.core.domain.User playsRole activityExecutor { multiplicity 1..1; } module.workflow.domain.WorkflowLog playsRole userLogs { multiplicity *; } } relation WorkflowUserGroupQueueUser { module.workflow.domain.WorkflowUserGroupQueue playsRole queues { multiplicity *; } .pt.ist.bennu.core.domain.User playsRole users { multiplicity *; } }