scopedaoimpl.java

来自「bpel执行引擎用来执行bpel业务流程」· Java 代码 · 共 178 行

JAVA
178
字号
/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements.  See the NOTICE file * distributed with this work for additional information * regarding copyright ownership.  The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License.  You may obtain a copy of the License at * *    http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied.  See the License for the * specific language governing permissions and limitations * under the License. */package org.apache.ode.bpel.memdao;import org.apache.ode.bpel.dao.CorrelationSetDAO;import org.apache.ode.bpel.dao.PartnerLinkDAO;import org.apache.ode.bpel.dao.ScopeDAO;import org.apache.ode.bpel.dao.ScopeStateEnum;import org.apache.ode.bpel.dao.XmlDataDAO;import org.apache.ode.bpel.evt.BpelEvent;import java.util.ArrayList;import java.util.Collection;import java.util.HashMap;import java.util.List;import java.util.Map;/** * A very simple, in-memory implementation of the {@link ScopeDAO} interface. */class ScopeDaoImpl extends DaoBaseImpl implements ScopeDAO {    private String _type;    private ScopeStateEnum _state;    private Map<String, XmlDataDAO> _variables = new HashMap<String, XmlDataDAO>();    private Map<String, CorrelationSetDAO> _correlations = new HashMap<String, CorrelationSetDAO>();    private Map<Integer, PartnerLinkDAO> _eprs = new HashMap<Integer, PartnerLinkDAO>();    private ProcessInstanceDaoImpl _processInstance;    private org.apache.ode.bpel.dao.ScopeDAO _parent;    private Long _instanceId;    private int _scopeModelId;    /**     * Constructor.     * @param owner process instance owner     * @param parent scope parent     * @param type scope type (name)     * @param scopeModelId     */    public ScopeDaoImpl(ProcessInstanceDaoImpl owner, ScopeDAO parent, String type, int scopeModelId) {        _processInstance = owner;        _parent = parent;        _type = type;        _instanceId = IdGen.newScopeId();        _scopeModelId = scopeModelId;    }    /**     * @see org.apache.ode.bpel.dao.ScopeDAO#getCorrelationSet(java.lang.String)     */    public CorrelationSetDAO getCorrelationSet(String corrSetName) {        CorrelationSetDAO corr = _correlations.get(corrSetName);        if (corr == null) {            corr = new CorrelationSetDaoImpl(corrSetName, this);            _correlations.put(corrSetName, corr);        }        return corr;    }    /**     * @see org.apache.ode.bpel.dao.ScopeDAO#getParentScope()     */    public org.apache.ode.bpel.dao.ScopeDAO getParentScope() {        return _parent;    }    /**     * @see org.apache.ode.bpel.dao.ScopeDAO#getProcessInstance()     */    public org.apache.ode.bpel.dao.ProcessInstanceDAO getProcessInstance() {        return _processInstance;    }    /**     * @see org.apache.ode.bpel.dao.ScopeDAO#setState(org.apache.ode.bpel.dao.ScopeStateEnum)     */    public void setState(org.apache.ode.bpel.dao.ScopeStateEnum state) {        _state = state;    }    /**     * @see org.apache.ode.bpel.dao.ScopeDAO#getState()     */    public org.apache.ode.bpel.dao.ScopeStateEnum getState() {        return _state;    }    /**     * @see org.apache.ode.bpel.dao.ScopeDAO#getName()     */    public String getName() {        return _type;    }    /**     * @see org.apache.ode.bpel.dao.ScopeDAO#getVariable(java.lang.String)     */    public XmlDataDAO getVariable(String varName) {        XmlDataDAO v = _variables.get(varName);        if (v == null) {            v = new XmlDataDaoImpl(this,varName);            _variables.put(varName, v);        }        return v;    }    public Collection<CorrelationSetDAO> getCorrelationSets() {        return _correlations.values();    }    /**     * @see org.apache.ode.bpel.dao.ScopeDAO#getScopeInstanceId()     */    public Long getScopeInstanceId() {        return _instanceId;    }    /**     * @see org.apache.ode.bpel.dao.ScopeDAO#getModelId()     */    public int getModelId() {        return _scopeModelId;    }    public Collection<ScopeDAO> getChildScopes() {        // TODO Auto-generated method stub        throw new UnsupportedOperationException();    }    public Collection<XmlDataDAO> getVariables() {        return _variables.values();    }    public List<BpelEvent> listEvents() {        // TODO: provide a better implementation.        return new ArrayList<BpelEvent>();    }    public PartnerLinkDAO createPartnerLink(int plinkModelId, String pLinkName, String myRole, String partnerRole) {        PartnerLinkDAOImpl eprImpl = new PartnerLinkDAOImpl();        eprImpl.setPartnerLinkModelId(plinkModelId);        eprImpl.setPartnerLinkName(pLinkName);        eprImpl.setMyRoleName(myRole);        eprImpl.setPartnerRoleName(partnerRole);        _eprs.put(plinkModelId, eprImpl);        return eprImpl;    }    public PartnerLinkDAO getPartnerLink(int modelId) {        return _eprs.get(modelId);    }    public Collection<PartnerLinkDAO> getPartnerLinks() {        return _eprs.values();    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?