All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.yaoqiang.bpmn.editor.dialog.panels.ParticipantRefPanel Maven / Gradle / Ivy

package org.yaoqiang.bpmn.editor.dialog.panels;

import java.util.List;

import org.yaoqiang.bpmn.editor.dialog.XMLComboPanel;
import org.yaoqiang.bpmn.editor.dialog.BPMNPanelContainer;
import org.yaoqiang.bpmn.editor.dialog.XMLPanel;
import org.yaoqiang.bpmn.model.BPMNModelUtils;
import org.yaoqiang.bpmn.model.elements.XMLElement;
import org.yaoqiang.bpmn.model.elements.XMLTextElement;
import org.yaoqiang.bpmn.model.elements.core.common.PartnerEntity;
import org.yaoqiang.bpmn.model.elements.core.common.PartnerRole;

/**
 * ParticipantRefPanel
 * 
 * @author Shi Yaoqiang([email protected])
 */
public class ParticipantRefPanel extends XMLPanel {

	private static final long serialVersionUID = 1L;

	protected XMLComboPanel partPanel;

	public ParticipantRefPanel(BPMNPanelContainer pc, XMLTextElement owner) {
		super(pc, owner);
		XMLElement chn = BPMNModelUtils.getDefinitions(owner).getParticipant(owner.toValue());
		List choices = BPMNModelUtils.getDefinitions(owner).getParticipants();
		List refList = null;
		XMLElement parent = owner.getParent().getParent();
		if (parent instanceof PartnerEntity) {
			refList = ((PartnerEntity) parent).getRefParticipantList();
		} else if (parent instanceof PartnerRole) {
			refList = ((PartnerRole) parent).getRefParticipantList();
		}
		choices.removeAll(refList);
		if (refList.contains(chn)) {
			choices.add(chn);
		}
		partPanel = new XMLComboPanel(pc, owner, null, choices, false, false, true);
		this.add(partPanel);
	}

	public void saveObjects() {
		partPanel.saveObjects();
		if (!partPanel.isEmpty()) {
			super.saveObjects();
		}
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy