ranger-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From omal...@apache.org
Subject [17/44] ARGUS-1. Initial code commit (Selvamohan Neethiraj via omalley)
Date Thu, 14 Aug 2014 20:50:28 GMT
http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/java/com/xasecure/view/VXString.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/view/VXString.java b/security-admin/src/main/java/com/xasecure/view/VXString.java
new file mode 100644
index 0000000..d7c8503
--- /dev/null
+++ b/security-admin/src/main/java/com/xasecure/view/VXString.java
@@ -0,0 +1,87 @@
+package com.xasecure.view;
+/*
+ * Copyright (c) 2014 XASecure
+ * All rights reserved.
+ *
+ * This software is the confidential and proprietary information of
+ * XASecure ("Confidential Information").  You shall not
+ * disclose such Confidential Information and shall use it only in
+ * accordance with the terms of the license agreement you entered into
+ * with XASecure
+ */
+
+/**
+ * String
+ * 
+ */
+
+import java.util.*;
+
+import com.xasecure.common.*;
+import com.xasecure.common.view.*;
+
+import com.xasecure.common.*;
+import com.xasecure.json.JsonDateSerializer;
+
+import com.xasecure.view.*;
+
+import javax.xml.bind.annotation.*;
+
+import org.codehaus.jackson.annotate.JsonAutoDetect;
+import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
+import org.codehaus.jackson.annotate.JsonIgnoreProperties;
+import org.codehaus.jackson.map.annotate.JsonSerialize;
+
+@JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
+@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonIgnoreProperties(ignoreUnknown=true)
+@XmlRootElement
+public class VXString extends ViewBaseBean implements java.io.Serializable {
+	private static final long serialVersionUID = 1L;
+
+
+	/**
+	 * Value
+	 */
+	protected String value;
+
+	/**
+	 * Default constructor. This will set all the attributes to default value.
+	 */
+	public VXString ( ) {
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>value</b>.
+	 * You cannot set null to the attribute.
+	 * @param value Value to set member attribute <b>value</b>
+	 */
+	public void setValue( String value ) {
+		this.value = value;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>value</b>
+	 * @return String - value of member attribute <b>value</b>.
+	 */
+	public String getValue( ) {
+		return this.value;
+	}
+
+	@Override
+	public int getMyClassType( ) {
+	    return AppConstants.CLASS_TYPE_STRING;
+	}
+
+	/**
+	 * This return the bean content in string format
+	 * @return formatedStr
+	*/
+	public String toString( ) {
+		String str = "VXString={";
+		str += super.toString();
+		str += "value={" + value + "} ";
+		str += "}";
+		return str;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/java/com/xasecure/view/VXStringList.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/view/VXStringList.java b/security-admin/src/main/java/com/xasecure/view/VXStringList.java
new file mode 100644
index 0000000..5570d3a
--- /dev/null
+++ b/security-admin/src/main/java/com/xasecure/view/VXStringList.java
@@ -0,0 +1,72 @@
+package com.xasecure.view;
+/*
+ * Copyright (c) 2014 XASecure
+ * All rights reserved.
+ *
+ * This software is the confidential and proprietary information of
+ * XASecure ("Confidential Information").  You shall not
+ * disclose such Confidential Information and shall use it only in
+ * accordance with the terms of the license agreement you entered into
+ * with XASecure
+ */
+
+/**
+ * List wrapper class for VXString
+ * 
+ */
+
+import java.util.*;
+import javax.xml.bind.annotation.*;
+
+import org.codehaus.jackson.annotate.JsonAutoDetect;
+import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
+import org.codehaus.jackson.map.annotate.JsonSerialize;
+
+import com.xasecure.common.view.*;
+
+@JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
+@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@XmlRootElement
+@XmlAccessorType(XmlAccessType.FIELD)
+public class VXStringList extends VList {
+	private static final long serialVersionUID = 1L;
+    List<VXString> vXStrings = new ArrayList<VXString>();
+
+    public VXStringList() {
+	super();
+    }
+
+    public VXStringList(List<VXString> objList) {
+	super(objList);
+	this.vXStrings = objList;
+    }
+
+    /**
+     * @return the vXStrings
+     */
+    public List<VXString> getVXStrings() {
+	return vXStrings;
+    }
+
+    /**
+     * @param vXStrings
+     *            the vXStrings to set
+     */
+    public void setVXStrings(List<VXString> vXStrings) {
+	this.vXStrings = vXStrings;
+    }
+
+    @Override
+    public int getListSize() {
+	if (vXStrings != null) {
+	    return vXStrings.size();
+	}
+	return 0;
+    }
+
+    @Override
+    public List<VXString> getList() {
+	return vXStrings;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/java/com/xasecure/view/VXTrxLog.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/view/VXTrxLog.java b/security-admin/src/main/java/com/xasecure/view/VXTrxLog.java
new file mode 100644
index 0000000..3206524
--- /dev/null
+++ b/security-admin/src/main/java/com/xasecure/view/VXTrxLog.java
@@ -0,0 +1,370 @@
+package com.xasecure.view;
+/*
+ * Copyright (c) 2014 XASecure
+ * All rights reserved.
+ *
+ * This software is the confidential and proprietary information of
+ * XASecure ("Confidential Information").  You shall not
+ * disclose such Confidential Information and shall use it only in
+ * accordance with the terms of the license agreement you entered into
+ * with XASecure
+ */
+
+/**
+ * Logging table for all DB create and update queries
+ * 
+ */
+
+import java.util.*;
+
+import com.xasecure.common.*;
+import com.xasecure.common.view.*;
+
+import com.xasecure.common.*;
+import com.xasecure.json.JsonDateSerializer;
+
+import com.xasecure.view.*;
+
+import javax.xml.bind.annotation.*;
+
+import org.codehaus.jackson.annotate.JsonAutoDetect;
+import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
+import org.codehaus.jackson.annotate.JsonIgnoreProperties;
+import org.codehaus.jackson.map.annotate.JsonSerialize;
+
+@JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
+@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonIgnoreProperties(ignoreUnknown=true)
+@XmlRootElement
+public class VXTrxLog extends VXDataObject implements java.io.Serializable {
+	private static final long serialVersionUID = 1L;
+
+
+	/**
+	 * Name of the class to which the object id belongs to
+	 * This attribute is of type enum CommonEnums::ClassTypes
+	 */
+	protected int objectClassType = XAConstants.CLASS_TYPE_NONE;
+	/**
+	 * Id of the object to which this notes refers to
+	 */
+	protected Long objectId;
+	/**
+	 * Object Id of the parent object
+	 */
+	protected Long parentObjectId;
+	/**
+	 * Object Class Type of the parent object
+	 */
+	protected int parentObjectClassType;
+	/**
+	 * Name of the parent object name that was changed
+	 */
+	protected String parentObjectName;
+	/**
+	 * Name of the object name that was changed
+	 */
+	protected String objectName;
+	/**
+	 * Name of the attribute that was changed
+	 */
+	protected String attributeName;
+	/**
+	 * Previous value
+	 */
+	protected String previousValue;
+	/**
+	 * New value
+	 */
+	protected String newValue;
+	/**
+	 * Transaction id
+	 */
+	protected String transactionId;
+	/**
+	 * Action of the transaction
+	 */
+	protected String action;
+	/**
+	 * Session Id
+	 */
+	protected String sessionId;
+	/**
+	 * Request Id
+	 */
+	protected String requestId;
+	/**
+	 * Session Type
+	 */
+	protected String sessionType;
+
+	/**
+	 * Default constructor. This will set all the attributes to default value.
+	 */
+	public VXTrxLog ( ) {
+		objectClassType = XAConstants.CLASS_TYPE_NONE;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>objectClassType</b>.
+	 * You cannot set null to the attribute.
+	 * @param objectClassType Value to set member attribute <b>objectClassType</b>
+	 */
+	public void setObjectClassType( int objectClassType ) {
+		this.objectClassType = objectClassType;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>objectClassType</b>
+	 * @return int - value of member attribute <b>objectClassType</b>.
+	 */
+	public int getObjectClassType( ) {
+		return this.objectClassType;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>objectId</b>.
+	 * You cannot set null to the attribute.
+	 * @param objectId Value to set member attribute <b>objectId</b>
+	 */
+	public void setObjectId( Long objectId ) {
+		this.objectId = objectId;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>objectId</b>
+	 * @return Long - value of member attribute <b>objectId</b>.
+	 */
+	public Long getObjectId( ) {
+		return this.objectId;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>parentObjectId</b>.
+	 * You cannot set null to the attribute.
+	 * @param parentObjectId Value to set member attribute <b>parentObjectId</b>
+	 */
+	public void setParentObjectId( Long parentObjectId ) {
+		this.parentObjectId = parentObjectId;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>parentObjectId</b>
+	 * @return Long - value of member attribute <b>parentObjectId</b>.
+	 */
+	public Long getParentObjectId( ) {
+		return this.parentObjectId;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>parentObjectClassType</b>.
+	 * You cannot set null to the attribute.
+	 * @param parentObjectClassType Value to set member attribute <b>parentObjectClassType</b>
+	 */
+	public void setParentObjectClassType( int parentObjectClassType ) {
+		this.parentObjectClassType = parentObjectClassType;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>parentObjectClassType</b>
+	 * @return int - value of member attribute <b>parentObjectClassType</b>.
+	 */
+	public int getParentObjectClassType( ) {
+		return this.parentObjectClassType;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>parentObjectName</b>.
+	 * You cannot set null to the attribute.
+	 * @param parentObjectName Value to set member attribute <b>parentObjectName</b>
+	 */
+	public void setParentObjectName( String parentObjectName ) {
+		this.parentObjectName = parentObjectName;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>parentObjectName</b>
+	 * @return String - value of member attribute <b>parentObjectName</b>.
+	 */
+	public String getParentObjectName( ) {
+		return this.parentObjectName;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>objectName</b>.
+	 * You cannot set null to the attribute.
+	 * @param objectName Value to set member attribute <b>objectName</b>
+	 */
+	public void setObjectName( String objectName ) {
+		this.objectName = objectName;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>objectName</b>
+	 * @return String - value of member attribute <b>objectName</b>.
+	 */
+	public String getObjectName( ) {
+		return this.objectName;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>attributeName</b>.
+	 * You cannot set null to the attribute.
+	 * @param attributeName Value to set member attribute <b>attributeName</b>
+	 */
+	public void setAttributeName( String attributeName ) {
+		this.attributeName = attributeName;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>attributeName</b>
+	 * @return String - value of member attribute <b>attributeName</b>.
+	 */
+	public String getAttributeName( ) {
+		return this.attributeName;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>previousValue</b>.
+	 * You cannot set null to the attribute.
+	 * @param previousValue Value to set member attribute <b>previousValue</b>
+	 */
+	public void setPreviousValue( String previousValue ) {
+		this.previousValue = previousValue;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>previousValue</b>
+	 * @return String - value of member attribute <b>previousValue</b>.
+	 */
+	public String getPreviousValue( ) {
+		return this.previousValue;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>newValue</b>.
+	 * You cannot set null to the attribute.
+	 * @param newValue Value to set member attribute <b>newValue</b>
+	 */
+	public void setNewValue( String newValue ) {
+		this.newValue = newValue;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>newValue</b>
+	 * @return String - value of member attribute <b>newValue</b>.
+	 */
+	public String getNewValue( ) {
+		return this.newValue;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>transactionId</b>.
+	 * You cannot set null to the attribute.
+	 * @param transactionId Value to set member attribute <b>transactionId</b>
+	 */
+	public void setTransactionId( String transactionId ) {
+		this.transactionId = transactionId;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>transactionId</b>
+	 * @return String - value of member attribute <b>transactionId</b>.
+	 */
+	public String getTransactionId( ) {
+		return this.transactionId;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>action</b>.
+	 * You cannot set null to the attribute.
+	 * @param action Value to set member attribute <b>action</b>
+	 */
+	public void setAction( String action ) {
+		this.action = action;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>action</b>
+	 * @return String - value of member attribute <b>action</b>.
+	 */
+	public String getAction( ) {
+		return this.action;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>sessionId</b>.
+	 * You cannot set null to the attribute.
+	 * @param sessionId Value to set member attribute <b>sessionId</b>
+	 */
+	public void setSessionId( String sessionId ) {
+		this.sessionId = sessionId;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>sessionId</b>
+	 * @return String - value of member attribute <b>sessionId</b>.
+	 */
+	public String getSessionId( ) {
+		return this.sessionId;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>requestId</b>.
+	 * You cannot set null to the attribute.
+	 * @param requestId Value to set member attribute <b>requestId</b>
+	 */
+	public void setRequestId( String requestId ) {
+		this.requestId = requestId;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>requestId</b>
+	 * @return String - value of member attribute <b>requestId</b>.
+	 */
+	public String getRequestId( ) {
+		return this.requestId;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>sessionType</b>.
+	 * You cannot set null to the attribute.
+	 * @param sessionType Value to set member attribute <b>sessionType</b>
+	 */
+	public void setSessionType( String sessionType ) {
+		this.sessionType = sessionType;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>sessionType</b>
+	 * @return String - value of member attribute <b>sessionType</b>.
+	 */
+	public String getSessionType( ) {
+		return this.sessionType;
+	}
+
+	/**
+	 * This return the bean content in string format
+	 * @return formatedStr
+	*/
+	public String toString( ) {
+		String str = "VXTrxLog={";
+		str += super.toString();
+		str += "objectClassType={" + objectClassType + "} ";
+		str += "objectId={" + objectId + "} ";
+		str += "parentObjectId={" + parentObjectId + "} ";
+		str += "parentObjectClassType={" + parentObjectClassType + "} ";
+		str += "parentObjectName={" + parentObjectName + "} ";
+		str += "objectName={" + objectName + "} ";
+		str += "attributeName={" + attributeName + "} ";
+		str += "previousValue={" + previousValue + "} ";
+		str += "newValue={" + newValue + "} ";
+		str += "transactionId={" + transactionId + "} ";
+		str += "action={" + action + "} ";
+		str += "sessionId={" + sessionId + "} ";
+		str += "requestId={" + requestId + "} ";
+		str += "sessionType={" + sessionType + "} ";
+		str += "}";
+		return str;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/java/com/xasecure/view/VXTrxLogList.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/view/VXTrxLogList.java b/security-admin/src/main/java/com/xasecure/view/VXTrxLogList.java
new file mode 100644
index 0000000..f9e7e55
--- /dev/null
+++ b/security-admin/src/main/java/com/xasecure/view/VXTrxLogList.java
@@ -0,0 +1,67 @@
+package com.xasecure.view;
+/*
+ * Copyright (c) 2014 XASecure
+ * All rights reserved.
+ *
+ * This software is the confidential and proprietary information of
+ * XASecure. ("Confidential Information").  You shall not
+ * disclose such Confidential Information and shall use it only in
+ * accordance with the terms of the license agreement you entered into
+ * with XASecure.
+ */
+
+import java.util.*;
+import javax.xml.bind.annotation.*;
+
+import org.codehaus.jackson.annotate.JsonAutoDetect;
+import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
+import org.codehaus.jackson.map.annotate.JsonSerialize;
+
+import com.xasecure.common.view.*;
+
+@JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
+@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@XmlRootElement
+@XmlAccessorType(XmlAccessType.FIELD)
+public class VXTrxLogList extends VList {
+	private static final long serialVersionUID = 1L;
+    List<VXTrxLog> vXTrxLogs = new ArrayList<VXTrxLog>();
+
+    public VXTrxLogList() {
+	super();
+    }
+
+    public VXTrxLogList(List<VXTrxLog> objList) {
+	super(objList);
+	this.vXTrxLogs = objList;
+    }
+
+    /**
+     * @return the vXTrxLogs
+     */
+    public List<VXTrxLog> getVXTrxLogs() {
+	return vXTrxLogs;
+    }
+
+    /**
+     * @param vXTrxLogs
+     *            the vXTrxLogs to set
+     */
+    public void setVXTrxLogs(List<VXTrxLog> vXTrxLogs) {
+	this.vXTrxLogs = vXTrxLogs;
+    }
+
+    @Override
+    public int getListSize() {
+	if (vXTrxLogs != null) {
+	    return vXTrxLogs.size();
+	}
+	return 0;
+    }
+
+    @Override
+    public List<VXTrxLog> getList() {
+	return vXTrxLogs;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/java/com/xasecure/view/VXUser.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/view/VXUser.java b/security-admin/src/main/java/com/xasecure/view/VXUser.java
new file mode 100644
index 0000000..492f9d1
--- /dev/null
+++ b/security-admin/src/main/java/com/xasecure/view/VXUser.java
@@ -0,0 +1,293 @@
+package com.xasecure.view;
+/*
+ * Copyright (c) 2014 XASecure
+ * All rights reserved.
+ *
+ * This software is the confidential and proprietary information of
+ * XASecure ("Confidential Information").  You shall not
+ * disclose such Confidential Information and shall use it only in
+ * accordance with the terms of the license agreement you entered into
+ * with XASecure
+ */
+
+/**
+ * User
+ * 
+ */
+
+import java.util.*;
+
+import com.xasecure.common.*;
+import com.xasecure.common.view.*;
+import com.xasecure.common.*;
+import com.xasecure.json.JsonDateSerializer;
+import com.xasecure.view.*;
+
+import javax.xml.bind.annotation.*;
+
+import org.codehaus.jackson.annotate.JsonAutoDetect;
+import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
+import org.codehaus.jackson.annotate.JsonIgnoreProperties;
+import org.codehaus.jackson.map.annotate.JsonSerialize;
+
+@JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
+@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@JsonIgnoreProperties(ignoreUnknown=true)
+@XmlRootElement
+public class VXUser extends VXDataObject implements java.io.Serializable {
+	private static final long serialVersionUID = 1L;
+
+
+	/**
+	 * Name
+	 */
+	protected String name;
+	/**
+	 * First Name
+	 */
+	protected String firstName;
+	/**
+	 * Last Name
+	 */
+	protected String lastName;
+	/**
+	 * Email address
+	 */
+	protected String emailAddress;
+	/**
+	 * Password
+	 */
+	protected String password;
+	/**
+	 * Description
+	 */
+	protected String description;
+	/**
+	 * Id of the credential store
+	 */
+	protected Long credStoreId;
+	/**
+	 * List of group ids
+	 */
+	protected Collection<Long> groupIdList;
+	protected Collection<String> groupNameList;
+	
+	protected int status;
+	protected int userSource;
+	/**
+	 * List of roles for this user
+	 */
+	protected Collection<String> userRoleList;
+
+	/**
+	 * Default constructor. This will set all the attributes to default value.
+	 */
+	public VXUser ( ) {
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>name</b>.
+	 * You cannot set null to the attribute.
+	 * @param name Value to set member attribute <b>name</b>
+	 */
+	public void setName( String name ) {
+		this.name = name;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>name</b>
+	 * @return String - value of member attribute <b>name</b>.
+	 */
+	public String getName( ) {
+		return this.name;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>firstName</b>.
+	 * You cannot set null to the attribute.
+	 * @param firstName Value to set member attribute <b>firstName</b>
+	 */
+	public void setFirstName( String firstName ) {
+		this.firstName = firstName;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>firstName</b>
+	 * @return String - value of member attribute <b>firstName</b>.
+	 */
+	public String getFirstName( ) {
+		return this.firstName;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>lastName</b>.
+	 * You cannot set null to the attribute.
+	 * @param lastName Value to set member attribute <b>lastName</b>
+	 */
+	public void setLastName( String lastName ) {
+		this.lastName = lastName;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>lastName</b>
+	 * @return String - value of member attribute <b>lastName</b>.
+	 */
+	public String getLastName( ) {
+		return this.lastName;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>emailAddress</b>.
+	 * You cannot set null to the attribute.
+	 * @param emailAddress Value to set member attribute <b>emailAddress</b>
+	 */
+	public void setEmailAddress( String emailAddress ) {
+		this.emailAddress = emailAddress;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>emailAddress</b>
+	 * @return String - value of member attribute <b>emailAddress</b>.
+	 */
+	public String getEmailAddress( ) {
+		return this.emailAddress;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>password</b>.
+	 * You cannot set null to the attribute.
+	 * @param password Value to set member attribute <b>password</b>
+	 */
+	public void setPassword( String password ) {
+		this.password = password;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>password</b>
+	 * @return String - value of member attribute <b>password</b>.
+	 */
+	public String getPassword( ) {
+		return this.password;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>description</b>.
+	 * You cannot set null to the attribute.
+	 * @param description Value to set member attribute <b>description</b>
+	 */
+	public void setDescription( String description ) {
+		this.description = description;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>description</b>
+	 * @return String - value of member attribute <b>description</b>.
+	 */
+	public String getDescription( ) {
+		return this.description;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>credStoreId</b>.
+	 * You cannot set null to the attribute.
+	 * @param credStoreId Value to set member attribute <b>credStoreId</b>
+	 */
+	public void setCredStoreId( Long credStoreId ) {
+		this.credStoreId = credStoreId;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>credStoreId</b>
+	 * @return Long - value of member attribute <b>credStoreId</b>.
+	 */
+	public Long getCredStoreId( ) {
+		return this.credStoreId;
+	}
+
+	/**
+	 * This method sets the value to the member attribute <b>groupIdList</b>.
+	 * You cannot set null to the attribute.
+	 * @param groupIdList Value to set member attribute <b>groupIdList</b>
+	 */
+	public void setGroupIdList( Collection<Long> groupIdList ) {
+		this.groupIdList = groupIdList;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>groupIdList</b>
+	 * @return Collection<Long> - value of member attribute <b>groupIdList</b>.
+	 */
+	public Collection<Long> getGroupIdList( ) {
+		return this.groupIdList;
+	}
+
+	@Override
+	public int getMyClassType( ) {
+	    return AppConstants.CLASS_TYPE_XA_USER;
+	}
+
+	
+	public int getStatus() {
+		return status;
+	}
+
+	public void setStatus(int status) {
+		this.status = status;
+	}
+	
+	
+
+	public int getUserSource() {
+		return userSource;
+	}
+
+	public void setUserSource(int userSource) {
+		this.userSource = userSource;
+	}
+	
+	/**
+	 * This method sets the value to the member attribute <b>userRoleList</b>.
+	 * You cannot set null to the attribute.
+	 * @param userRoleList Value to set member attribute <b>userRoleList</b>
+	 */
+	public void setUserRoleList( Collection<String> userRoleList ) {
+		this.userRoleList = userRoleList;
+	}
+
+	/**
+	 * Returns the value for the member attribute <b>userRoleList</b>
+	 * @return Collection<String> - value of member attribute <b>userRoleList</b>.
+	 */
+	public Collection<String> getUserRoleList( ) {
+		return this.userRoleList;
+	}
+
+	
+	public Collection<String> getGroupNameList() {
+		return groupNameList;
+	}
+
+	public void setGroupNameList(Collection<String> groupNameList) {
+		this.groupNameList = groupNameList;
+	}
+
+	/**
+	 * This return the bean content in string format
+	 * @return formatedStr
+	*/
+	public String toString( ) {
+		String str = "VXUser={";
+		str += super.toString();
+		str += "name={" + name + "} ";
+		str += "firstName={" + firstName + "} ";
+		str += "lastName={" + lastName + "} ";
+		str += "emailAddress={" + emailAddress + "} ";
+		str += "password={" + password + "} ";
+		str += "description={" + description + "} ";
+		str += "credStoreId={" + credStoreId + "} ";
+		str += "groupIdList={" + groupIdList + "} ";
+		str += "groupNameList={" + groupNameList + "} ";
+		str += "}";
+		return str;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/java/com/xasecure/view/VXUserList.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/view/VXUserList.java b/security-admin/src/main/java/com/xasecure/view/VXUserList.java
new file mode 100644
index 0000000..012f9b7
--- /dev/null
+++ b/security-admin/src/main/java/com/xasecure/view/VXUserList.java
@@ -0,0 +1,72 @@
+package com.xasecure.view;
+/*
+ * Copyright (c) 2014 XASecure
+ * All rights reserved.
+ *
+ * This software is the confidential and proprietary information of
+ * XASecure ("Confidential Information").  You shall not
+ * disclose such Confidential Information and shall use it only in
+ * accordance with the terms of the license agreement you entered into
+ * with XASecure
+ */
+
+/**
+ * List wrapper class for VXUser
+ * 
+ */
+
+import java.util.*;
+import javax.xml.bind.annotation.*;
+
+import org.codehaus.jackson.annotate.JsonAutoDetect;
+import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
+import org.codehaus.jackson.map.annotate.JsonSerialize;
+
+import com.xasecure.common.view.*;
+
+@JsonAutoDetect(getterVisibility=Visibility.NONE, setterVisibility=Visibility.NONE, fieldVisibility=Visibility.ANY)
+@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL )
+@XmlRootElement
+@XmlAccessorType(XmlAccessType.FIELD)
+public class VXUserList extends VList {
+	private static final long serialVersionUID = 1L;
+    List<VXUser> vXUsers = new ArrayList<VXUser>();
+
+    public VXUserList() {
+	super();
+    }
+
+    public VXUserList(List<VXUser> objList) {
+	super(objList);
+	this.vXUsers = objList;
+    }
+
+    /**
+     * @return the vXUsers
+     */
+    public List<VXUser> getVXUsers() {
+	return vXUsers;
+    }
+
+    /**
+     * @param vXUsers
+     *            the vXUsers to set
+     */
+    public void setVXUsers(List<VXUser> vXUsers) {
+	this.vXUsers = vXUsers;
+    }
+
+    @Override
+    public int getListSize() {
+	if (vXUsers != null) {
+	    return vXUsers.size();
+	}
+	return 0;
+    }
+
+    @Override
+    public List<VXUser> getList() {
+	return vXUsers;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/resources/META-INF/infinispan-cache-config.xml
----------------------------------------------------------------------
diff --git a/security-admin/src/main/resources/META-INF/infinispan-cache-config.xml b/security-admin/src/main/resources/META-INF/infinispan-cache-config.xml
new file mode 100644
index 0000000..e66ddd8
--- /dev/null
+++ b/security-admin/src/main/resources/META-INF/infinispan-cache-config.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ JBoss, Home of Professional Open Source
+  ~ Copyright 2010 Red Hat Inc. and/or its affiliates and other
+  ~ contributors as indicated by the @author tags. All rights reserved.
+  ~ See the copyright.txt in the distribution for a full listing of
+  ~ individual contributors.
+  ~
+  ~ This is free software; you can redistribute it and/or modify it
+  ~ under the terms of the GNU Lesser General Public License as
+  ~ published by the Free Software Foundation; either version 2.1 of
+  ~ the License, or (at your option) any later version.
+  ~
+  ~ This software is distributed in the hope that it will be useful,
+  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU Lesser General Public
+  ~ License along with this software; if not, write to the Free
+  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  -->
+<infinispan>
+	<default>
+		<!--  http://docs.jboss.org/infinispan/5.0/apidocs/config.html -->
+		<locking useLockStriping="false" />
+	</default>
+</infinispan>

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
----------------------------------------------------------------------
diff --git a/security-admin/src/main/resources/META-INF/jpa_named_queries.xml b/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
new file mode 100644
index 0000000..1b3805b
--- /dev/null
+++ b/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity-mappings version="1.0"
+	xmlns="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd ">
+
+	<named-query name="XXAuthSession.getUserLoggedIn">
+		<query>SELECT count(obj),function('DATE',obj.authTime) as dateAuth 
+			   FROM XXAuthSession obj 
+			   GROUP BY dateAuth
+		</query>
+	</named-query>
+	<named-query name="XXAuthSession.getAuthSessionBySessionId">
+		<query>SELECT obj FROM XXAuthSession obj 
+			   WHERE obj.extSessionId = :sessionId
+		</query>
+	</named-query>
+
+	<!-- XXPortalUser -->
+	<named-query name="XXPortalUser.findByEmailAddress">
+		<query>SELECT obj FROM XXPortalUser obj WHERE obj.emailAddress =
+			:emailAddress</query>
+	</named-query>
+	<named-query name="XXPortalUser.findByLoginId">
+		<query>SELECT obj FROM XXPortalUser obj WHERE obj.loginId = :loginId</query>
+	</named-query>
+	<named-query name="XXPortalUser.findByPublicScreenName">
+		<query>SELECT obj FROM XXPortalUser obj WHERE obj.publicScreenName =
+			:publicScreenName</query>
+	</named-query>
+
+	<named-query name="XXPortalUser.findByRole">
+		<query>SELECT obj FROM XXPortalUser obj, XXPortalUserRole role WHERE obj.id = role.userId
+			and role.userRole = :userRole</query>
+	</named-query>
+
+	<named-query name="XXPortalUser.getUserAddedReport">
+		<query>SELECT count(obj), function('DATE',obj.createTime) as createDate FROM XXPortalUser obj GROUP BY createDate
+		</query>
+	</named-query>
+
+	<!-- XXPortalUserRole -->
+	<named-query name="XXPortalUserRole.findByRoleUserId">
+		<query>SELECT obj FROM XXPortalUserRole obj WHERE obj.userId = :userId
+			and obj.userRole = :userRole</query>
+	</named-query>
+	<named-query name="XXPortalUserRole.findByUserId">
+		<query>SELECT obj FROM XXPortalUserRole obj WHERE obj.userId = :userId
+		</query>
+	</named-query>
+	<named-query name="XXPortalUserRole.findByParentId">
+		<query>SELECT obj FROM XXPortalUserRole obj WHERE obj.userId = :parentId
+		</query>
+	</named-query>
+
+
+	<!-- XXAsset -->
+	<named-query name="XXAsset.findByAssetName">
+		<query>SELECT obj FROM XXAsset obj WHERE obj.name = :name AND obj.activeStatus != :status
+		</query>
+	</named-query>
+
+	<!-- XXAuditMap -->
+	<named-query name="XXAuditMap.findByResourceId">
+		<query>SELECT obj FROM XXAuditMap obj WHERE obj.resourceId = :resourceId
+		</query>
+	</named-query>
+	
+	<!-- XXGroup -->
+	<named-query name="XXGroup.findByUserId">
+		<query>SELECT obj FROM XXGroup obj, XXGroupUser groupUser 
+			WHERE obj.id = groupUser.parentGroupId and groupUser.userId = :userId
+		</query>
+	</named-query>
+
+	<!-- XXPermMap -->
+	<named-query name="XXPermMap.findByResourceId">
+		<query>SELECT obj FROM XXPermMap obj WHERE obj.resourceId = :resourceId
+		</query>
+	</named-query>
+
+	<!-- XXResource -->
+	<named-query name="XXResource.findUpdatedResourcesByAssetId">
+		<query>SELECT obj FROM XXResource obj WHERE obj.assetId = :assetId
+		 AND obj.updateTime &gt; :lastUpdated 
+		</query>
+	</named-query>
+
+	<named-query name="XXResource.findUpdatedResourcesByAssetName">
+		<query>SELECT obj FROM XXResource obj, XXAsset xAsset 
+			   WHERE obj.assetId = xAsset.id
+			   AND xAsset.name = :assetName
+		 	   AND obj.updateTime &gt; :lastUpdated 
+		</query>
+	</named-query>
+
+	<named-query name="XXResource.findByAssetId">
+		<query>SELECT obj FROM XXResource obj WHERE obj.assetId = :assetId
+		</query>
+	</named-query>
+	
+	<named-query name="XXResource.findByAssetType">
+		<query>SELECT obj FROM XXResource obj, XXAsset xxAsset 
+				WHERE xxAsset.id = obj.assetId 
+				and xxAsset.assetType = :assetType	
+		</query>
+	</named-query>
+
+	<named-query name="XXResource.findByResourceName">
+		<query>SELECT obj FROM XXResource obj WHERE obj.name = :name
+		</query>
+	</named-query>
+	
+	<named-query name="XXResource.findByResourceNameAndAssetIdAndRecursiveFlag">
+		<query>SELECT obj FROM XXResource obj WHERE obj.name like :name and obj.assetId=:assetId
+		and obj.isRecursive=:isRecursive
+		</query>
+	</named-query>
+
+	<named-query name="XXResource.findByResourceNameAndAssetIdAndResourceType">
+		<query>SELECT obj FROM XXResource obj WHERE obj.name like :name and obj.assetId=:assetId
+		and obj.resourceType=:resourceType
+		</query>
+	</named-query>
+
+
+	<named-query name="XXResource.getMaxUpdateTimeForAssetName">
+		<query>SELECT MAX(obj.updateTime) FROM XXResource obj, XXAsset xAsset 
+			   WHERE obj.assetId = xAsset.id
+			   AND xAsset.name = :assetName
+		</query>
+	</named-query>
+	
+	
+	<named-query name="XXResource.findByAssetIdAndResourceStatus">
+		<query>SELECT obj FROM XXResource obj WHERE obj.assetId = :assetId and
+		 obj.resourceStatus = :resourceStatus
+		</query>
+	</named-query>
+
+	<named-query name="XXUser.findByUserName">
+		<query>SELECT Obj FROM XXUser obj
+			   WHERE LOWER(obj.name)=:name			   
+		</query>
+	</named-query>
+	
+	<named-query name="XXGroup.findByGroupName">
+		<query>SELECT Obj FROM XXGroup obj
+			   WHERE LOWER(obj.name)=:name			   
+		</query>
+	</named-query>
+	
+	<named-query name="XXGroupUser.deleteByGroupIdAndUserId">
+		<query>DELETE FROM  XXGroupUser  obj
+			   WHERE obj.parentGroupId=:parentGroupId 	
+			   AND obj.userId=:userId		   
+		</query>
+	</named-query>
+
+	<named-query name="XXGroupUser.findByUserId">
+		<query>SELECT obj FROM XXGroupUser obj
+			   WHERE obj.userId=:userId		   
+		</query>
+	</named-query>
+
+	<named-query name="XXTrxLog.findByTrxId">
+		<query>SELECT obj FROM XXTrxLog obj WHERE obj.transactionId = :transactionId
+		</query>
+	</named-query>
+	
+</entity-mappings>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/resources/META-INF/persistence.xml
----------------------------------------------------------------------
diff --git a/security-admin/src/main/resources/META-INF/persistence.xml b/security-admin/src/main/resources/META-INF/persistence.xml
new file mode 100644
index 0000000..b1e9e53
--- /dev/null
+++ b/security-admin/src/main/resources/META-INF/persistence.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
+	<persistence-unit name="defaultPU">
+		<mapping-file>META-INF/jpa_named_queries.xml</mapping-file>
+
+         <class>com.xasecure.entity.XXDBBase</class>
+         <class>com.xasecure.entity.XXAuthSession</class>
+         <class>com.xasecure.entity.XXPortalUser</class>
+         <class>com.xasecure.entity.XXPortalUserRole</class>
+         <class>com.xasecure.entity.XXAsset</class>
+         <class>com.xasecure.entity.XXResource</class>
+         <class>com.xasecure.entity.XXCredentialStore</class>
+         <class>com.xasecure.entity.XXGroup</class>
+         <class>com.xasecure.entity.XXUser</class>
+         <class>com.xasecure.entity.XXGroupUser</class>
+         <class>com.xasecure.entity.XXGroupGroup</class>
+         <class>com.xasecure.entity.XXPermMap</class>
+         <class>com.xasecure.entity.XXAuditMap</class>
+         <class>com.xasecure.entity.XXPolicyExportAudit</class>
+         <class>com.xasecure.entity.XXTrxLog</class>
+         <shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>
+	</persistence-unit>
+	<persistence-unit name="loggingPU">
+        <class>com.xasecure.entity.XXAccessAudit</class>
+        <shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>
+	</persistence-unit>
+
+</persistence>

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/resources/db_message_bundle.properties
----------------------------------------------------------------------
diff --git a/security-admin/src/main/resources/db_message_bundle.properties b/security-admin/src/main/resources/db_message_bundle.properties
new file mode 100644
index 0000000..76e6955
--- /dev/null
+++ b/security-admin/src/main/resources/db_message_bundle.properties
@@ -0,0 +1,3 @@
+#Generated file. Please don't modify it
+x_portal_user_UK_login_id=Duplicate Username/Login ID
+x_portal_user_UK_email=There is already an account with this email address

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/resources/log4jdbc.properties
----------------------------------------------------------------------
diff --git a/security-admin/src/main/resources/log4jdbc.properties b/security-admin/src/main/resources/log4jdbc.properties
new file mode 100644
index 0000000..b620f86
--- /dev/null
+++ b/security-admin/src/main/resources/log4jdbc.properties
@@ -0,0 +1,12 @@
+log4jdbc.drivers=com.mysql.jdbc.Driver
+log4jdbc.auto.load.popular.drivers=false
+#log4jdbc.sqltiming.warn.threshold=0
+log4jdbc.sqltiming.warn.threshold=100
+log4jdbc.sqltiming.error.threshold=200
+log4jdbc.dump.sql.addsemicolon=true
+
+#log4jdbc.dump.sql.select=true
+#log4jdbc.dump.sql.insert=true
+#log4jdbc.dump.sql.update=true
+#log4jdbc.dump.sql.delete=true
+#log4jdbc.dump.sql.create=true

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/resources/resourcenamemap.properties
----------------------------------------------------------------------
diff --git a/security-admin/src/main/resources/resourcenamemap.properties b/security-admin/src/main/resources/resourcenamemap.properties
new file mode 100644
index 0000000..fc93c4d
--- /dev/null
+++ b/security-admin/src/main/resources/resourcenamemap.properties
@@ -0,0 +1,17 @@
+fs.default.name=core-site.xml
+hadoop.security.authentication=core-site.xml
+hadoop.security.authorization=core-site.xml
+hadoop.security.auth_to_local=core-site.xml
+dfs.datanode.kerberos.principal=hdfs-site.xml
+dfs.namenode.kerberos.principal=hdfs-site.xml
+dfs.secondary.namenode.kerberos.principal=hdfs-site.xml
+username=xalogin.xml
+keytabfile=xalogin.xml
+password=xalogin.xml
+hbase.master.kerberos.principal=hbase-site.xml
+hbase.rpc.engine=hbase-site.xml
+hbase.rpc.protection=hbase-site.xml
+hbase.security.authentication=hbase-site.xml
+hbase.zookeeper.property.clientPort=hbase-site.xml
+hbase.zookeeper.quorum=hbase-site.xml
+zookeeper.znode.parent=hbase-site.xml
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/resources/sample.xa_system.properties
----------------------------------------------------------------------
diff --git a/security-admin/src/main/resources/sample.xa_system.properties b/security-admin/src/main/resources/sample.xa_system.properties
new file mode 100644
index 0000000..594a505
--- /dev/null
+++ b/security-admin/src/main/resources/sample.xa_system.properties
@@ -0,0 +1,33 @@
+#URL to the webapp
+xa.webapp.url.root=http://localhost:8080/xa
+
+
+# DB Info
+jdbc.driver=net.sf.log4jdbc.DriverSpy
+jdbc.url=jdbc:log4jdbc:mysql://localhost:3306/xa_db
+jdbc.user=
+jdbc.password=
+jdbc.maxPoolSize=40
+jdbc.minPoolSize=5
+jdbc.initialPoolSize=5
+#maxIdleTime in seconds
+jdbc.maxIdleTime=300
+jdbc.maxStatements=500
+jdbc.preferredTestQuery=select 1;
+#idleConnectionTestPeriod in seconds
+jdbc.idleConnectionTestPeriod=60
+
+xa.logs.base.dir=user.home
+
+#Scheduler
+xa.scheduler.enabled=true
+
+
+# DB Info for audit_DB
+auditDB.jdbc.driver=net.sf.log4jdbc.DriverSpy
+auditDB.jdbc.url=jdbc:log4jdbc:mysql://localhost:3306/xasecure
+auditDB.jdbc.user=
+auditDB.jdbc.password=
+
+#http
+http.enabled=true
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/resources/xa_custom.properties
----------------------------------------------------------------------
diff --git a/security-admin/src/main/resources/xa_custom.properties b/security-admin/src/main/resources/xa_custom.properties
new file mode 100644
index 0000000..0ef89ea
--- /dev/null
+++ b/security-admin/src/main/resources/xa_custom.properties
@@ -0,0 +1,2 @@
+#Application properties which are supposed to be modified by deployment team 
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/resources/xa_default.properties
----------------------------------------------------------------------
diff --git a/security-admin/src/main/resources/xa_default.properties b/security-admin/src/main/resources/xa_default.properties
new file mode 100644
index 0000000..8083e6c
--- /dev/null
+++ b/security-admin/src/main/resources/xa_default.properties
@@ -0,0 +1,65 @@
+#Application properties which are supposed to be not modified by deployment team 
+
+#Properties which are mandatory to be overridden in each deployment
+##################
+#System override properties (default values)\u0192
+##################
+
+#Search properties
+xa.db.maxrows.default=200
+xa.db.min_inlist=20
+xa.ui.defaultDateformat=MM/dd/yyyy
+xa.db.defaultDateformat=yyyy-MM-dd
+
+#Security Spring configurations
+xa.ajax.auth.required.code=401
+xa.ajax.auth.success.page=/ajax_success.html
+xa.ajax.auth.failure.page=/ajax_failure.jsp
+xa.logout.success.page=/login.jsp?action=logged_out
+
+#Role list
+xa.users.roles.list=ROLE_SYS_ADMIN, ROLE_USER, ROLE_OTHER, ROLE_ANON
+
+#Mail listing
+xa.mail.enabled=true
+mail.smtp.auth=false
+xa.mail.retry.sleep.ms=2000
+xa.mail.retry.max.count=5
+xa.mail.retry.sleep.incr_factor=1
+xa.mail.listener.enable=false
+
+#Hibernate/JPA settings
+xa.jpa.showsql=false
+
+#Second Level Cache
+xa.second_level_cache=true
+xa.use_query_cache=true
+
+
+
+##############################
+#General application properties
+##############################
+
+xa.user.firstname.maxlength=16
+
+#RBAC
+xa.rbac.enable=false
+
+#REST paths
+xa.rest.paths=com.xasecure.rest,xa.rest
+
+#Password
+xa.password.hidden=*****
+
+xa.resource.accessControl.enabled=true
+xa.xuser.createdByUserId=1
+
+#hacks
+xa.allow.hack=true
+
+#audit logging
+xa.log.SC_NOT_MODIFIED=false
+
+# ServletMapping Url Pattern
+xa.servlet.mapping.url.pattern=service
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/resources/xa_ldap.properties
----------------------------------------------------------------------
diff --git a/security-admin/src/main/resources/xa_ldap.properties b/security-admin/src/main/resources/xa_ldap.properties
new file mode 100644
index 0000000..804d626
--- /dev/null
+++ b/security-admin/src/main/resources/xa_ldap.properties
@@ -0,0 +1,11 @@
+#LDAP|ACTIVE_DIRECTORY|UNIX|NONE
+authentication_method=NONE
+####
+xa_ldap_url=ldap://
+xa_ldap_userDNpattern=uid={0},ou=users,dc=xasecure,dc=net
+xa_ldap_groupSearchBase=ou=groups,dc=xasecure,dc=net
+xa_ldap_groupSearchFilter=(member=uid={0},ou=users,dc=xasecure,dc=net)
+xa_ldap_groupRoleAttribute=cn
+###
+xa_ldap_ad_domain=
+xa_ldap_ad_url=ldap://
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/resources/xa_system.properties
----------------------------------------------------------------------
diff --git a/security-admin/src/main/resources/xa_system.properties b/security-admin/src/main/resources/xa_system.properties
new file mode 100644
index 0000000..afaf396
--- /dev/null
+++ b/security-admin/src/main/resources/xa_system.properties
@@ -0,0 +1,47 @@
+#URL to the webapp
+xa.webapp.url.root=http://localhost:8080/security-admin-web
+
+#Hibernate/JPA settings
+xa.jpa.showsql=true
+xa.env.local=true
+jdbc.dialect=org.eclipse.persistence.platform.database.MySQLPlatform
+# DB Info
+jdbc.driver=net.sf.log4jdbc.DriverSpy
+jdbc.url=jdbc:log4jdbc:mysql://localhost:3306/xa_db
+jdbc.user=xaadmin
+jdbc.password=xaadmin
+jdbc.maxPoolSize=40
+jdbc.minPoolSize=5
+jdbc.initialPoolSize=5
+jdbc.maxIdleTime=300
+jdbc.maxStatements=500
+jdbc.preferredTestQuery=select 1;
+#idleConnectionTestPeriod in seconds
+jdbc.idleConnectionTestPeriod=60
+xaDB.jdbc.credential.alias=mykey3
+xaDB.jdbc.credential.provider.path=/tmp/mykey3.jceks
+
+
+xa.logs.base.dir=user.home
+
+#Scheduler
+xa.scheduler.enabled=true
+
+
+# DB Info for audit_DB
+auditDB.jdbc.dialect=org.eclipse.persistence.platform.database.MySQLPlatform
+auditDB.jdbc.driver=net.sf.log4jdbc.DriverSpy
+auditDB.jdbc.url=jdbc:log4jdbc:mysql://54.208.49.40:3306/xasecure
+auditDB.jdbc.user=xalogger
+auditDB.jdbc.password=xalogger
+auditDB.jdbc.credential.alias=mykey4
+auditDB.jdbc.credential.provider.path=/tmp/mykey4.jceks
+#http
+http.enabled=true
+
+# Login Credentials for XA-Secure
+xa.cli.user=admin
+xa.cli.password=admin
+
+# Maven Project Version
+maven.project.version=${project.version}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/.htaccess
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/.htaccess b/security-admin/src/main/webapp/.htaccess
new file mode 100644
index 0000000..220c868
--- /dev/null
+++ b/security-admin/src/main/webapp/.htaccess
@@ -0,0 +1,553 @@
+# Apache configuration file
+# httpd.apache.org/docs/2.2/mod/quickreference.html
+
+# Note .htaccess files are an overhead, this logic should be in your Apache
+# config if possible: httpd.apache.org/docs/2.2/howto/htaccess.html
+
+# Techniques in here adapted from all over, including:
+#   Kroc Camen: camendesign.com/.htaccess
+#   perishablepress.com/press/2006/01/10/stupid-htaccess-tricks/
+#   Sample .htaccess file of CMS MODx: modxcms.com
+
+
+# ----------------------------------------------------------------------
+# Better website experience for IE users
+# ----------------------------------------------------------------------
+
+# Force the latest IE version, in various cases when it may fall back to IE7 mode
+#  github.com/rails/rails/commit/123eb25#commitcomment-118920
+# Use ChromeFrame if it's installed for a better experience for the poor IE folk
+
+<IfModule mod_headers.c>
+  Header set X-UA-Compatible "IE=Edge,chrome=1"
+  # mod_headers can't match by content-type, but we don't want to send this header on *everything*...
+  <FilesMatch "\.(js|css|gif|png|jpe?g|pdf|xml|oga|ogg|m4a|ogv|mp4|m4v|webm|svg|svgz|eot|ttf|otf|woff|ico|webp|appcache|manifest|htc|crx|oex|xpi|safariextz|vcf)$" >
+    Header unset X-UA-Compatible
+  </FilesMatch>
+</IfModule>
+
+
+# ----------------------------------------------------------------------
+# Cross-domain AJAX requests
+# ----------------------------------------------------------------------
+
+# Serve cross-domain Ajax requests, disabled by default.
+# enable-cors.org
+# code.google.com/p/html5security/wiki/CrossOriginRequestSecurity
+
+#  <IfModule mod_headers.c>
+#    Header set Access-Control-Allow-Origin "*"
+#  </IfModule>
+
+
+# ----------------------------------------------------------------------
+# CORS-enabled images (@crossorigin)
+# ----------------------------------------------------------------------
+
+# Send CORS headers if browsers request them; enabled by default for images.
+# developer.mozilla.org/en/CORS_Enabled_Image
+# blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html
+# hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/
+# wiki.mozilla.org/Security/Reviews/crossoriginAttribute
+
+<IfModule mod_setenvif.c>
+  <IfModule mod_headers.c>
+    # mod_headers, y u no match by Content-Type?!
+    <FilesMatch "\.(gif|png|jpe?g|svg|svgz|ico|webp)$">
+      SetEnvIf Origin ":" IS_CORS
+      Header set Access-Control-Allow-Origin "*" env=IS_CORS
+    </FilesMatch>
+  </IfModule>
+</IfModule>
+
+
+# ----------------------------------------------------------------------
+# Webfont access
+# ----------------------------------------------------------------------
+
+# Allow access from all domains for webfonts.
+# Alternatively you could only whitelist your
+# subdomains like "subdomain.example.com".
+
+<IfModule mod_headers.c>
+  <FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css)$">
+    Header set Access-Control-Allow-Origin "*"
+  </FilesMatch>
+</IfModule>
+
+
+# ----------------------------------------------------------------------
+# Proper MIME type for all files
+# ----------------------------------------------------------------------
+
+# JavaScript
+#   Normalize to standard type (it's sniffed in IE anyways)
+#   tools.ietf.org/html/rfc4329#section-7.2
+AddType application/javascript         js jsonp
+AddType application/json               json
+
+# Audio
+AddType audio/ogg                      oga ogg
+AddType audio/mp4                      m4a f4a f4b
+
+# Video
+AddType video/ogg                      ogv
+AddType video/mp4                      mp4 m4v f4v f4p
+AddType video/webm                     webm
+AddType video/x-flv                    flv
+
+# SVG
+#   Required for svg webfonts on iPad
+#   twitter.com/FontSquirrel/status/14855840545
+AddType     image/svg+xml              svg svgz
+AddEncoding gzip                       svgz
+
+# Webfonts
+AddType application/vnd.ms-fontobject  eot
+AddType application/x-font-ttf         ttf ttc
+AddType font/opentype                  otf
+AddType application/x-font-woff        woff
+
+# Assorted types
+AddType image/x-icon                        ico
+AddType image/webp                          webp
+AddType text/cache-manifest                 appcache manifest
+AddType text/x-component                    htc
+AddType application/xml                     rss atom xml rdf
+AddType application/x-chrome-extension      crx
+AddType application/x-opera-extension       oex
+AddType application/x-xpinstall             xpi
+AddType application/octet-stream            safariextz
+AddType application/x-web-app-manifest+json webapp
+AddType text/x-vcard                        vcf
+AddType application/x-shockwave-flash       swf
+AddType text/vtt                            vtt
+
+
+# ----------------------------------------------------------------------
+# Allow concatenation from within specific js and css files
+# ----------------------------------------------------------------------
+
+# e.g. Inside of script.combined.js you could have
+#   <!--#include file="libs/jquery-1.5.0.min.js" -->
+#   <!--#include file="plugins/jquery.idletimer.js" -->
+# and they would be included into this single file.
+
+# This is not in use in the boilerplate as it stands. You may
+# choose to use this technique if you do not have a build process.
+
+#<FilesMatch "\.combined\.js$">
+#  Options +Includes
+#  AddOutputFilterByType INCLUDES application/javascript application/json
+#  SetOutputFilter INCLUDES
+#</FilesMatch>
+
+#<FilesMatch "\.combined\.css$">
+#  Options +Includes
+#  AddOutputFilterByType INCLUDES text/css
+#  SetOutputFilter INCLUDES
+#</FilesMatch>
+
+
+# ----------------------------------------------------------------------
+# Gzip compression
+# ----------------------------------------------------------------------
+
+<IfModule mod_deflate.c>
+
+  # Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
+  <IfModule mod_setenvif.c>
+    <IfModule mod_headers.c>
+      SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
+      RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
+    </IfModule>
+  </IfModule>
+
+  # HTML, TXT, CSS, JavaScript, JSON, XML, HTC:
+  <IfModule filter_module>
+    FilterDeclare   COMPRESS
+    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/html
+    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/css
+    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/plain
+    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/xml
+    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $text/x-component
+    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/javascript
+    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/json
+    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/xml
+    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/xhtml+xml
+    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/rss+xml
+    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/atom+xml
+    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/vnd.ms-fontobject
+    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $image/svg+xml
+    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $image/x-icon
+    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $application/x-font-ttf
+    FilterProvider  COMPRESS  DEFLATE resp=Content-Type $font/opentype
+    FilterChain     COMPRESS
+    FilterProtocol  COMPRESS  DEFLATE change=yes;byteranges=no
+  </IfModule>
+
+  <IfModule !mod_filter.c>
+    # Legacy versions of Apache
+    AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
+    AddOutputFilterByType DEFLATE application/javascript
+    AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
+    AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml application/atom+xml
+    AddOutputFilterByType DEFLATE image/x-icon image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype
+  </IfModule>
+
+</IfModule>
+
+
+# ----------------------------------------------------------------------
+# Expires headers (for better cache control)
+# ----------------------------------------------------------------------
+
+# These are pretty far-future expires headers.
+# They assume you control versioning with filename-based cache busting
+# Additionally, consider that outdated proxies may miscache
+#   www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/
+
+# If you don't use filenames to version, lower the CSS and JS to something like
+# "access plus 1 week".
+
+<IfModule mod_expires.c>
+  ExpiresActive on
+
+# Perhaps better to whitelist expires rules? Perhaps.
+  ExpiresDefault                          "access plus 1 month"
+
+# cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5)
+  ExpiresByType text/cache-manifest       "access plus 0 seconds"
+
+# Your document html
+  ExpiresByType text/html                 "access plus 0 seconds"
+
+# Data
+  ExpiresByType text/xml                  "access plus 0 seconds"
+  ExpiresByType application/xml           "access plus 0 seconds"
+  ExpiresByType application/json          "access plus 0 seconds"
+
+# Feed
+  ExpiresByType application/rss+xml       "access plus 1 hour"
+  ExpiresByType application/atom+xml      "access plus 1 hour"
+
+# Favicon (cannot be renamed)
+  ExpiresByType image/x-icon              "access plus 1 week"
+
+# Media: images, video, audio
+  ExpiresByType image/gif                 "access plus 1 month"
+  ExpiresByType image/png                 "access plus 1 month"
+  ExpiresByType image/jpeg                "access plus 1 month"
+  ExpiresByType video/ogg                 "access plus 1 month"
+  ExpiresByType audio/ogg                 "access plus 1 month"
+  ExpiresByType video/mp4                 "access plus 1 month"
+  ExpiresByType video/webm                "access plus 1 month"
+
+# HTC files  (css3pie)
+  ExpiresByType text/x-component          "access plus 1 month"
+
+# Webfonts
+  ExpiresByType application/x-font-ttf    "access plus 1 month"
+  ExpiresByType font/opentype             "access plus 1 month"
+  ExpiresByType application/x-font-woff   "access plus 1 month"
+  ExpiresByType image/svg+xml             "access plus 1 month"
+  ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
+
+# CSS and JavaScript
+  ExpiresByType text/css                  "access plus 1 year"
+  ExpiresByType application/javascript    "access plus 1 year"
+
+</IfModule>
+
+
+# ----------------------------------------------------------------------
+# Prevent mobile network providers from modifying your site
+# ----------------------------------------------------------------------
+
+# The following header prevents modification of your code over 3G on some
+# European providers.
+# This is the official 'bypass' suggested by O2 in the UK.
+
+# <IfModule mod_headers.c>
+# Header set Cache-Control "no-transform"
+# </IfModule>
+
+
+# ----------------------------------------------------------------------
+# ETag removal
+# ----------------------------------------------------------------------
+
+# FileETag None is not enough for every server.
+<IfModule mod_headers.c>
+  Header unset ETag
+</IfModule>
+
+# Since we're sending far-future expires, we don't need ETags for
+# static content.
+#   developer.yahoo.com/performance/rules.html#etags
+FileETag None
+
+
+# ----------------------------------------------------------------------
+# Stop screen flicker in IE on CSS rollovers
+# ----------------------------------------------------------------------
+
+# The following directives stop screen flicker in IE on CSS rollovers - in
+# combination with the "ExpiresByType" rules for images (see above).
+
+# BrowserMatch "MSIE" brokenvary=1
+# BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
+# BrowserMatch "Opera" !brokenvary
+# SetEnvIf brokenvary 1 force-no-vary
+
+
+# ----------------------------------------------------------------------
+# Set Keep-Alive Header
+# ----------------------------------------------------------------------
+
+# Keep-Alive allows the server to send multiple requests through one
+# TCP-connection. Be aware of possible disadvantages of this setting. Turn on
+# if you serve a lot of static content.
+
+# <IfModule mod_headers.c>
+#   Header set Connection Keep-Alive
+# </IfModule>
+
+
+# ----------------------------------------------------------------------
+# Cookie setting from iframes
+# ----------------------------------------------------------------------
+
+# Allow cookies to be set from iframes (for IE only)
+# If needed, specify a path or regex in the Location directive.
+
+# <IfModule mod_headers.c>
+#   Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\""
+# </IfModule>
+
+
+# ----------------------------------------------------------------------
+# Start rewrite engine
+# ----------------------------------------------------------------------
+
+# Turning on the rewrite engine is necessary for the following rules and
+# features. FollowSymLinks must be enabled for this to work.
+
+# Some cloud hosting services require RewriteBase to be set: goo.gl/HOcPN
+# If using the h5bp in a subdirectory, use `RewriteBase /foo` instead where
+# 'foo' is your directory.
+
+# If your web host doesn't allow the FollowSymlinks option, you may need to
+# comment it out and use `Options +SymLinksOfOwnerMatch`, but be aware of the
+# performance impact: http://goo.gl/Mluzd
+
+<IfModule mod_rewrite.c>
+  Options +FollowSymlinks
+# Options +SymLinksIfOwnerMatch
+  Options +FollowSymlinks
+  RewriteEngine On
+# RewriteBase /
+</IfModule>
+
+
+# ----------------------------------------------------------------------
+# Suppress or force the "www." at the beginning of URLs
+# ----------------------------------------------------------------------
+
+# The same content should never be available under two different URLs -
+# especially not with and without "www." at the beginning, since this can cause
+# SEO problems (duplicate content). That's why you should choose one of the
+# alternatives and redirect the other one.
+
+# By default option 1 (no "www.") is activated.
+# no-www.org/faq.php?q=class_b
+
+# If you'd prefer to use option 2, just comment out all option 1 lines
+# and uncomment option 2.
+
+# IMPORTANT: NEVER USE BOTH RULES AT THE SAME TIME!
+
+# ----------------------------------------------------------------------
+
+# Option 1:
+# Rewrite "www.example.com -> example.com".
+
+<IfModule mod_rewrite.c>
+  RewriteCond %{HTTPS} !=on
+  RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
+  RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
+</IfModule>
+
+# ----------------------------------------------------------------------
+
+# Option 2:
+# Rewrite "example.com -> www.example.com".
+# Be aware that the following rule might not be a good idea if you use "real"
+# subdomains for certain parts of your website.
+
+# <IfModule mod_rewrite.c>
+#   RewriteCond %{HTTPS} !=on
+#   RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
+#   RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
+# </IfModule>
+
+
+# ----------------------------------------------------------------------
+# Built-in filename-based cache busting
+# ----------------------------------------------------------------------
+
+# If you're not using the build script to manage your filename version revving,
+# you might want to consider enabling this, which will route requests for
+# /css/style.20110203.css to /css/style.css
+
+# To understand why this is important and a better idea than all.css?v1231,
+# read: github.com/h5bp/html5-boilerplate/wiki/cachebusting
+
+# <IfModule mod_rewrite.c>
+#   RewriteCond %{REQUEST_FILENAME} !-f
+#   RewriteCond %{REQUEST_FILENAME} !-d
+#   RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpg|gif)$ $1.$3 [L]
+# </IfModule>
+
+
+# ----------------------------------------------------------------------
+# Prevent SSL cert warnings
+# ----------------------------------------------------------------------
+
+# Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent
+# https://www.example.com when your cert only allows https://secure.example.com
+
+# <IfModule mod_rewrite.c>
+#   RewriteCond %{SERVER_PORT} !^443
+#   RewriteRule ^ https://example-domain-please-change-me.com%{REQUEST_URI} [R=301,L]
+# </IfModule>
+
+
+# ----------------------------------------------------------------------
+# Prevent 404 errors for non-existing redirected folders
+# ----------------------------------------------------------------------
+
+# without -MultiViews, Apache will give a 404 for a rewrite if a folder of the
+# same name does not exist.
+# webmasterworld.com/apache/3808792.htm
+
+Options -MultiViews
+
+
+# ----------------------------------------------------------------------
+# Custom 404 page
+# ----------------------------------------------------------------------
+
+# You can add custom pages to handle 500 or 403 pretty easily, if you like.
+# If you are hosting your site in subdirectory, adjust this accordingly
+#    e.g. ErrorDocument 404 /subdir/404.html
+ErrorDocument 404 /404.html
+
+
+# ----------------------------------------------------------------------
+# UTF-8 encoding
+# ----------------------------------------------------------------------
+
+# Use UTF-8 encoding for anything served text/plain or text/html
+AddDefaultCharset utf-8
+
+# Force UTF-8 for a number of file formats
+AddCharset utf-8 .atom .css .js .json .rss .vtt .xml
+
+
+# ----------------------------------------------------------------------
+# A little more security
+# ----------------------------------------------------------------------
+
+# To avoid displaying the exact version number of Apache being used, add the
+# following to httpd.conf (it will not work in .htaccess):
+# ServerTokens Prod
+
+# "-Indexes" will have Apache block users from browsing folders without a
+# default document Usually you should leave this activated, because you
+# shouldn't allow everybody to surf through every folder on your server (which
+# includes rather private places like CMS system folders).
+<IfModule mod_autoindex.c>
+  Options -Indexes
+</IfModule>
+
+# Block access to "hidden" directories or files whose names begin with a
+# period. This includes directories used by version control systems such as
+# Subversion or Git.
+<IfModule mod_rewrite.c>
+  RewriteCond %{SCRIPT_FILENAME} -d [OR]
+  RewriteCond %{SCRIPT_FILENAME} -f
+  RewriteRule "(^|/)\." - [F]
+</IfModule>
+
+# Block access to backup and source files. These files may be left by some
+# text/html editors and pose a great security danger, when anyone can access
+# them.
+<FilesMatch "(\.(bak|config|sql|fla|psd|ini|log|sh|inc|swp|dist)|~)$">
+  Order allow,deny
+  Deny from all
+  Satisfy All
+</FilesMatch>
+
+# If your server is not already configured as such, the following directive
+# should be uncommented in order to set PHP's register_globals option to OFF.
+# This closes a major security hole that is abused by most XSS (cross-site
+# scripting) attacks. For more information: http://php.net/register_globals
+#
+# IF REGISTER_GLOBALS DIRECTIVE CAUSES 500 INTERNAL SERVER ERRORS:
+#
+# Your server does not allow PHP directives to be set via .htaccess. In that
+# case you must make this change in your php.ini file instead. If you are
+# using a commercial web host, contact the administrators for assistance in
+# doing this. Not all servers allow local php.ini files, and they should
+# include all PHP configurations (not just this one), or you will effectively
+# reset everything to PHP defaults. Consult www.php.net for more detailed
+# information about setting PHP directives.
+
+# php_flag register_globals Off
+
+# Rename session cookie to something else, than PHPSESSID
+# php_value session.name sid
+
+# Disable magic quotes (This feature has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0.)
+# php_flag magic_quotes_gpc Off
+
+# Do not show you are using PHP
+# Note: Move this line to php.ini since it won't work in .htaccess
+# php_flag expose_php Off
+
+# Level of log detail - log all errors
+# php_value error_reporting -1
+
+# Write errors to log file
+# php_flag log_errors On
+
+# Do not display errors in browser (production - Off, development - On)
+# php_flag display_errors Off
+
+# Do not display startup errors (production - Off, development - On)
+# php_flag display_startup_errors Off
+
+# Format errors in plain text
+# Note: Leave this setting 'On' for xdebug's var_dump() output
+# php_flag html_errors Off
+
+# Show multiple occurrence of error
+# php_flag ignore_repeated_errors Off
+
+# Show same errors from different sources
+# php_flag ignore_repeated_source Off
+
+# Size limit for error messages
+# php_value log_errors_max_len 1024
+
+# Don't precede error with string (doesn't accept empty string, use whitespace if you need)
+# php_value error_prepend_string " "
+
+# Don't prepend to error (doesn't accept empty string, use whitespace if you need)
+# php_value error_append_string " "
+
+# Increase cookie security
+<IfModule php5_module>
+  php_value session.cookie_httponly true
+</IfModule>

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/404.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/404.html b/security-admin/src/main/webapp/404.html
new file mode 100644
index 0000000..71ce557
--- /dev/null
+++ b/security-admin/src/main/webapp/404.html
@@ -0,0 +1,153 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="utf-8">
+        <title>Page Not Found :(</title>
+        <style>
+            ::-moz-selection {
+                background: #b3d4fc;
+                text-shadow: none;
+            }
+
+            ::selection {
+                background: #b3d4fc;
+                text-shadow: none;
+            }
+
+            html {
+                padding: 30px 10px;
+                font-size: 20px;
+                line-height: 1.4;
+                color: #737373;
+                background: #f0f0f0;
+                -webkit-text-size-adjust: 100%;
+                -ms-text-size-adjust: 100%;
+            }
+
+            html,
+            input {
+                font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+            }
+
+            body {
+                max-width: 500px;
+                _width: 500px;
+                padding: 30px 20px 50px;
+                border: 1px solid #b3b3b3;
+                border-radius: 4px;
+                margin: 0 auto;
+                box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff;
+                background: #fcfcfc;
+            }
+
+            h1 {
+                margin: 0 10px;
+                font-size: 50px;
+                text-align: center;
+            }
+
+            h1 span {
+                color: #bbb;
+            }
+
+            h3 {
+                margin: 1.5em 0 0.5em;
+            }
+
+            p {
+                margin: 1em 0;
+            }
+
+            ul {
+                padding: 0 0 0 40px;
+                margin: 1em 0;
+            }
+
+            .container {
+                max-width: 380px;
+                _width: 380px;
+                margin: 0 auto;
+            }
+
+            /* google search */
+
+            #goog-fixurl ul {
+                list-style: none;
+                padding: 0;
+                margin: 0;
+            }
+
+            #goog-fixurl form {
+                margin: 0;
+            }
+
+            #goog-wm-qt,
+            #goog-wm-sb {
+                border: 1px solid #bbb;
+                font-size: 16px;
+                line-height: normal;
+                vertical-align: top;
+                color: #444;
+                border-radius: 2px;
+            }
+
+            #goog-wm-qt {
+                width: 220px;
+                height: 20px;
+                padding: 5px;
+                margin: 5px 10px 0 0;
+                box-shadow: inset 0 1px 1px #ccc;
+            }
+
+            #goog-wm-sb {
+                display: inline-block;
+                height: 32px;
+                padding: 0 10px;
+                margin: 5px 0 0;
+                white-space: nowrap;
+                cursor: pointer;
+                background-color: #f5f5f5;
+                background-image: -webkit-linear-gradient(rgba(255,255,255,0), #f1f1f1);
+                background-image: -moz-linear-gradient(rgba(255,255,255,0), #f1f1f1);
+                background-image: -ms-linear-gradient(rgba(255,255,255,0), #f1f1f1);
+                background-image: -o-linear-gradient(rgba(255,255,255,0), #f1f1f1);
+                -webkit-appearance: none;
+                -moz-appearance: none;
+                appearance: none;
+                *overflow: visible;
+                *display: inline;
+                *zoom: 1;
+            }
+
+            #goog-wm-sb:hover,
+            #goog-wm-sb:focus {
+                border-color: #aaa;
+                box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
+                background-color: #f8f8f8;
+            }
+
+            #goog-wm-qt:hover,
+            #goog-wm-qt:focus {
+                border-color: #105cb6;
+                outline: 0;
+                color: #222;
+            }
+
+            input::-moz-focus-inner {
+                padding: 0;
+                border: 0;
+            }
+        </style>
+    </head>
+    <body>
+        <div class="container">
+            <h1>Not found <span>:(</span></h1>
+            <p>Sorry, but the page you were trying to view does not exist.</p>
+            <p>It looks like this was the result of either:</p>
+            <ul>
+                <li>a mistyped address</li>
+                <li>an out-of-date link</li>
+            </ul>
+        </div>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/META-INF/MANIFEST.MF
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/META-INF/MANIFEST.MF b/security-admin/src/main/webapp/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..254272e
--- /dev/null
+++ b/security-admin/src/main/webapp/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path: 
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/META-INF/applicationContext.xml
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/META-INF/applicationContext.xml b/security-admin/src/main/webapp/META-INF/applicationContext.xml
new file mode 100644
index 0000000..e0020c4
--- /dev/null
+++ b/security-admin/src/main/webapp/META-INF/applicationContext.xml
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+xmlns:aop="http://www.springframework.org/schema/aop" xmlns:jee="http://www.springframework.org/schema/jee"
+xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
+xmlns:task="http://www.springframework.org/schema/task" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xmlns:util="http://www.springframework.org/schema/util"
+xsi:schemaLocation="http://www.springframework.org/schema/aop
+http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
+http://www.springframework.org/schema/beans
+http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
+http://www.springframework.org/schema/context
+http://www.springframework.org/schema/context/spring-context-3.1.xsd
+http://www.springframework.org/schema/jee
+http://www.springframework.org/schema/jee/spring-jee-3.1.xsd
+http://www.springframework.org/schema/tx
+http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
+http://www.springframework.org/schema/task
+http://www.springframework.org/schema/task/spring-task-3.1.xsd
+http://www.springframework.org/schema/util
+http://www.springframework.org/schema/util/spring-util.xsd">
+
+	<context:component-scan base-package="com.xasecure" >
+		<!-- context:exclude-filter type="regex" expression="com.xasecure\.common\.db\.DaoManager" / -->
+	</context:component-scan>
+	<context:component-scan base-package="com.xasecure" />
+	<tx:annotation-driven />
+    	
+	<bean id="defaultEntityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
+		<property name="persistenceUnitName" value="defaultPU" />
+		<property name="dataSource" ref="defaultDataSource" />
+		<property name="jpaVendorAdapter">
+			<bean class="org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter">
+				<property name="databasePlatform" value="${jdbc.dialect}" />
+				<property name="showSql" value="${xa.jpa.showsql}" />
+				<property name="generateDdl" value="false" />
+			</bean>
+		</property>
+ 		<property name="jpaPropertyMap">
+            <props>
+                <prop key="eclipselink.weaving">false</prop>
+            </props>
+        </property>
+		<property name="loadTimeWeaver">
+    		<bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/>
+		</property>
+	</bean>
+	
+	<bean id="loggingEntityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
+		<property name="persistenceUnitName" value="loggingPU" />
+		<property name="dataSource" ref="loggingDataSource" />
+		<property name="jpaVendorAdapter">
+			<bean class="org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter">
+				<property name="databasePlatform" value="${auditDB.jdbc.dialect}" />
+				<property name="showSql" value="${xa.jpa.showsql}" />
+				<property name="generateDdl" value="false" />
+			</bean>
+		</property>
+ 		<property name="jpaPropertyMap">
+            <props>
+                <prop key="eclipselink.weaving">false</prop>
+            </props>
+        </property>
+		<property name="loadTimeWeaver">
+    		<bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/>
+		</property>
+	</bean>
+	
+	<bean id="propertyConfigurer" class="com.xasecure.common.PropertiesUtil">
+		<property name="locations">
+			<list>
+				<value>classpath:xa_default.properties</value>
+				<value>classpath:xa_system.properties</value>
+				<value>classpath:xa_custom.properties</value>
+				<value>classpath:xa_ldap.properties</value>
+			</list>
+		</property>
+	</bean>
+	
+	<bean class="org.springframework.beans.factory.config.CustomScopeConfigurer">
+		<property name="scopes">
+			<map>
+				<entry key="session">
+					<bean class="org.springframework.web.context.request.SessionScope" />
+				</entry>
+				<entry key="request">
+					<bean class="org.springframework.web.context.request.RequestScope" />
+				</entry>
+			</map>
+		</property>
+	</bean>
+	
+	<bean id="messageMappingConfigurer" class="com.xasecure.common.ErrorMessageUtil">
+		<property name="locations">
+			<list>
+				<value>classpath:db_message_bundle.properties</value>
+			</list>
+		</property>
+	</bean>
+	
+	<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
+		<property name="entityManagerFactory" ref="defaultEntityManagerFactory" />
+	</bean>
+	
+	<bean id="transactionManager2" class="org.springframework.orm.jpa.JpaTransactionManager">
+		<property name="entityManagerFactory" ref="loggingEntityManagerFactory" />
+	</bean>
+	
+	<!-- Datasource and Connection Pool Configuration http://www.mchange.com/projects/c3p0/index.jsp#configuration_properties -->
+	<bean id="defaultDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
+		<property name="driverClass">
+			<value>${jdbc.driver}</value>
+		</property>
+		<property name="jdbcUrl">
+			<value>${jdbc.url}</value>
+		</property>
+		<property name="user">
+			<value>${jdbc.user}</value>
+		</property>
+		<property name="password">
+			<value>${jdbc.password}</value>
+		</property>
+		<property name="maxPoolSize">
+			<value>20</value>
+		</property>
+		<property name="minPoolSize">
+			<value>${jdbc.minPoolSize}</value>
+		</property>
+		<property name="initialPoolSize">
+			<value>${jdbc.initialPoolSize}</value>
+		</property>
+		<!-- Seconds a Connection can remain pooled but unused before being discarded.
+		Zero means idle connections never expire. -->
+		<property name="maxIdleTime">
+			<value>${jdbc.maxIdleTime}</value>
+		</property>
+		<property name="maxStatements">
+			<value>${jdbc.maxStatements}</value>
+		</property>
+		<property name="preferredTestQuery">
+			<value>${jdbc.preferredTestQuery}</value>
+		</property>
+		<property name="idleConnectionTestPeriod">
+			<value>${jdbc.idleConnectionTestPeriod}</value>
+		</property>
+	</bean>	
+	
+	<bean id="loggingDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
+		<property name="driverClass">
+			<value>${auditDB.jdbc.driver}</value>
+		</property>
+		<property name="jdbcUrl">
+			<value>${auditDB.jdbc.url}</value>
+		</property>
+		<property name="user">
+			<value>${auditDB.jdbc.user}</value>
+		</property>
+		<property name="password">
+			<value>${auditDB.jdbc.password}</value>
+		</property>
+		<property name="maxPoolSize">
+			<value>20</value>
+		</property>
+		<property name="minPoolSize">
+			<value>${jdbc.minPoolSize}</value>
+		</property>
+		<property name="initialPoolSize">
+			<value>${jdbc.initialPoolSize}</value>
+		</property>
+		<!-- Seconds a Connection can remain pooled but unused before being discarded.
+		Zero means idle connections never expire. -->
+		<property name="maxIdleTime">
+			<value>${jdbc.maxIdleTime}</value>
+		</property>
+		<property name="maxStatements">
+			<value>${jdbc.maxStatements}</value>
+		</property>
+		<property name="preferredTestQuery">
+			<value>${jdbc.preferredTestQuery}</value>
+		</property>
+		<property name="idleConnectionTestPeriod">
+			<value>${jdbc.idleConnectionTestPeriod}</value>
+		</property>
+	</bean>
+		
+	<bean id="velocityEngine"
+	class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
+		<property name="velocityProperties">
+			<value>resource.loader=class
+				class.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader</value>
+		</property>
+	</bean>
+			
+	<bean id="restTemplate" class="org.springframework.web.client.RestTemplate"></bean>
+</beans>

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/META-INF/asynctask-applicationContext.xml
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/META-INF/asynctask-applicationContext.xml b/security-admin/src/main/webapp/META-INF/asynctask-applicationContext.xml
new file mode 100644
index 0000000..56f42db
--- /dev/null
+++ b/security-admin/src/main/webapp/META-INF/asynctask-applicationContext.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+xmlns:aop="http://www.springframework.org/schema/aop" xmlns:jee="http://www.springframework.org/schema/jee"
+xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
+xmlns:task="http://www.springframework.org/schema/task"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
+xsi:schemaLocation="http://www.springframework.org/schema/aop
+http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
+http://www.springframework.org/schema/beans
+http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
+http://www.springframework.org/schema/context
+http://www.springframework.org/schema/context/spring-context-3.1.xsd
+http://www.springframework.org/schema/jee
+http://www.springframework.org/schema/jee/spring-jee-3.1.xsd
+http://www.springframework.org/schema/tx
+http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
+http://www.springframework.org/schema/task
+http://www.springframework.org/schema/task/spring-task-3.1.xsd
+http://www.springframework.org/schema/util
+http://www.springframework.org/schema/util/spring-util.xsd">
+
+	<!-- Async TaskExecutor and Scheduler are made as annotations driven -->
+	<!-- To disable the scheduler on a cluster node, just remove the "scheduler="scheduler"" from the annotation-driven element below-->
+	<task:annotation-driven executor="executor"/>
+	<!--  pool-size="5-25" //The documentation for core and max threads along with queueing is confusing -->
+	<task:executor id="executor"
+	pool-size="10"
+	queue-capacity="10000"
+	rejection-policy="CALLER_RUNS"/>
+</beans>

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/META-INF/scheduler-applicationContext.xml
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/META-INF/scheduler-applicationContext.xml b/security-admin/src/main/webapp/META-INF/scheduler-applicationContext.xml
new file mode 100644
index 0000000..4f47cd3
--- /dev/null
+++ b/security-admin/src/main/webapp/META-INF/scheduler-applicationContext.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+xmlns:aop="http://www.springframework.org/schema/aop" xmlns:jee="http://www.springframework.org/schema/jee"
+xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
+xmlns:task="http://www.springframework.org/schema/task"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
+xsi:schemaLocation="http://www.springframework.org/schema/aop
+http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
+http://www.springframework.org/schema/beans
+http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
+http://www.springframework.org/schema/context
+http://www.springframework.org/schema/context/spring-context-3.1.xsd
+http://www.springframework.org/schema/jee
+http://www.springframework.org/schema/jee/spring-jee-3.1.xsd
+http://www.springframework.org/schema/tx
+http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
+http://www.springframework.org/schema/task
+http://www.springframework.org/schema/task/spring-task-3.1.xsd
+http://www.springframework.org/schema/util
+http://www.springframework.org/schema/util/spring-util.xsd">
+
+	<!-- Async TaskExecutor and Scheduler are made as annotations driven -->
+	<!-- To disable the scheduler on a cluster node, just remove the "scheduler="scheduler"" from the annotation-driven element below-->
+	<task:annotation-driven executor="executor" scheduler="scheduler"/>
+	<!--  pool-size="5-25" //The documentation for core and max threads along with queueing is confusing -->
+	<task:executor id="executor"
+	pool-size="10"
+	queue-capacity="10000"
+	rejection-policy="CALLER_RUNS"/>
+	<task:scheduler id="scheduler" pool-size="10"/>
+</beans>


Mime
View raw message