You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ma...@apache.org on 2014/12/16 03:44:34 UTC

[04/12] incubator-ranger git commit: RANGER-194: Rename classes under web-admin project

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/06ca8538/security-admin/src/main/java/org/apache/ranger/util/RangerEnumUtil.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/util/RangerEnumUtil.java b/security-admin/src/main/java/org/apache/ranger/util/RangerEnumUtil.java
new file mode 100644
index 0000000..613745e
--- /dev/null
+++ b/security-admin/src/main/java/org/apache/ranger/util/RangerEnumUtil.java
@@ -0,0 +1,2025 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+ package org.apache.ranger.util;
+
+/**
+ * 
+ */
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.apache.ranger.common.view.VEnum;
+import org.apache.ranger.common.view.VEnumElement;
+import org.springframework.stereotype.Component;
+
+@Component
+public class RangerEnumUtil {
+
+    static final Logger logger = Logger.getLogger(RangerEnumUtil.class);
+    public final static String ENUM_CommonEnums_ActiveStatus = "CommonEnums.ActiveStatus";
+    public final static String ENUM_CommonEnums_ActivationStatus = "CommonEnums.ActivationStatus";
+    public final static String ENUM_CommonEnums_BooleanValue = "CommonEnums.BooleanValue";
+    public final static String ENUM_CommonEnums_DataType = "CommonEnums.DataType";
+    public final static String ENUM_CommonEnums_DeviceType = "CommonEnums.DeviceType";
+    public final static String ENUM_CommonEnums_DiffLevel = "CommonEnums.DiffLevel";
+    public final static String ENUM_CommonEnums_FileType = "CommonEnums.FileType";
+    public final static String ENUM_CommonEnums_FreqType = "CommonEnums.FreqType";
+    public final static String ENUM_CommonEnums_MimeType = "CommonEnums.MimeType";
+    public final static String ENUM_CommonEnums_NumberFormat = "CommonEnums.NumberFormat";
+    public final static String ENUM_CommonEnums_ObjectStatus = "CommonEnums.ObjectStatus";
+    public final static String ENUM_CommonEnums_PasswordResetStatus = "CommonEnums.PasswordResetStatus";
+    public final static String ENUM_CommonEnums_PriorityType = "CommonEnums.PriorityType";
+    public final static String ENUM_CommonEnums_ProgressStatus = "CommonEnums.ProgressStatus";
+    public final static String ENUM_CommonEnums_RelationType = "CommonEnums.RelationType";
+    public final static String ENUM_CommonEnums_UserSource = "CommonEnums.UserSource";
+    public final static String ENUM_CommonEnums_AssetType = "CommonEnums.AssetType";
+    public final static String ENUM_CommonEnums_AccessResult = "CommonEnums.AccessResult";
+    public final static String ENUM_CommonEnums_PolicyType = "CommonEnums.PolicyType";
+    public final static String ENUM_CommonEnums_XAAuditType = "CommonEnums.XAAuditType";
+    public final static String ENUM_CommonEnums_ResourceType = "CommonEnums.ResourceType";
+    public final static String ENUM_CommonEnums_XAGroupType = "CommonEnums.XAGroupType";
+    public final static String ENUM_CommonEnums_XAPermForType = "CommonEnums.XAPermForType";
+    public final static String ENUM_CommonEnums_XAPermType = "CommonEnums.XAPermType";
+    public final static String ENUM_CommonEnums_ClassTypes = "CommonEnums.ClassTypes";
+    public final static String ENUM_XXAuthSession_AuthStatus = "XXAuthSession.AuthStatus";
+    public final static String ENUM_XXAuthSession_AuthType = "XXAuthSession.AuthType";
+    public final static String ENUM_XResponse_ResponseStatus = "XResponse.ResponseStatus";
+
+    protected Hashtable<String, VEnum> enumMap = new Hashtable<String, VEnum>();
+    protected List<VEnum> enumList = new ArrayList<VEnum>();
+
+    public List<VEnum> getEnums() {
+	if (enumList.size() == 0) {
+	    init();
+	}
+	return enumList;
+    }
+
+    public VEnum getEnum(String enumName) {
+	if (enumList.size() == 0) {
+	    init();
+	}
+	return enumMap.get(enumName);
+    }
+
+    public String getLabel(String enumName, int enumValue) {
+	VEnum vEnum = getEnum(enumName);
+	if (vEnum == null) {
+	    logger.error("Enum " + enumName + " not found.", new Throwable());
+	    return "";
+	}
+	for (VEnumElement vEnumElement : vEnum.getElementList()) {
+	    if (vEnumElement.getElementValue() == enumValue) {
+		return vEnumElement.getElementLabel();
+	    }
+	}
+	logger.error("Enum value not found. enum=" + enumName + ", value="
+		+ enumValue, new Throwable());
+	return "";
+    }
+
+	public int getValue(String enumName, String elementName) {
+		VEnum vEnum = getEnum(enumName);
+		if (vEnum == null) {
+			logger.error("Enum " + enumName + " not found.", new Throwable());
+			return -1;
+		}
+		for (VEnumElement vEnumElement : vEnum.getElementList()) {
+			if (vEnumElement.getElementName().equalsIgnoreCase(elementName)) {
+				return vEnumElement.getElementValue();
+			}
+		}
+		logger.error("Enum value not found. enum=" + enumName
+				+ ", elementName=" + elementName, new Throwable());
+		return -1;
+	}
+
+    protected void init() {
+	VEnum vEnum;
+	VEnumElement vElement;
+
+	///////////////////////////////////
+	// CommonEnums::ActiveStatus
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_ActiveStatus);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("STATUS_DISABLED");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Disabled");
+	vElement.setRbKey("xa.enum.ActiveStatus.STATUS_DISABLED");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("STATUS_ENABLED");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Enabled");
+	vElement.setRbKey("xa.enum.ActiveStatus.STATUS_ENABLED");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("STATUS_DELETED");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("Deleted");
+	vElement.setRbKey("xa.enum.ActiveStatus.STATUS_DELETED");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::ActivationStatus
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_ActivationStatus);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("ACT_STATUS_DISABLED");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Disabled");
+	vElement.setRbKey("xa.enum.ActivationStatus.ACT_STATUS_DISABLED");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("ACT_STATUS_ACTIVE");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Active");
+	vElement.setRbKey("xa.enum.ActivationStatus.ACT_STATUS_ACTIVE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("ACT_STATUS_PENDING_APPROVAL");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("Pending Approval");
+	vElement.setRbKey("xa.enum.ActivationStatus.ACT_STATUS_PENDING_APPROVAL");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("ACT_STATUS_PENDING_ACTIVATION");
+	vElement.setElementValue(3);
+	vElement.setElementLabel("Pending Activation");
+	vElement.setRbKey("xa.enum.ActivationStatus.ACT_STATUS_PENDING_ACTIVATION");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("ACT_STATUS_REJECTED");
+	vElement.setElementValue(4);
+	vElement.setElementLabel("Rejected");
+	vElement.setRbKey("xa.enum.ActivationStatus.ACT_STATUS_REJECTED");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("ACT_STATUS_DEACTIVATED");
+	vElement.setElementValue(5);
+	vElement.setElementLabel("Deactivated");
+	vElement.setRbKey("xa.enum.ActivationStatus.ACT_STATUS_DEACTIVATED");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("ACT_STATUS_PRE_REGISTRATION");
+	vElement.setElementValue(6);
+	vElement.setElementLabel("Registration Pending");
+	vElement.setRbKey("xa.enum.ActivationStatus.ACT_STATUS_PRE_REGISTRATION");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("ACT_STATUS_NO_LOGIN");
+	vElement.setElementValue(7);
+	vElement.setElementLabel("No login privilege");
+	vElement.setRbKey("xa.enum.ActivationStatus.ACT_STATUS_NO_LOGIN");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::BooleanValue
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_BooleanValue);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("BOOL_NONE");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("None");
+	vElement.setRbKey("xa.enum.BooleanValue.BOOL_NONE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("BOOL_TRUE");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("True");
+	vElement.setRbKey("xa.enum.BooleanValue.BOOL_TRUE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("BOOL_FALSE");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("False");
+	vElement.setRbKey("xa.enum.BooleanValue.BOOL_FALSE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::DataType
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_DataType);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("DATA_TYPE_UNKNOWN");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Unknown");
+	vElement.setRbKey("xa.enum.DataType.DATA_TYPE_UNKNOWN");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("DATA_TYPE_INTEGER");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Integer");
+	vElement.setRbKey("xa.enum.DataType.DATA_TYPE_INTEGER");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("DATA_TYPE_DOUBLE");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("Double");
+	vElement.setRbKey("xa.enum.DataType.DATA_TYPE_DOUBLE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("DATA_TYPE_STRING");
+	vElement.setElementValue(3);
+	vElement.setElementLabel("String");
+	vElement.setRbKey("xa.enum.DataType.DATA_TYPE_STRING");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("DATA_TYPE_BOOLEAN");
+	vElement.setElementValue(4);
+	vElement.setElementLabel("Boolean");
+	vElement.setRbKey("xa.enum.DataType.DATA_TYPE_BOOLEAN");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("DATA_TYPE_DATE");
+	vElement.setElementValue(5);
+	vElement.setElementLabel("Date");
+	vElement.setRbKey("xa.enum.DataType.DATA_TYPE_DATE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("DATA_TYPE_STRING_ENUM");
+	vElement.setElementValue(6);
+	vElement.setElementLabel("String enumeration");
+	vElement.setRbKey("xa.enum.DataType.DATA_TYPE_STRING_ENUM");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("DATA_TYPE_LONG");
+	vElement.setElementValue(7);
+	vElement.setElementLabel("Long");
+	vElement.setRbKey("xa.enum.DataType.DATA_TYPE_LONG");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("DATA_TYPE_INTEGER_ENUM");
+	vElement.setElementValue(8);
+	vElement.setElementLabel("Integer enumeration");
+	vElement.setRbKey("xa.enum.DataType.DATA_TYPE_INTEGER_ENUM");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::DeviceType
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_DeviceType);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("DEVICE_UNKNOWN");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Unknown");
+	vElement.setRbKey("xa.enum.DeviceType.DEVICE_UNKNOWN");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("DEVICE_BROWSER");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Browser");
+	vElement.setRbKey("xa.enum.DeviceType.DEVICE_BROWSER");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("DEVICE_IPHONE");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("iPhone");
+	vElement.setRbKey("xa.enum.DeviceType.DEVICE_IPHONE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("DEVICE_IPAD");
+	vElement.setElementValue(3);
+	vElement.setElementLabel("iPad");
+	vElement.setRbKey("xa.enum.DeviceType.DEVICE_IPAD");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("DEVICE_IPOD");
+	vElement.setElementValue(4);
+	vElement.setElementLabel("iPod");
+	vElement.setRbKey("xa.enum.DeviceType.DEVICE_IPOD");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("DEVICE_ANDROID");
+	vElement.setElementValue(5);
+	vElement.setElementLabel("Android");
+	vElement.setRbKey("xa.enum.DeviceType.DEVICE_ANDROID");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::DiffLevel
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_DiffLevel);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("DIFF_UNKNOWN");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Unknown");
+	vElement.setRbKey("xa.enum.DiffLevel.DIFF_UNKNOWN");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("DIFF_LOW");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Low");
+	vElement.setRbKey("xa.enum.DiffLevel.DIFF_LOW");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("DIFF_MEDIUM");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("Medium");
+	vElement.setRbKey("xa.enum.DiffLevel.DIFF_MEDIUM");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("DIFF_HIGH");
+	vElement.setElementValue(3);
+	vElement.setElementLabel("High");
+	vElement.setRbKey("xa.enum.DiffLevel.DIFF_HIGH");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::FileType
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_FileType);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("FILE_FILE");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("File");
+	vElement.setRbKey("xa.enum.FileType.FILE_FILE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("FILE_DIR");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Directory");
+	vElement.setRbKey("xa.enum.FileType.FILE_DIR");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::FreqType
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_FreqType);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("FREQ_NONE");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("None");
+	vElement.setRbKey("xa.enum.FreqType.FREQ_NONE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("FREQ_MANUAL");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Manual");
+	vElement.setRbKey("xa.enum.FreqType.FREQ_MANUAL");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("FREQ_HOURLY");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("Hourly");
+	vElement.setRbKey("xa.enum.FreqType.FREQ_HOURLY");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("FREQ_DAILY");
+	vElement.setElementValue(3);
+	vElement.setElementLabel("Daily");
+	vElement.setRbKey("xa.enum.FreqType.FREQ_DAILY");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("FREQ_WEEKLY");
+	vElement.setElementValue(4);
+	vElement.setElementLabel("Weekly");
+	vElement.setRbKey("xa.enum.FreqType.FREQ_WEEKLY");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("FREQ_BI_WEEKLY");
+	vElement.setElementValue(5);
+	vElement.setElementLabel("Bi Weekly");
+	vElement.setRbKey("xa.enum.FreqType.FREQ_BI_WEEKLY");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("FREQ_MONTHLY");
+	vElement.setElementValue(6);
+	vElement.setElementLabel("Monthly");
+	vElement.setRbKey("xa.enum.FreqType.FREQ_MONTHLY");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::MimeType
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_MimeType);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("MIME_UNKNOWN");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Unknown");
+	vElement.setRbKey("xa.enum.MimeType.MIME_UNKNOWN");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("MIME_TEXT");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Text");
+	vElement.setRbKey("xa.enum.MimeType.MIME_TEXT");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("MIME_HTML");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("Html");
+	vElement.setRbKey("xa.enum.MimeType.MIME_HTML");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("MIME_PNG");
+	vElement.setElementValue(3);
+	vElement.setElementLabel("png");
+	vElement.setRbKey("xa.enum.MimeType.MIME_PNG");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("MIME_JPEG");
+	vElement.setElementValue(4);
+	vElement.setElementLabel("jpeg");
+	vElement.setRbKey("xa.enum.MimeType.MIME_JPEG");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::NumberFormat
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_NumberFormat);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("NUM_FORMAT_NONE");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("None");
+	vElement.setRbKey("xa.enum.NumberFormat.NUM_FORMAT_NONE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("NUM_FORMAT_NUMERIC");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Numeric");
+	vElement.setRbKey("xa.enum.NumberFormat.NUM_FORMAT_NUMERIC");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("NUM_FORMAT_ALPHA");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("Alphabhet");
+	vElement.setRbKey("xa.enum.NumberFormat.NUM_FORMAT_ALPHA");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("NUM_FORMAT_ROMAN");
+	vElement.setElementValue(3);
+	vElement.setElementLabel("Roman");
+	vElement.setRbKey("xa.enum.NumberFormat.NUM_FORMAT_ROMAN");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::ObjectStatus
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_ObjectStatus);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("OBJ_STATUS_ACTIVE");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Active");
+	vElement.setRbKey("xa.enum.ObjectStatus.OBJ_STATUS_ACTIVE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("OBJ_STATUS_DELETED");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Deleted");
+	vElement.setRbKey("xa.enum.ObjectStatus.OBJ_STATUS_DELETED");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("OBJ_STATUS_ARCHIVED");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("Archived");
+	vElement.setRbKey("xa.enum.ObjectStatus.OBJ_STATUS_ARCHIVED");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::PasswordResetStatus
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_PasswordResetStatus);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("PWD_RESET_ACTIVE");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Active");
+	vElement.setRbKey("xa.enum.PasswordResetStatus.PWD_RESET_ACTIVE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("PWD_RESET_USED");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Used");
+	vElement.setRbKey("xa.enum.PasswordResetStatus.PWD_RESET_USED");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("PWD_RESET_EXPIRED");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("Expired");
+	vElement.setRbKey("xa.enum.PasswordResetStatus.PWD_RESET_EXPIRED");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("PWD_RESET_DISABLED");
+	vElement.setElementValue(3);
+	vElement.setElementLabel("Disabled");
+	vElement.setRbKey("xa.enum.PasswordResetStatus.PWD_RESET_DISABLED");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::PriorityType
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_PriorityType);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("PRIORITY_NORMAL");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Normal");
+	vElement.setRbKey("xa.enum.PriorityType.PRIORITY_NORMAL");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("PRIORITY_LOW");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Low");
+	vElement.setRbKey("xa.enum.PriorityType.PRIORITY_LOW");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("PRIORITY_MEDIUM");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("Medium");
+	vElement.setRbKey("xa.enum.PriorityType.PRIORITY_MEDIUM");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("PRIORITY_HIGH");
+	vElement.setElementValue(3);
+	vElement.setElementLabel("High");
+	vElement.setRbKey("xa.enum.PriorityType.PRIORITY_HIGH");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::ProgressStatus
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_ProgressStatus);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("PROGRESS_PENDING");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Pending");
+	vElement.setRbKey("xa.enum.ProgressStatus.PROGRESS_PENDING");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("PROGRESS_IN_PROGRESS");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("In Progress");
+	vElement.setRbKey("xa.enum.ProgressStatus.PROGRESS_IN_PROGRESS");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("PROGRESS_COMPLETE");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("Complete");
+	vElement.setRbKey("xa.enum.ProgressStatus.PROGRESS_COMPLETE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("PROGRESS_ABORTED");
+	vElement.setElementValue(3);
+	vElement.setElementLabel("Aborted");
+	vElement.setRbKey("xa.enum.ProgressStatus.PROGRESS_ABORTED");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("PROGRESS_FAILED");
+	vElement.setElementValue(4);
+	vElement.setElementLabel("Failed");
+	vElement.setRbKey("xa.enum.ProgressStatus.PROGRESS_FAILED");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::RelationType
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_RelationType);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("REL_NONE");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("None");
+	vElement.setRbKey("xa.enum.RelationType.REL_NONE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("REL_SELF");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Self");
+	vElement.setRbKey("xa.enum.RelationType.REL_SELF");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::UserSource
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_UserSource);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("USER_APP");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Application");
+	vElement.setRbKey("xa.enum.UserSource.USER_APP");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("USER_GOOGLE");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Google");
+	vElement.setRbKey("xa.enum.UserSource.USER_GOOGLE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("USER_FB");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("FaceBook");
+	vElement.setRbKey("xa.enum.UserSource.USER_FB");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::AssetType
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_AssetType);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("ASSET_UNKNOWN");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Unknown");
+	vElement.setRbKey("xa.enum.AssetType.ASSET_UNKNOWN");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("ASSET_HDFS");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("HDFS");
+	vElement.setRbKey("xa.enum.AssetType.ASSET_HDFS");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("ASSET_HBASE");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("HBase");
+	vElement.setRbKey("xa.enum.AssetType.ASSET_HBASE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("ASSET_HIVE");
+	vElement.setElementValue(3);
+	vElement.setElementLabel("Hive");
+	vElement.setRbKey("xa.enum.AssetType.ASSET_HIVE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("ASSET_AGENT");
+	vElement.setElementValue(4);
+	vElement.setElementLabel("Agent");
+	vElement.setRbKey("xa.enum.AssetType.ASSET_AGENT");
+	vElement.setEnumName(vEnum.getEnumName());
+	
+	vEnum.getElementList().add(vElement);
+	
+	vElement = new VEnumElement();
+	vElement.setElementName("ASSET_KNOX");
+	vElement.setElementValue(5);
+	vElement.setElementLabel("Knox");
+	vElement.setRbKey("xa.enum.AssetType.ASSET_KNOX");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+	
+	
+	vElement = new VEnumElement();
+	vElement.setElementName("ASSET_STORM");
+	vElement.setElementValue(6);
+	vElement.setElementLabel("Storm");
+	vElement.setRbKey("xa.enum.AssetType.ASSET_STORM");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+	///////////////////////////////////
+	// CommonEnums::AccessResult
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_AccessResult);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("ACCESS_RESULT_DENIED");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Denied");
+	vElement.setRbKey("xa.enum.AccessResult.ACCESS_RESULT_DENIED");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("ACCESS_RESULT_ALLOWED");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Allowed");
+	vElement.setRbKey("xa.enum.AccessResult.ACCESS_RESULT_ALLOWED");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::PolicyType
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_PolicyType);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("POLICY_INCLUSION");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Inclusion");
+	vElement.setRbKey("xa.enum.PolicyType.POLICY_INCLUSION");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("POLICY_EXCLUSION");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Exclusion");
+	vElement.setRbKey("xa.enum.PolicyType.POLICY_EXCLUSION");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::XAAuditType
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_XAAuditType);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_AUDIT_TYPE_UNKNOWN");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Unknown");
+	vElement.setRbKey("xa.enum.XAAuditType.XA_AUDIT_TYPE_UNKNOWN");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_AUDIT_TYPE_ALL");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("All");
+	vElement.setRbKey("xa.enum.XAAuditType.XA_AUDIT_TYPE_ALL");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_AUDIT_TYPE_READ");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("Read");
+	vElement.setRbKey("xa.enum.XAAuditType.XA_AUDIT_TYPE_READ");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_AUDIT_TYPE_WRITE");
+	vElement.setElementValue(3);
+	vElement.setElementLabel("Write");
+	vElement.setRbKey("xa.enum.XAAuditType.XA_AUDIT_TYPE_WRITE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_AUDIT_TYPE_CREATE");
+	vElement.setElementValue(4);
+	vElement.setElementLabel("Create");
+	vElement.setRbKey("xa.enum.XAAuditType.XA_AUDIT_TYPE_CREATE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_AUDIT_TYPE_DELETE");
+	vElement.setElementValue(5);
+	vElement.setElementLabel("Delete");
+	vElement.setRbKey("xa.enum.XAAuditType.XA_AUDIT_TYPE_DELETE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_AUDIT_TYPE_LOGIN");
+	vElement.setElementValue(6);
+	vElement.setElementLabel("Login");
+	vElement.setRbKey("xa.enum.XAAuditType.XA_AUDIT_TYPE_LOGIN");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::ResourceType
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_ResourceType);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("RESOURCE_UNKNOWN");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Unknown");
+	vElement.setRbKey("xa.enum.ResourceType.RESOURCE_UNKNOWN");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("RESOURCE_PATH");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Path");
+	vElement.setRbKey("xa.enum.ResourceType.RESOURCE_PATH");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("RESOURCE_DB");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("Database");
+	vElement.setRbKey("xa.enum.ResourceType.RESOURCE_DB");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("RESOURCE_TABLE");
+	vElement.setElementValue(3);
+	vElement.setElementLabel("Table");
+	vElement.setRbKey("xa.enum.ResourceType.RESOURCE_TABLE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("RESOURCE_COL_FAM");
+	vElement.setElementValue(4);
+	vElement.setElementLabel("Column Family");
+	vElement.setRbKey("xa.enum.ResourceType.RESOURCE_COL_FAM");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("RESOURCE_COLUMN");
+	vElement.setElementValue(5);
+	vElement.setElementLabel("Column");
+	vElement.setRbKey("xa.enum.ResourceType.RESOURCE_COLUMN");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("RESOURCE_VIEW");
+	vElement.setElementValue(6);
+	vElement.setElementLabel("VIEW");
+	vElement.setRbKey("xa.enum.ResourceType.RESOURCE_VIEW");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("RESOURCE_UDF");
+	vElement.setElementValue(7);
+	vElement.setElementLabel("UDF");
+	vElement.setRbKey("xa.enum.ResourceType.RESOURCE_UDF");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("RESOURCE_VIEW_COL");
+	vElement.setElementValue(8);
+	vElement.setElementLabel("View Column");
+	vElement.setRbKey("xa.enum.ResourceType.RESOURCE_VIEW_COL");
+	vElement.setEnumName(vEnum.getEnumName());
+	
+	vEnum.getElementList().add(vElement);
+	
+	vElement = new VEnumElement();
+	vElement.setElementName("RESOURCE_TOPOLOGY");
+	vElement.setElementValue(9);
+	vElement.setElementLabel("Topology");
+	vElement.setRbKey("xa.enum.ResourceType.RESOURCE_TOPOLOGY");
+	vElement.setEnumName(vEnum.getEnumName());
+	
+	vEnum.getElementList().add(vElement);
+	
+	vElement = new VEnumElement();
+	vElement.setElementName("RESOURCE_SERVICE");
+	vElement.setElementValue(10);
+	vElement.setElementLabel("Service");
+	vElement.setRbKey("xa.enum.ResourceType.RESOURCE_SERVICE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::XAGroupType
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_XAGroupType);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_GROUP_UNKNOWN");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Unknown");
+	vElement.setRbKey("xa.enum.XAGroupType.XA_GROUP_UNKNOWN");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_GROUP_USER");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("User");
+	vElement.setRbKey("xa.enum.XAGroupType.XA_GROUP_USER");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_GROUP_GROUP");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("Group");
+	vElement.setRbKey("xa.enum.XAGroupType.XA_GROUP_GROUP");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_GROUP_ROLE");
+	vElement.setElementValue(3);
+	vElement.setElementLabel("Role");
+	vElement.setRbKey("xa.enum.XAGroupType.XA_GROUP_ROLE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::XAPermForType
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_XAPermForType);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_FOR_UNKNOWN");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Unknown");
+	vElement.setRbKey("xa.enum.XAPermForType.XA_PERM_FOR_UNKNOWN");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_FOR_USER");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Permission for Users");
+	vElement.setRbKey("xa.enum.XAPermForType.XA_PERM_FOR_USER");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_FOR_GROUP");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("Permission for Groups");
+	vElement.setRbKey("xa.enum.XAPermForType.XA_PERM_FOR_GROUP");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// CommonEnums::XAPermType
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_XAPermType);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_UNKNOWN");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Unknown");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_UNKNOWN");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_RESET");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Reset");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_RESET");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_READ");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("Read");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_READ");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_WRITE");
+	vElement.setElementValue(3);
+	vElement.setElementLabel("Write");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_WRITE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_CREATE");
+	vElement.setElementValue(4);
+	vElement.setElementLabel("Create");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_CREATE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_DELETE");
+	vElement.setElementValue(5);
+	vElement.setElementLabel("Delete");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_DELETE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_ADMIN");
+	vElement.setElementValue(6);
+	vElement.setElementLabel("Admin");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_ADMIN");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_OBFUSCATE");
+	vElement.setElementValue(7);
+	vElement.setElementLabel("Obfuscate");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_OBFUSCATE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_MASK");
+	vElement.setElementValue(8);
+	vElement.setElementLabel("Mask");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_MASK");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_EXECUTE");
+	vElement.setElementValue(9);
+	vElement.setElementLabel("Execute");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_EXECUTE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_SELECT");
+	vElement.setElementValue(10);
+	vElement.setElementLabel("Select");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_SELECT");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_UPDATE");
+	vElement.setElementValue(11);
+	vElement.setElementLabel("Update");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_UPDATE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_DROP");
+	vElement.setElementValue(12);
+	vElement.setElementLabel("Drop");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_DROP");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_ALTER");
+	vElement.setElementValue(13);
+	vElement.setElementLabel("Alter");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_ALTER");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_INDEX");
+	vElement.setElementValue(14);
+	vElement.setElementLabel("Index");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_INDEX");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_LOCK");
+	vElement.setElementValue(15);
+	vElement.setElementLabel("Lock");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_LOCK");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_ALL");
+	vElement.setElementValue(16);
+	vElement.setElementLabel("All");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_ALL");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+	
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_ALLOW");
+	vElement.setElementValue(17);
+	vElement.setElementLabel("Allow");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_ALLOW");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+	
+	
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_SUBMIT_TOPOLOGY");
+	vElement.setElementValue(18);
+	vElement.setElementLabel("Submit Topology");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_SUBMIT_TOPOLOGY");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+	
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_FILE_UPLOAD");
+	vElement.setElementValue(19);
+	vElement.setElementLabel("File Upload");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_FILE_UPLOAD");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+	
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_GET_NIMBUS");
+	vElement.setElementValue(20);
+	vElement.setElementLabel("Get Nimbus Conf");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_GET_NIMBUS");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+	
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_GET_CLUSTER_INFO");
+	vElement.setElementValue(21);
+	vElement.setElementLabel("Get Cluster Info");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_GET_CLUSTER_INFO");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+	
+	
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_FILE_DOWNLOAD");
+	vElement.setElementValue(22);
+	vElement.setElementLabel("File Download");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_FILE_DOWNLOAD");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+	
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_KILL_TOPOLOGY");
+	vElement.setElementValue(23);
+	vElement.setElementLabel("Kill Topology");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_KILL_TOPOLOGY");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+	
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_REBALANCE");
+	vElement.setElementValue(24);
+	vElement.setElementLabel("Rebalance");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_REBALANCE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+	
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_ACTIVATE");
+	vElement.setElementValue(25);
+	vElement.setElementLabel("Activate");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_ACTIVATE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+	
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_DEACTIVATE");
+	vElement.setElementValue(26);
+	vElement.setElementLabel("Deactivate");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_DEACTIVATE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+	
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_GET_TOPOLOGY_CONF");
+	vElement.setElementValue(27);
+	vElement.setElementLabel("Get Topology Conf");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_GET_TOPOLOGY_CONF");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+	
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_GET_TOPOLOGY");
+	vElement.setElementValue(28);
+	vElement.setElementLabel("Get Topology");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_GET_TOPOLOGY");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+	
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_GET_USER_TOPOLOGY");
+	vElement.setElementValue(29);
+	vElement.setElementLabel("Get User Topology");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_GET_USER_TOPOLOGY");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+	
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_GET_TOPOLOGY_INFO");
+	vElement.setElementValue(30);
+	vElement.setElementLabel("Get Topology Info");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_GET_TOPOLOGY_INFO");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+	
+	vElement = new VEnumElement();
+	vElement.setElementName("XA_PERM_TYPE_UPLOAD_NEW_CREDENTIAL");
+	vElement.setElementValue(31);
+	vElement.setElementLabel("Upload New Credential");
+	vElement.setRbKey("xa.enum.XAPermType.XA_PERM_TYPE_UPLOAD_NEW_CREDENTIAL");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	
+	///////////////////////////////////
+	// CommonEnums::ClassTypes
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_CommonEnums_ClassTypes);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_NONE");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("None");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_NONE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_MESSAGE");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Message");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_MESSAGE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_USER_PROFILE");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("User Profile");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_USER_PROFILE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_AUTH_SESS");
+	vElement.setElementValue(3);
+	vElement.setElementLabel("Authentication Session");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_AUTH_SESS");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_DATA_OBJECT");
+	vElement.setElementValue(4);
+	vElement.setElementLabel("CLASS_TYPE_DATA_OBJECT");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_DATA_OBJECT");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_NAMEVALUE");
+	vElement.setElementValue(5);
+	vElement.setElementLabel("CLASS_TYPE_NAMEVALUE");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_NAMEVALUE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_LONG");
+	vElement.setElementValue(6);
+	vElement.setElementLabel("CLASS_TYPE_LONG");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_LONG");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_PASSWORD_CHANGE");
+	vElement.setElementValue(7);
+	vElement.setElementLabel("CLASS_TYPE_PASSWORD_CHANGE");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_PASSWORD_CHANGE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_STRING");
+	vElement.setElementValue(8);
+	vElement.setElementLabel("CLASS_TYPE_STRING");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_STRING");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_ENUM");
+	vElement.setElementValue(9);
+	vElement.setElementLabel("CLASS_TYPE_ENUM");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_ENUM");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_ENUM_ELEMENT");
+	vElement.setElementValue(10);
+	vElement.setElementLabel("CLASS_TYPE_ENUM_ELEMENT");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_ENUM_ELEMENT");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_RESPONSE");
+	vElement.setElementValue(11);
+	vElement.setElementLabel("Response");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_RESPONSE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_XA_ASSET");
+	vElement.setElementValue(1000);
+	vElement.setElementLabel("Asset");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_XA_ASSET");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_XA_RESOURCE");
+	vElement.setElementValue(1001);
+	vElement.setElementLabel("Resource");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_XA_RESOURCE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_XA_GROUP");
+	vElement.setElementValue(1002);
+	vElement.setElementLabel("XA Group");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_XA_GROUP");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_XA_USER");
+	vElement.setElementValue(1003);
+	vElement.setElementLabel("XA User");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_XA_USER");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_XA_GROUP_USER");
+	vElement.setElementValue(1004);
+	vElement.setElementLabel("XA Group of Users");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_XA_GROUP_USER");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_XA_GROUP_GROUP");
+	vElement.setElementValue(1005);
+	vElement.setElementLabel("XA Group of groups");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_XA_GROUP_GROUP");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_XA_PERM_MAP");
+	vElement.setElementValue(1006);
+	vElement.setElementLabel("XA permissions for resource");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_XA_PERM_MAP");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_XA_AUDIT_MAP");
+	vElement.setElementValue(1007);
+	vElement.setElementLabel("XA audits for resource");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_XA_AUDIT_MAP");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_XA_CRED_STORE");
+	vElement.setElementValue(1008);
+	vElement.setElementLabel("XA credential store");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_XA_CRED_STORE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_XA_POLICY_EXPORT_AUDIT");
+	vElement.setElementValue(1009);
+	vElement.setElementLabel("XA Policy Export Audit");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_XA_POLICY_EXPORT_AUDIT");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_TRX_LOG");
+	vElement.setElementValue(1010);
+	vElement.setElementLabel("Transaction log");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_TRX_LOG");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_XA_ACCESS_AUDIT");
+	vElement.setElementValue(1011);
+	vElement.setElementLabel("Access Audit");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_XA_ACCESS_AUDIT");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("CLASS_TYPE_XA_TRANSACTION_LOG_ATTRIBUTE");
+	vElement.setElementValue(1012);
+	vElement.setElementLabel("Transaction log attribute");
+	vElement.setRbKey("xa.enum.ClassTypes.CLASS_TYPE_XA_TRANSACTION_LOG_ATTRIBUTE");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// XXAuthSession::AuthStatus
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_XXAuthSession_AuthStatus);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("AUTH_STATUS_UNKNOWN");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Unknown");
+	vElement.setRbKey("xa.enum.AuthStatus.AUTH_STATUS_UNKNOWN");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("AUTH_STATUS_SUCCESS");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Success");
+	vElement.setRbKey("xa.enum.AuthStatus.AUTH_STATUS_SUCCESS");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("AUTH_STATUS_WRONG_PASSWORD");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("Wrong Password");
+	vElement.setRbKey("xa.enum.AuthStatus.AUTH_STATUS_WRONG_PASSWORD");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("AUTH_STATUS_DISABLED");
+	vElement.setElementValue(3);
+	vElement.setElementLabel("Account Disabled");
+	vElement.setRbKey("xa.enum.AuthStatus.AUTH_STATUS_DISABLED");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("AUTH_STATUS_LOCKED");
+	vElement.setElementValue(4);
+	vElement.setElementLabel("Locked");
+	vElement.setRbKey("xa.enum.AuthStatus.AUTH_STATUS_LOCKED");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("AUTH_STATUS_PASSWORD_EXPIRED");
+	vElement.setElementValue(5);
+	vElement.setElementLabel("Password Expired");
+	vElement.setRbKey("xa.enum.AuthStatus.AUTH_STATUS_PASSWORD_EXPIRED");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("AUTH_STATUS_USER_NOT_FOUND");
+	vElement.setElementValue(6);
+	vElement.setElementLabel("User not found");
+	vElement.setRbKey("xa.enum.AuthStatus.AUTH_STATUS_USER_NOT_FOUND");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// XXAuthSession::AuthType
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_XXAuthSession_AuthType);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("AUTH_TYPE_UNKNOWN");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Unknown");
+	vElement.setRbKey("xa.enum.AuthType.AUTH_TYPE_UNKNOWN");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("AUTH_TYPE_PASSWORD");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Username/Password");
+	vElement.setRbKey("xa.enum.AuthType.AUTH_TYPE_PASSWORD");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+	///////////////////////////////////
+	// XResponse::ResponseStatus
+	///////////////////////////////////
+	vEnum = new VEnum();
+	vEnum.setEnumName(ENUM_XResponse_ResponseStatus);
+	vEnum.setElementList(new ArrayList<VEnumElement>());
+	enumList.add(vEnum);
+	enumMap.put(vEnum.getEnumName(), vEnum);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("STATUS_SUCCESS");
+	vElement.setElementValue(0);
+	vElement.setElementLabel("Success");
+	vElement.setRbKey("xa.enum.ResponseStatus.STATUS_SUCCESS");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("STATUS_ERROR");
+	vElement.setElementValue(1);
+	vElement.setElementLabel("Error");
+	vElement.setRbKey("xa.enum.ResponseStatus.STATUS_ERROR");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("STATUS_VALIDATION");
+	vElement.setElementValue(2);
+	vElement.setElementLabel("Validation Error");
+	vElement.setRbKey("xa.enum.ResponseStatus.STATUS_VALIDATION");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("STATUS_WARN");
+	vElement.setElementValue(3);
+	vElement.setElementLabel("Warning");
+	vElement.setRbKey("xa.enum.ResponseStatus.STATUS_WARN");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("STATUS_INFO");
+	vElement.setElementValue(4);
+	vElement.setElementLabel("Information");
+	vElement.setRbKey("xa.enum.ResponseStatus.STATUS_INFO");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+	vElement = new VEnumElement();
+	vElement.setElementName("STATUS_PARTIAL_SUCCESS");
+	vElement.setElementValue(5);
+	vElement.setElementLabel("Partial Success");
+	vElement.setRbKey("xa.enum.ResponseStatus.STATUS_PARTIAL_SUCCESS");
+	vElement.setEnumName(vEnum.getEnumName());
+
+	vEnum.getElementList().add(vElement);
+
+
+    }
+
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/06ca8538/security-admin/src/main/java/org/apache/ranger/util/RangerRestUtil.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/util/RangerRestUtil.java b/security-admin/src/main/java/org/apache/ranger/util/RangerRestUtil.java
new file mode 100644
index 0000000..eb34b42
--- /dev/null
+++ b/security-admin/src/main/java/org/apache/ranger/util/RangerRestUtil.java
@@ -0,0 +1,156 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+ package org.apache.ranger.util;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.apache.ranger.common.MessageEnums;
+import org.apache.ranger.common.RESTErrorUtil;
+import org.apache.ranger.common.RangerConfigUtil;
+import org.apache.ranger.common.StringUtil;
+import org.apache.ranger.entity.XXPortalUser;
+import org.apache.ranger.view.VXMessage;
+import org.apache.ranger.view.VXPortalUser;
+import org.apache.ranger.view.VXResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Component
+public class RangerRestUtil {
+	static final Logger logger = Logger.getLogger(RangerRestUtil.class);
+
+	@Autowired
+	StringUtil stringUtil;
+
+	@Autowired
+	RESTErrorUtil restErrorUtil;
+
+	@Autowired
+	RangerConfigUtil configUtil;
+
+	void splitUserRoleList(Collection<String> collection) {
+		Collection<String> newCollection = new ArrayList<String>();
+		for (String role : collection) {
+			String roles[] = role.split(",");
+			for (int i = 0; i < roles.length; i++) {
+				String str = roles[i];
+				newCollection.add(str);
+			}
+		}
+		collection.clear();
+		collection.addAll(newCollection);
+	}
+
+	/**
+	 * This method cleans up the data provided by the user for update
+	 * 
+	 * @param userProfile
+	 * @return
+	 */
+	public void validateVUserProfileForUpdate(XXPortalUser gjUser,
+			VXPortalUser userProfile) {
+
+		List<VXMessage> messageList = new ArrayList<VXMessage>();
+
+		// Email Update is allowed.
+		// if (userProfile.getEmailAddress() != null
+		// && !userProfile.getEmailAddress().equalsIgnoreCase(
+		// gjUser.getEmailAddress())) {
+		// throw restErrorUtil.createRESTException(
+		// "Email address can't be updated",
+		// MessageEnums.DATA_NOT_UPDATABLE, null, "emailAddress",
+		// userProfile.getEmailAddress());
+		// }
+
+		// Login Id can't be changed
+		if (userProfile.getLoginId() != null
+				&& !gjUser.getLoginId().equalsIgnoreCase(
+						userProfile.getLoginId())) {
+			throw restErrorUtil.createRESTException(
+					"Username can't be updated",
+					MessageEnums.DATA_NOT_UPDATABLE, null, "loginId",
+					userProfile.getLoginId());
+		}
+		// }
+		userProfile.setFirstName(restErrorUtil.validateStringForUpdate(
+				userProfile.getFirstName(), gjUser.getFirstName(),
+				StringUtil.VALIDATION_NAME, "Invalid first name",
+				MessageEnums.INVALID_INPUT_DATA, null, "firstName"));
+
+		userProfile.setFirstName(restErrorUtil.validateStringForUpdate(
+				userProfile.getFirstName(), gjUser.getFirstName(),
+				StringUtil.VALIDATION_NAME, "Invalid first name",
+				MessageEnums.INVALID_INPUT_DATA, null, "firstName"));
+
+		userProfile.setLastName(restErrorUtil.validateStringForUpdate(
+				userProfile.getLastName(), gjUser.getLastName(),
+				StringUtil.VALIDATION_NAME, "Invalid last name",
+				MessageEnums.INVALID_INPUT_DATA, null, "lastName"));
+
+		// firstName
+		if (!stringUtil.isValidName(userProfile.getFirstName())) {
+			logger.info("Invalid first name." + userProfile);
+			messageList.add(MessageEnums.INVALID_INPUT_DATA.getMessage(null,
+					"firstName"));
+		}
+
+		// lastName
+		if (!stringUtil.isValidName(userProfile.getLastName())) {
+			logger.info("Invalid last name." + userProfile);
+			messageList.add(MessageEnums.INVALID_INPUT_DATA.getMessage(null,
+					"lastName"));
+		}
+
+		// create the public screen name
+		userProfile.setPublicScreenName(userProfile.getFirstName() + " "
+				+ userProfile.getLastName());
+
+		userProfile.setNotes(restErrorUtil.validateStringForUpdate(
+				userProfile.getNotes(), gjUser.getNotes(),
+				StringUtil.VALIDATION_NAME, "Invalid notes",
+				MessageEnums.INVALID_INPUT_DATA, null, "notes"));
+
+		// validate user roles
+		if (userProfile.getUserRoleList() != null) {
+			// First let's normalize it
+			splitUserRoleList(userProfile.getUserRoleList());
+			for (String userRole : userProfile.getUserRoleList()) {
+				restErrorUtil.validateStringList(userRole,
+						configUtil.getRoles(), "Invalid role", null,
+						"userRoleList");
+			}
+
+		}
+		if (messageList.size() > 0) {
+			VXResponse gjResponse = new VXResponse();
+			gjResponse.setStatusCode(VXResponse.STATUS_ERROR);
+			gjResponse.setMsgDesc("Validation failure");
+			gjResponse.setMessageList(messageList);
+			logger.info("Validation Error in updateUser() userProfile="
+					+ userProfile + ", error=" + gjResponse);
+			throw restErrorUtil.createRESTException(gjResponse);
+		}
+
+	}
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/06ca8538/security-admin/src/main/java/org/apache/ranger/util/RestUtil.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/util/RestUtil.java b/security-admin/src/main/java/org/apache/ranger/util/RestUtil.java
index 9500cf8..cdb0a7d 100644
--- a/security-admin/src/main/java/org/apache/ranger/util/RestUtil.java
+++ b/security-admin/src/main/java/org/apache/ranger/util/RestUtil.java
@@ -22,7 +22,7 @@
 import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
 
-import org.apache.ranger.security.context.XAContextHolder;
+import org.apache.ranger.security.context.RangerContextHolder;
 import org.springframework.stereotype.Component;
 
 @Component
@@ -60,13 +60,13 @@ public class RestUtil {
 	public static int getClientTimeOffset(){
 		int clientTimeOffsetInMinute = 0;
 		try{
-			clientTimeOffsetInMinute= XAContextHolder.getSecurityContext().getRequestContext().getClientTimeOffsetInMinute();
+			clientTimeOffsetInMinute= RangerContextHolder.getSecurityContext().getRequestContext().getClientTimeOffsetInMinute();
 		}catch(Exception ex){
 			
 		}
 		if(clientTimeOffsetInMinute==0){
 			try{
-				clientTimeOffsetInMinute= XAContextHolder.getSecurityContext().getUserSession().getClientTimeOffsetInMinute();
+				clientTimeOffsetInMinute= RangerContextHolder.getSecurityContext().getUserSession().getClientTimeOffsetInMinute();
 			}catch(Exception ex){
 				
 			}