2006-09-04 19:12:55 +00:00

596 lines
13 KiB
Java

/*
* Copyright (C) 2005 Alfresco, Inc.
*
* Licensed under the Mozilla Public License version 1.1
* with a permitted attribution clause. You may obtain a
* copy of the License at
*
* http://www.alfresco.org/legal/license.txt
*
* 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.alfresco.repo.audit.hibernate;
import java.util.Date;
import java.util.List;
import org.alfresco.service.cmr.repository.NodeRef;
import org.hibernate.Query;
import org.hibernate.Session;
/**
* An Audit fact Rely on standard equals and hash code as they should all be unique.
*
* @author Andy Hind
*/
public class AuditFactImpl implements AuditFact
{
private long id;
private AuditDate auditDate;
private AuditConfig auditConfig;
private AuditSource auditSource;
private String userId;
private Date date;
private String transactionId;
private String sessionId;
private String storeProtocol;
private String storeId;
private String nodeUUID;
private String path;
private boolean filtered;
private String returnValue;
private String arg1;
private String arg2;
private String arg3;
private String arg4;
private String arg5;
private boolean fail;
private String serialisedURL;
private String exception;
private String hostInetAddress;
private String clientInetAddress;
private String message;
public AuditFactImpl()
{
super();
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getArg1()
*/
public String getArg1()
{
return arg1;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setArg1(java.lang.String)
*/
public void setArg1(String arg1)
{
this.arg1 = arg1;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getArg2()
*/
public String getArg2()
{
return arg2;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setArg2(java.lang.String)
*/
public void setArg2(String arg2)
{
this.arg2 = arg2;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getArg3()
*/
public String getArg3()
{
return arg3;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setArg3(java.lang.String)
*/
public void setArg3(String arg3)
{
this.arg3 = arg3;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getArg4()
*/
public String getArg4()
{
return arg4;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setArg4(java.lang.String)
*/
public void setArg4(String arg4)
{
this.arg4 = arg4;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getArg5()
*/
public String getArg5()
{
return arg5;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setArg5(java.lang.String)
*/
public void setArg5(String arg5)
{
this.arg5 = arg5;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getAuditConfig()
*/
public AuditConfig getAuditConfig()
{
return auditConfig;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setAuditConfig(org.alfresco.repo.audit.hibernate.AuditConfig)
*/
public void setAuditConfig(AuditConfig auditConfig)
{
this.auditConfig = auditConfig;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getAuditDate()
*/
public AuditDate getAuditDate()
{
return auditDate;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setAuditDate(org.alfresco.repo.audit.hibernate.AuditDate)
*/
public void setAuditDate(AuditDate auditDate)
{
this.auditDate = auditDate;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getAuditSource()
*/
public AuditSource getAuditSource()
{
return auditSource;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setAuditSource(org.alfresco.repo.audit.hibernate.AuditSource)
*/
public void setAuditSource(AuditSource auditSource)
{
this.auditSource = auditSource;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getClientInetAddress()
*/
public String getClientInetAddress()
{
return clientInetAddress;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setClientInetAddress(java.net.InetAddress)
*/
public void setClientInetAddress(String clientInetAddress)
{
this.clientInetAddress = clientInetAddress;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getDate()
*/
public Date getDate()
{
return date;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setDate(java.util.Date)
*/
public void setDate(Date date)
{
this.date = date;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getException()
*/
public String getException()
{
return exception;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setException(java.lang.String)
*/
public void setException(String exception)
{
this.exception = exception;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#isFail()
*/
public boolean isFail()
{
return fail;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setFail(boolean)
*/
public void setFail(boolean fail)
{
this.fail = fail;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#isFiltered()
*/
public boolean isFiltered()
{
return filtered;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setFiltered(boolean)
*/
public void setFiltered(boolean filtered)
{
this.filtered = filtered;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getHostInetAddress()
*/
public String getHostInetAddress()
{
return hostInetAddress;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setHostInetAddress(java.net.InetAddress)
*/
public void setHostInetAddress(String hostInetAddress)
{
this.hostInetAddress = hostInetAddress;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getId()
*/
public long getId()
{
return id;
}
protected void setId(long id)
{
this.id = id;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getMessage()
*/
public String getMessage()
{
return message;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setMessage(java.lang.String)
*/
public void setMessage(String message)
{
this.message = message;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getNodeGUID()
*/
public String getNodeUUID()
{
return nodeUUID;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setNodeGUID(java.lang.String)
*/
public void setNodeUUID(String nodeUUID)
{
this.nodeUUID = nodeUUID;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getPath()
*/
public String getPath()
{
return path;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setPath(java.lang.String)
*/
public void setPath(String path)
{
this.path = path;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getReturnValue()
*/
public String getReturnValue()
{
return returnValue;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setReturnValue(java.lang.String)
*/
public void setReturnValue(String returnValue)
{
this.returnValue = returnValue;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getSerialisedURL()
*/
public String getSerialisedURL()
{
return serialisedURL;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setSerialisedURL(java.lang.String)
*/
public void setSerialisedURL(String serialisedURL)
{
this.serialisedURL = serialisedURL;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getSessionId()
*/
public String getSessionId()
{
return sessionId;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setSessionId(java.lang.String)
*/
public void setSessionId(String sessionId)
{
this.sessionId = sessionId;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getStoreId()
*/
public String getStoreId()
{
return storeId;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setStoreId(java.lang.String)
*/
public void setStoreId(String storeId)
{
this.storeId = storeId;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getStoreProtocol()
*/
public String getStoreProtocol()
{
return storeProtocol;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setStoreProtocol(java.lang.String)
*/
public void setStoreProtocol(String storeProtocol)
{
this.storeProtocol = storeProtocol;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getTransactionId()
*/
public String getTransactionId()
{
return transactionId;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setTransactionId(java.lang.String)
*/
public void setTransactionId(String transactionId)
{
this.transactionId = transactionId;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#getUserId()
*/
public String getUserId()
{
return userId;
}
/*
* (non-Javadoc)
*
* @see org.alfresco.repo.audit.hibernate.AuditFact#setUserId(java.lang.String)
*/
public void setUserId(String userId)
{
this.userId = userId;
}
/**
* Helper method to get all the audit entries for a node.
*/
@SuppressWarnings("unchecked")
public static List<AuditFact> getAuditTrail(Session session, NodeRef nodeRef)
{
Query query = session.getNamedQuery(HibernateAuditDAO.QUERY_AUDIT_TRAIL);
query.setParameter(HibernateAuditDAO.QUERY_AUDIT_PROTOCOL, nodeRef.getStoreRef().getProtocol());
query.setParameter(HibernateAuditDAO.QUERY_AUDIT_STORE_ID, nodeRef.getStoreRef().getIdentifier());
query.setParameter(HibernateAuditDAO.QUERY_AUDIT_NODE_ID, nodeRef.getId());
return (List<AuditFact>) query.list();
}
}