From: <gun...@us...> - 2006-08-07 10:25:32
|
Revision: 18 Author: gunterze Date: 2006-08-07 03:25:14 -0700 (Mon, 07 Aug 2006) ViewCVS: http://svn.sourceforge.net/dcm4che/?rev=18&view=rev Log Message: ----------- add date/time range filter and paging Modified Paths: -------------- dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/.classpath dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/pom.xml dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditRecord.java dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditRecordHandler.java dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditRecordList.java dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditRecordListAction.java dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditSource.java dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/ReceiverMDB.java Modified: dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/.classpath =================================================================== --- dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/.classpath 2006-08-02 17:28:01 UTC (rev 17) +++ dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/.classpath 2006-08-07 10:25:14 UTC (rev 18) @@ -12,5 +12,7 @@ <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.0/slf4j-log4j12-1.0.jar"/> <classpathentry kind="var" path="M2_REPO/jboss/ejb3-persistence/4.0.4.GA/ejb3-persistence-4.0.4.GA.jar"/> <classpathentry kind="var" path="M2_REPO/jboss/jboss-seam/1.0.1.GA/jboss-seam-1.0.1.GA.jar"/> + <classpathentry kind="var" path="M2_REPO/myfaces/myfaces-api/1.1.3/myfaces-api-1.1.3.jar"/> + <classpathentry kind="var" path="M2_REPO/hibernate/hibernate-annotations/3.2.0.CR1/hibernate-annotations-3.2.0.CR1.jar"/> <classpathentry kind="output" path="target/classes"/> </classpath> Modified: dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/pom.xml =================================================================== --- dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/pom.xml 2006-08-02 17:28:01 UTC (rev 17) +++ dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/pom.xml 2006-08-07 10:25:14 UTC (rev 18) @@ -15,6 +15,7 @@ <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.0</version> + <scope>provided</scope> </dependency> <dependency> <groupId>jboss</groupId> @@ -45,6 +46,18 @@ <artifactId>jboss-seam</artifactId> <version>1.0.1.GA</version> </dependency> + <dependency> + <groupId>myfaces</groupId> + <artifactId>myfaces-api</artifactId> + <version>1.1.3</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>hibernate</groupId> + <artifactId>hibernate-annotations</artifactId> + <version>3.2.0.CR1</version> + <scope>provided</scope> + </dependency> </dependencies> <build> <finalName>dcm4chee-arr-${db}-${version}</finalName> Modified: dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditRecord.java =================================================================== --- dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditRecord.java 2006-08-02 17:28:01 UTC (rev 17) +++ dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditRecord.java 2006-08-07 10:25:14 UTC (rev 18) @@ -41,6 +41,7 @@ import java.io.Serializable; import java.util.Collection; import java.util.Date; +import java.util.Iterator; import javax.persistence.Basic; import javax.persistence.CascadeType; @@ -57,12 +58,11 @@ import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; -import javax.persistence.Transient; -import org.dcm4chee.arr.util.XSLTUtils; import org.jboss.seam.ScopeType; import org.jboss.seam.annotations.Name; import org.jboss.seam.annotations.Scope; +import org.jboss.seam.annotations.Transactional; /** * @author gunter zeilinger(gun...@gm...) @@ -80,10 +80,12 @@ private String eventActionCode; private int eventOutcomeIndicator; private Date eventDateTime; + private Date receiveDateTime; private Collection<Code> eventTypeCode; private Collection<ActiveParticipant> activeParticipant; private Collection<AuditSource> auditSource; private Collection<ParticipantObject> participantObject; + private boolean iheYr4; private byte[] xmldata; @Id @@ -104,8 +106,7 @@ public void setEventID(Code eventID) { this.eventID = eventID; - } - + } @ManyToMany(targetEntity=Code.class) @JoinTable( @@ -120,6 +121,25 @@ this.eventTypeCode = eventTypeCode; } + @Transactional + public String getSummary() { + String id = eventID.getMeaning(); + if (eventTypeCode == null || eventTypeCode.isEmpty()) { + return id; + } + StringBuffer sb = new StringBuffer(id); + sb.append(" : "); + for (Iterator iter = eventTypeCode.iterator(); iter.hasNext();) { + Code code = (Code) iter.next(); + sb.append(code.getMeaning()).append(", "); + } + sb.setLength(sb.length() - 2); + return sb.toString(); + } + + @Transactional + public void setSummary(String s) {} + @OneToMany(cascade = CascadeType.ALL, mappedBy="auditRecord") public Collection<ActiveParticipant> getActiveParticipant() { return activeParticipant; @@ -155,7 +175,7 @@ public void setEventActionCode(String eventActionCode) { this.eventActionCode = eventActionCode; } - + @Column(name = "event_outcome") public int getEventOutcomeIndicator() { return eventOutcomeIndicator; @@ -164,17 +184,36 @@ public void setEventOutcomeIndicator(int eventOutcomeIndicator) { this.eventOutcomeIndicator = eventOutcomeIndicator; } - + @Basic @Temporal(TemporalType.TIMESTAMP) @Column(name = "event_date_time") public Date getEventDateTime() { return eventDateTime; } - public void setEventDateTime(Date eventDateTime) { - this.eventDateTime = eventDateTime; + public void setEventDateTime(Date dt) { + this.eventDateTime = dt; } + @Basic @Temporal(TemporalType.TIMESTAMP) + @Column(name = "receive_date_time") + public Date getReceiveDateTime() { + return receiveDateTime; + } + + public void setReceiveDateTime(Date dt) { + this.receiveDateTime = dt; + } + + @Column(name = "iheyr4") + public boolean isIHEYr4() { + return iheYr4; + } + + public void setIHEYr4(boolean iheYr4) { + this.iheYr4 = iheYr4; + } + @Lob @Column(name = "xmldata") public byte[] getXmldata() { @@ -184,10 +223,4 @@ public void setXmldata(byte[] xmldata) { this.xmldata = xmldata; } - - @Transient - public String getXml() { - return XSLTUtils.toXML(xmldata); - } - } Modified: dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditRecordHandler.java =================================================================== --- dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditRecordHandler.java 2006-08-02 17:28:01 UTC (rev 17) +++ dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditRecordHandler.java 2006-08-07 10:25:14 UTC (rev 18) @@ -67,6 +67,7 @@ private AuditRecord rec; private ActiveParticipant ap; private AuditSource as; + private int asTypeCount; private ParticipantObject po; private StringBuffer sb = new StringBuffer(64); private boolean append; @@ -83,6 +84,7 @@ rec = null; ap = null; as = null; + asTypeCount = 0; po = null; sb.setLength(0); append = false; @@ -160,11 +162,11 @@ private void activeParticipant(Attributes attrs) { ap = new ActiveParticipant(); ap.setAuditRecord(rec); - ap.setUserID(attrs.getValue("UserID")); - ap.setAlternativeUserID(attrs.getValue("AlternativeUserID")); - ap.setUserName(attrs.getValue("UserName")); + ap.setUserID(toUpper(attrs.getValue("UserID"))); + ap.setAlternativeUserID(toUpper(attrs.getValue("AlternativeUserID"))); + ap.setUserName(toUpper(attrs.getValue("UserName"))); ap.setRequestor(!isFalse(attrs.getValue("UserIsRequestor"))); - ap.setNetworkAccessPointID(attrs.getValue("NetworkAccessPointID")); + ap.setNetworkAccessPointID(toUpper(attrs.getValue("NetworkAccessPointID"))); ap.setNetworkAccessPointType(parseInt(attrs .getValue("NetworkAccessPointTypeCode"))); Collection<ActiveParticipant> c = rec.getActiveParticipant(); @@ -191,8 +193,8 @@ private void auditSourceIdentification(Attributes attrs) { as = new AuditSource(); as.setAuditRecord(rec); - as.setAuditEnterpriseSiteID(attrs.getValue("AuditEnterpriseSiteID")); - as.setAuditSourceID(attrs.getValue("AuditSourceID")); + as.setEnterpriseSiteID(toUpper(attrs.getValue("AuditEnterpriseSiteID"))); + as.setSourceID(toUpper(attrs.getValue("AuditSourceID"))); Collection<AuditSource> c = rec.getAuditSource(); if (c == null) { c = new ArrayList<AuditSource>(3); @@ -202,26 +204,38 @@ } private void auditSourceTypeCode(Attributes attrs) { - as.setAuditSourceTypeCode(parseInt(attrs.getValue("code"))); + int code = parseInt(attrs.getValue("code")); + switch (++asTypeCount) { + case 1: + as.setSourceTypeCode(code); + break; + case 2: + as.setSourceTypeCode2(code); + break; + case 3: + as.setSourceTypeCode3(code); + break; + } } private void auditSourceIdentification() { as = null; + asTypeCount = 0; } private void participantObjectIdentification(Attributes attrs) { po = new ParticipantObject(); po.setAuditRecord(rec); - po.setParticipantObjectID(attrs.getValue("ParticipantObjectID")); + po.setParticipantObjectID(toUpper(attrs.getValue("ParticipantObjectID"))); po.setParticipantObjectTypeCode(parseInt(attrs .getValue("ParticipantObjectTypeCode"))); po.setParticipantObjectTypeCodeRole(parseInt(attrs .getValue("ParticipantObjectTypeCodeRole"))); po.setParticipantObjectDataLifeCycle(parseInt(attrs .getValue("ParticipantObjectDataLifeCycle"))); - po.setParticipantObjectSensitivity(attrs - .getValue("ParticipantObjectSensitivity")); - po.setParticipantObjectName(attrs.getValue("ParticipantObjectName")); + po.setParticipantObjectSensitivity(toUpper(attrs + .getValue("ParticipantObjectSensitivity"))); + po.setParticipantObjectName(toUpper(attrs.getValue("ParticipantObjectName"))); Collection<ParticipantObject> c = rec.getParticipantObject(); if (c == null) { c = new ArrayList<ParticipantObject>(3); @@ -246,7 +260,7 @@ } private void participantObjectName() { - po.setParticipantObjectName(sb.toString()); + po.setParticipantObjectName(toUpper(sb.toString())); sb.setLength(0); append = false; } @@ -263,7 +277,7 @@ } String meaning = attrs.getValue("displayName"); List queryResult = em.createQuery( - "from Code c where c.value = :value and c.designator = :designator") + "FROM Code c WHERE c.value = :value AND c.designator = :designator") .setParameter("value", value) .setParameter("designator", designator) .setHint("org.hibernate.readOnly", Boolean.TRUE) @@ -279,6 +293,10 @@ return code; } + private String toUpper(String s) { + return s != null ? s.toUpperCase() : null; + } + private int parseInt(String s) { return s != null ? Integer.parseInt(s) : 0; } Modified: dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditRecordList.java =================================================================== --- dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditRecordList.java 2006-08-02 17:28:01 UTC (rev 17) +++ dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditRecordList.java 2006-08-07 10:25:14 UTC (rev 18) @@ -1,7 +1,7 @@ /* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * - * The contents of this file are subject to the Mozilla Public License Version + * The contents of this file are subject to the Mozilla License Version * 1.1 (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.mozilla.org/MPL/ @@ -23,8 +23,8 @@ * See listed authors below. * * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * either the GNU General License Version 2 or later (the "GPL"), or + * the GNU Lesser General License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to @@ -45,10 +45,54 @@ * @since 29.07.2006 */ @Local -public interface AuditRecordList { +interface AuditRecordList { + int getPageSize(); + void setPageSize(int pageSize); + + int getCurPage(); + int getMaxPage(); + int getCount(); + int getFirstResult(); + + boolean isOrderByEventDateTime(); + void setOrderByEventDateTime(boolean enable); + + String getDateTimeRange(); + void setDateTimeRange(String dt); + + String[] getEventIDs(); + void setEventIDs(String[] ids); + + + String[] getEventTypes(); + void setEventTypes(String[] types); + + String[] getEventActions(); + void setEventActions(String[] actions); + + Integer[] getEventOutcomes(); + void setEventOutcomes(Integer[] outcomes); + + String getEnterpriseSiteID(); + void setEnterpriseSiteID(String id); + + String getSourceID(); + void setSourceID(String id); + + Integer[] getSourceTypes(); + void setSourceTypes(Integer[] types); + void find(); + void selectPage(); + void select(); + boolean isShowAsXml(); + void showAsXml(); + void showAsHtml(); + + String getInfo(); + void destroy(); } Modified: dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditRecordListAction.java =================================================================== --- dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditRecordListAction.java 2006-08-02 17:28:01 UTC (rev 17) +++ dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditRecordListAction.java 2006-08-07 10:25:14 UTC (rev 18) @@ -37,6 +37,10 @@ * ***** END LICENSE BLOCK ***** */ package org.dcm4chee.arr.ejb; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; import java.util.List; import javax.ejb.Remove; @@ -44,15 +48,19 @@ import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.PersistenceContextType; +import javax.persistence.TemporalType; +import org.dcm4chee.arr.util.XSLTUtils; import org.jboss.seam.ScopeType; import org.jboss.seam.annotations.Destroy; import org.jboss.seam.annotations.Factory; import org.jboss.seam.annotations.Name; -import org.jboss.seam.annotations.Out; +import org.jboss.seam.annotations.RequestParameter; import org.jboss.seam.annotations.Scope; import org.jboss.seam.annotations.datamodel.DataModel; import org.jboss.seam.annotations.datamodel.DataModelSelection; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @author Gunter Zeilinger <gun...@gm...> @@ -63,6 +71,17 @@ @Name("auditRecordList") @Scope(ScopeType.SESSION) public class AuditRecordListAction implements AuditRecordList { + + private static final int FROM_POS = 16; + private static final String DATE_FORMAT = "yyyy-MM-dd"; + private static final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; + private static final int YEAR = 4; + private static final int MONTH = 7; + private static final int DAY_OF_MONTH = 10; + private static final int HOUR_OF_DAY = 13; + private static final int MINUTE = 16; + private static final int SECOND = 19; + private Logger log = LoggerFactory.getLogger(AuditRecordList.class); @PersistenceContext(type=PersistenceContextType.EXTENDED) private EntityManager em; @@ -71,18 +90,224 @@ private List<AuditRecord> records; @DataModelSelection - @Out(required=false) - private AuditRecord selectedRecord; + private AuditRecord selected; + + @RequestParameter + private Integer page; + + private int curPage = 1; + private int pageSize = 20; + private int count = 0; + private boolean showAsXml = false; + private boolean orderByEventDateTime = false; + + private String dateTimeRange = today(); + private String[] eventIDs = { "" }; + private String[] eventTypes = { "" }; + private String[] eventActions = { "" }; + private Integer[] eventOutcomes = { -1 }; + + private String enterpriseSiteID = ""; + private String sourceID = ""; + private Integer[] sourceTypes = { -1 }; + + public int getPageSize() { + return pageSize; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + public int getCount() { + return count; + } + + public int getCurPage() { + return curPage; + } + + public int getMaxPage() { + return (count-1) / pageSize + 1; + } + + public int getFirstResult() { + return (curPage-1) * pageSize; + } + + private static String today() { + return new SimpleDateFormat(DATE_FORMAT).format(new Date()); + } + + public String getDateTimeRange() { + return dateTimeRange; + } + + public void setDateTimeRange(String dt) { + this.dateTimeRange = dt; + } + + public boolean isOrderByEventDateTime() { + return orderByEventDateTime; + } + + public void setOrderByEventDateTime(boolean enable) { + this.orderByEventDateTime = enable; + } + + public String[] getEventIDs() { + return eventIDs; + } + + public void setEventIDs(String[] ids) { + this.eventIDs = ids; + } + public String[] getEventTypes() { + return eventTypes; + } + + public void setEventTypes(String[] types) { + this.eventTypes = types; + } + + public String[] getEventActions() { + return eventActions; + } + + public void setEventActions(String[] actions) { + this.eventActions = actions; + } + + public Integer[] getEventOutcomes() { + return eventOutcomes; + } + + public void setEventOutcomes(Integer[] outcomes) { + this.eventOutcomes = outcomes; + } + + public String getEnterpriseSiteID() { + return enterpriseSiteID; + } + + public void setEnterpriseSiteID(String id) { + this.enterpriseSiteID = id; + } + + public String getSourceID() { + return sourceID; + } + + public void setSourceID(String id) { + this.sourceID = id; + } + + public Integer[] getSourceTypes() { + return sourceTypes; + } + + public void setSourceTypes(Integer[] sourceTypes) { + this.sourceTypes = sourceTypes; + } + @Factory("records") public void find() { - records = em.createQuery("from AuditRecord") - .setHint("org.hibernate.readOnly", Boolean.TRUE) - .getResultList(); + curPage = 1; + updateResults(); } + public void selectPage() { + curPage = page; + updateResults(); + } + + private void updateResults() { + Date[] dtRange; + try { + dtRange = parseDateTimeRange(); + } catch (Exception e) { + dateTimeRange = today(); + try { + dtRange = parseDateTimeRange(); + } catch (Exception e1) { + throw new RuntimeException(e1); + } + } + StringBuffer query = new StringBuffer("SELECT COUNT(*) FROM AuditRecord r WHERE "); + query.append(orderByEventDateTime ? "r.eventDateTime" : "r.receiveDateTime"); + query.append(" BETWEEN :from AND :to"); + count = ((Long) em.createQuery(query.toString()) + .setParameter("from", dtRange[0], TemporalType.TIMESTAMP) + .setParameter("to", dtRange[1], TemporalType.TIMESTAMP) + .getSingleResult()).intValue(); + query.append(" ORDER BY "); + if (orderByEventDateTime) { + query.append("r.eventDateTime DESC, "); + } + query.append("r.pk DESC"); + records = em.createQuery(query.substring(FROM_POS)) + .setParameter("from", dtRange[0], TemporalType.TIMESTAMP) + .setParameter("to", dtRange[1], TemporalType.TIMESTAMP) + .setFirstResult(getFirstResult()) + .setMaxResults(pageSize) + .setHint("org.hibernate.readOnly", Boolean.TRUE) + .getResultList(); + log.info("Found {} records", count); + } + + private Date[] parseDateTimeRange() throws ParseException { + int dtlen = dateTimeRange.length(); + if (dtlen < YEAR) { + throw new ParseException("Missing year", dtlen); + } + String dtformat = DATE_TIME_FORMAT.substring(0, dtlen); + Date[] dtRange = new Date[2]; + dtRange[0] = new SimpleDateFormat(dtformat).parse(dateTimeRange); + Calendar cal = Calendar.getInstance(); + cal.setTime(dtRange[0]); + cal.set(Calendar.MILLISECOND, 999); + if (dtlen < SECOND) { + cal.set(Calendar.SECOND, 59); + if (dtlen < MINUTE) { + cal.set(Calendar.MINUTE, 59); + if (dtlen < HOUR_OF_DAY) { + cal.set(Calendar.HOUR_OF_DAY, 23); + if (dtlen < DAY_OF_MONTH) { + if (dtlen < MONTH) { + cal.set(Calendar.MONTH, 11); + } + cal.add(Calendar.MONTH, 1); + cal.add(Calendar.DAY_OF_MONTH, -1); + } + } + } + } + dtRange[1] = cal.getTime(); + return dtRange; + } + public void select() {} + + public boolean isShowAsXml() { + return showAsXml; + } + public void showAsXml() { + showAsXml = true; + } + + public void showAsHtml() { + showAsXml = false; + } + + public String getInfo() { + if (selected == null) { + return "No Record selected"; + } + return showAsXml ? XSLTUtils.toXML(selected.getXmldata()) : "<b>TO DO</b>"; + } + @Destroy @Remove public void destroy() {} Modified: dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditSource.java =================================================================== --- dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditSource.java 2006-08-02 17:28:01 UTC (rev 17) +++ dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/AuditSource.java 2006-08-07 10:25:14 UTC (rev 18) @@ -59,9 +59,11 @@ public class AuditSource implements Serializable { private int pk; private AuditRecord auditRecord; - private String auditEnterpriseSiteID; - private String auditSourceID; - private int auditSourceTypeCode; + private String enterpriseSiteID; + private String sourceID; + private int sourceTypeCode; + private int sourceTypeCode2; + private int sourceTypeCode3; @Id @GeneratedValue @@ -84,30 +86,49 @@ this.auditRecord = auditRecord; } - @Column(name = "audit_site_id") - public String getAuditEnterpriseSiteID() { - return auditEnterpriseSiteID; + @Column(name = "site_id") + public String getEnterpriseSiteID() { + return enterpriseSiteID; } - public void setAuditEnterpriseSiteID(String auditEnterpriseSiteID) { - this.auditEnterpriseSiteID = auditEnterpriseSiteID; + public void setEnterpriseSiteID(String auditEnterpriseSiteID) { + this.enterpriseSiteID = auditEnterpriseSiteID; } - @Column(name = "audit_source_id") - public String getAuditSourceID() { - return auditSourceID; + @Column(name = "source_id") + public String getSourceID() { + return sourceID; } - public void setAuditSourceID(String auditSourceID) { - this.auditSourceID = auditSourceID; + public void setSourceID(String auditSourceID) { + this.sourceID = auditSourceID; } - @Column(name = "audit_source_type") - public int getAuditSourceTypeCode() { - return auditSourceTypeCode; + @Column(name = "source_type") + public int getSourceTypeCode() { + return sourceTypeCode; } - public void setAuditSourceTypeCode(int auditSourceTypeCode) { - this.auditSourceTypeCode = auditSourceTypeCode; + public void setSourceTypeCode(int typeCode) { + this.sourceTypeCode = typeCode; } + + @Column(name = "source_type2") + public int getSourceTypeCode2() { + return sourceTypeCode2; + } + + public void setSourceTypeCode2(int typeCode) { + this.sourceTypeCode2 = typeCode; + } + + + @Column(name = "source_type3") + public int getSourceTypeCode3() { + return sourceTypeCode3; + } + + public void setSourceTypeCode3(int typeCode) { + this.sourceTypeCode3 = typeCode; + } } Modified: dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/ReceiverMDB.java =================================================================== --- dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/ReceiverMDB.java 2006-08-02 17:28:01 UTC (rev 17) +++ dcm4chee/dcm4chee-arr/trunc/dcm4chee-arr-ejb/src/main/java/org/dcm4chee/arr/ejb/ReceiverMDB.java 2006-08-07 10:25:14 UTC (rev 18) @@ -39,6 +39,7 @@ import java.io.ByteArrayInputStream; import java.io.IOException; +import java.util.Date; import javax.ejb.ActivationConfigProperty; import javax.ejb.MessageDriven; @@ -103,6 +104,8 @@ AuditMessageUtils.promptMsg(xmldata)); } AuditRecord rec = new AuditRecord(); + rec.setReceiveDateTime(new Date(msg.getJMSTimestamp())); + rec.setIHEYr4(AuditMessageUtils.isIHEYr4(xmldata)); rec.setXmldata(xmldata); parse(xmldata, rec); em.persist(rec); @@ -125,7 +128,7 @@ try { handler.setAuditRecord(rec); ByteArrayInputStream is = new ByteArrayInputStream(xmldata); - if (AuditMessageUtils.isIHEYr4(xmldata)) { + if (rec.isIHEYr4()) { xslt(is); } else { parse(is); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |