/*
* 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.dao.jpa;
import org.apache.ode.bpel.dao.FaultDAO;
import org.apache.ode.utils.DOMUtils;
import org.w3c.dom.Element;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.xml.namespace.QName;
@Entity
@Table(name="ODE_FAULT")
@NamedQueries({
@NamedQuery(name=FaultDAOImpl.DELETE_FAULTS_BY_IDS, query="delete from FaultDAOImpl as f where f._id in(:ids)")
})
public class FaultDAOImpl implements FaultDAO {
public final static String DELETE_FAULTS_BY_IDS = "DELETE_FAULTS_BY_IDS";
@Id @Column(name="FAULT_ID")
@GeneratedValue(strategy=GenerationType.AUTO)
@SuppressWarnings("unused")
private Long _id;
@Basic @Column(name="NAME")
private String _name;
@Basic @Column(name="MESSAGE", length=4000)
private String _explanation;
@Lob @Column(name="DATA")
private String _data;
@Basic @Column(name="LINE_NUMBER")
private int _lineNo;
@Basic @Column(name="ACTIVITY_ID")
private int _activityId;
public FaultDAOImpl() {}
public FaultDAOImpl(QName faultName, String explanation, int faultLineNo,
int activityId, Element faultMessage) {
_name = faultName.toString();
_explanation = explanation;
_lineNo = faultLineNo;
_activityId = activityId;
_data = (faultMessage == null)?null:DOMUtils.domToString(faultMessage);
}
public int getActivityId() {
return _activityId;
}
public Element getData() {
Element ret = null;
try {
ret = (_data == null)?null:DOMUtils.stringToDOM(_data);
} catch (Exception e) {
throw new RuntimeException(e);
}
return ret;
}
public String getExplanation() {
return _explanation;
}
public int getLineNo() {
return _lineNo;
}
public QName getName() {
return _name == null ? null : QName.valueOf(_name);
}
}