ranger-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From omal...@apache.org
Subject [44/44] git commit: ARGUS-1. Initial code commit (Selvamohan Neethiraj via omalley)
Date Thu, 14 Aug 2014 20:50:55 GMT
ARGUS-1. Initial code commit (Selvamohan Neethiraj via omalley)


Project: http://git-wip-us.apache.org/repos/asf/incubator-argus/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-argus/commit/7defc061
Tree: http://git-wip-us.apache.org/repos/asf/incubator-argus/tree/7defc061
Diff: http://git-wip-us.apache.org/repos/asf/incubator-argus/diff/7defc061

Branch: refs/heads/master
Commit: 7defc061d6c3eab376e2413926a71f5b6ee0ad2e
Parents: 
Author: Owen O'Malley <omalley@apache.org>
Authored: Thu Aug 14 13:48:58 2014 -0700
Committer: Owen O'Malley <omalley@apache.org>
Committed: Thu Aug 14 13:48:58 2014 -0700

----------------------------------------------------------------------
 agents-audit/pom.xml                            |   49 +
 .../java/com/xasecure/audit/dao/BaseDao.java    |  225 +
 .../java/com/xasecure/audit/dao/DaoManager.java |   37 +
 .../com/xasecure/audit/dao/DaoManagerBase.java  |   67 +
 .../audit/dao/XAHBaseAuditEventDao.java         |   10 +
 .../xasecure/audit/dao/XAHdfsAuditEventDao.java |   10 +
 .../xasecure/audit/dao/XAHiveAuditEventDao.java |   10 +
 .../xasecure/audit/dao/XAKnoxAuditEventDao.java |   29 +
 .../xasecure/audit/entity/XXBaseAuditEvent.java |  207 +
 .../audit/entity/XXBaseAuditEvent_.java         |   27 +
 .../audit/entity/XXHBaseAuditEvent.java         |   65 +
 .../audit/entity/XXHBaseAuditEvent_.java        |   13 +
 .../xasecure/audit/entity/XXHdfsAuditEvent.java |   56 +
 .../audit/entity/XXHdfsAuditEvent_.java         |   12 +
 .../xasecure/audit/entity/XXHiveAuditEvent.java |   67 +
 .../audit/entity/XXHiveAuditEvent_.java         |   13 +
 .../xasecure/audit/entity/XXKnoxAuditEvent.java |   82 +
 .../xasecure/audit/model/AuditEventBase.java    |  295 ++
 .../audit/model/EnumRepositoryType.java         |   16 +
 .../xasecure/audit/model/HBaseAuditEvent.java   |   99 +
 .../xasecure/audit/model/HdfsAuditEvent.java    |   81 +
 .../xasecure/audit/model/HiveAuditEvent.java    |   99 +
 .../xasecure/audit/model/KnoxAuditEvent.java    |   91 +
 .../audit/provider/AsyncAuditProvider.java      |  322 ++
 .../xasecure/audit/provider/AuditProvider.java  |   39 +
 .../audit/provider/AuditProviderFactory.java    |  289 ++
 .../audit/provider/DbAuditProvider.java         |  302 ++
 .../audit/provider/DummyAuditProvider.java      |   77 +
 .../audit/provider/Log4jAuditProvider.java      |  101 +
 .../audit/provider/MultiDestAuditProvider.java  |  163 +
 .../com/xasecure/audit/test/TestEvents.java     |   98 +
 .../src/main/resources/META-INF/persistence.xml |   10 +
 agents-common/pom.xml                           |   39 +
 .../hadoop/config/XaSecureConfiguration.java    |  139 +
 .../constants/XaSecureHadoopConstants.java      |   80 +
 .../authorization/utils/StringUtil.java         |  231 +
 agents-cred/pom.xml                             |   34 +
 .../utils/XaSecureCredentialProvider.java       |   74 +
 agents-impl/pom.xml                             |   96 +
 .../com/xasecure/pdp/config/ConfigWatcher.java  |  532 +++
 .../pdp/config/Jersey2ConfigWatcher.java        |  554 +++
 .../pdp/config/Jersey2PolicyRefresher.java      |  206 +
 .../pdp/config/PolicyChangeListener.java        |    7 +
 .../xasecure/pdp/config/PolicyRefresher.java    |  206 +
 .../pdp/config/gson/ExcludeSerialization.java   |   13 +
 .../config/gson/PolicyExclusionStrategy.java    |   18 +
 .../pdp/constants/XaSecureConstants.java        |   60 +
 .../com/xasecure/pdp/hbase/HBaseAuthDB.java     |  488 ++
 .../com/xasecure/pdp/hbase/HBaseAuthRules.java  |  134 +
 .../com/xasecure/pdp/hbase/URLBasedAuthDB.java  |  233 +
 .../xasecure/pdp/hbase/XASecureAuthorizer.java  |  107 +
 .../xasecure/pdp/hdfs/AdminPolicyChecker.java   |  164 +
 .../com/xasecure/pdp/hdfs/URLBasedAuthDB.java   |  479 ++
 .../xasecure/pdp/hdfs/XASecureAuthorizer.java   |   21 +
 .../java/com/xasecure/pdp/hive/HiveAuthDB.java  |  298 ++
 .../com/xasecure/pdp/hive/HiveAuthRule.java     |  218 +
 .../pdp/hive/HiveAuthorizationProviderBase.java |   64 +
 .../com/xasecure/pdp/hive/URLBasedAuthDB.java   |  221 +
 .../xasecure/pdp/hive/XASecureAuthorizer.java   |   29 +
 .../com/xasecure/pdp/knox/URLBasedAuthDB.java   |  453 ++
 .../xasecure/pdp/knox/XASecureAuthorizer.java   |   65 +
 .../XASecurePDPKnoxDeploymentContributor.java   |   73 +
 .../pdp/knox/filter/XASecurePDPKnoxFilter.java  |  211 +
 .../java/com/xasecure/pdp/model/Policy.java     |  306 ++
 .../com/xasecure/pdp/model/PolicyContainer.java |   36 +
 .../com/xasecure/pdp/model/ResourcePath.java    |   24 +
 .../com/xasecure/pdp/model/RolePermission.java  |   52 +
 .../com/xasecure/pdp/utils/XaSecureUtils.java   |   48 +
 ...gateway.deploy.ProviderDeploymentContributor |   18 +
 agents-installer/pom.xml                        |   21 +
 .../utils/install/PasswordGenerator.java        |  131 +
 .../utils/install/XmlConfigChanger.java         |  452 ++
 credentialbuilder/pom.xml                       |   72 +
 .../credentialapi/CredentialReader.java         |   62 +
 .../credentialapi/TestCredentialReader.java     |   52 +
 .../hortonworks/credentialapi/Testbuildks.java  |   72 +
 .../com/hortonworks/credentialapi/buildks.java  |  315 ++
 embededwebserver/conf/xapolicymgr.properties    |   29 +
 embededwebserver/pom.xml                        |   47 +
 embededwebserver/scripts/startpolicymgr.sh      |   14 +
 embededwebserver/scripts/stoppolicymgr.sh       |   11 +
 embededwebserver/scripts/xapolicymgr            |   21 +
 .../xasecure/server/tomcat/EmbededServer.java   |  160 +
 .../server/tomcat/StopEmbededServer.java        |   43 +
 hbase-agent/conf/hbase-site-changes.cfg         |    6 +
 hbase-agent/conf/xasecure-audit-changes.cfg     |    5 +
 hbase-agent/conf/xasecure-audit.xml             |   90 +
 .../conf/xasecure-hbase-security-changes.cfg    |   10 +
 hbase-agent/conf/xasecure-hbase-security.xml    |   64 +
 .../conf/xasecure-policymgr-ssl-changes.cfg     |    9 +
 hbase-agent/conf/xasecure-policymgr-ssl.xml     |   47 +
 hbase-agent/pom.xml                             |   39 +
 hbase-agent/scripts/install.properties          |   78 +
 hbase-agent/scripts/install.sh                  |  261 ++
 hbase-agent/scripts/uninstall.sh                |   54 +
 .../com/xasecure/authorization/hbase/Crypt.java |   84 +
 .../hbase/HBaseAccessController.java            |   39 +
 .../hbase/HBaseAccessControllerFactory.java     |   61 +
 .../hbase/XaSecureAccessControlFilter.java      |   50 +
 .../hbase/XaSecureAuthorizationCoprocessor.java |  951 ++++
 hdfs-agent/conf/hdfs-site-changes.cfg           |    6 +
 hdfs-agent/conf/xasecure-audit-changes.cfg      |    5 +
 hdfs-agent/conf/xasecure-audit.xml              |   91 +
 hdfs-agent/conf/xasecure-hadoop-env.sh          |   24 +
 .../conf/xasecure-hdfs-security-changes.cfg     |   10 +
 hdfs-agent/conf/xasecure-hdfs-security.xml      |  109 +
 .../conf/xasecure-policymgr-ssl-changes.cfg     |    9 +
 hdfs-agent/conf/xasecure-policymgr-ssl.xml      |   47 +
 hdfs-agent/pom.xml                              |   99 +
 hdfs-agent/scripts/install.properties           |   80 +
 hdfs-agent/scripts/install.sh                   |  272 ++
 hdfs-agent/scripts/uninstall.sh                 |   49 +
 .../hadoop/HDFSAccessVerifier.java              |   35 +
 .../hadoop/HDFSAccessVerifierFactory.java       |   59 +
 .../agent/AuthCodeInjectionJavaAgent.java       |   32 +
 .../agent/HadoopAuthClassTransformer.java       |  196 +
 .../XaSecureAccessControlException.java         |   32 +
 .../namenode/XaSecureFSPermissionChecker.java   |  321 ++
 .../src/main/resources/META-INF/MANIFEST.MF     |    1 +
 hive-agent/conf/hive-site-changes.cfg           |    9 +
 hive-agent/conf/xasecure-audit-changes.cfg      |    5 +
 hive-agent/conf/xasecure-audit.xml              |   90 +
 .../conf/xasecure-hive-security-changes.cfg     |   10 +
 hive-agent/conf/xasecure-hive-security.xml      |   53 +
 .../conf/xasecure-policymgr-ssl-changes.cfg     |    9 +
 hive-agent/conf/xasecure-policymgr-ssl.xml      |   47 +
 hive-agent/pom.xml                              |   62 +
 hive-agent/scripts/install.properties           |   73 +
 hive-agent/scripts/install.sh                   |  235 +
 hive-agent/scripts/uninstall.sh                 |   54 +
 .../hive/authorizer/XaSecureHiveAuthorizer.java |  466 ++
 .../authorizer/XaSecureHiveAuthorizerBase.java  |  165 +
 .../XaSecureHiveAuthorizerFactory.java          |   18 +
 .../hive/constants/XaSecureHiveConstants.java   |    9 +
 knox-agent/conf/xasecure-audit-changes.cfg      |    4 +
 knox-agent/conf/xasecure-audit.xml              |   85 +
 .../conf/xasecure-knox-security-changes.cfg     |    9 +
 knox-agent/conf/xasecure-knox-security.xml      |   53 +
 .../conf/xasecure-policymgr-ssl-changes.cfg     |    7 +
 knox-agent/conf/xasecure-policymgr-ssl.xml      |   33 +
 knox-agent/pom.xml                              |   48 +
 knox-agent/scripts/install.properties           |   63 +
 knox-agent/scripts/install.sh                   |  187 +
 knox-agent/scripts/uninstall.sh                 |   54 +
 .../authorization/knox/KnoxAccessVerifier.java  |   30 +
 .../knox/KnoxAccessVerifierFactory.java         |   66 +
 lookup-client/pom.xml                           |   47 +
 .../com/xasecure/hadoop/client/HadoopFS.java    |  107 +
 .../xasecure/hadoop/client/HadoopFSTester.java  |   42 +
 .../hadoop/client/config/BaseClient.java        |   94 +
 .../hadoop/client/config/HadoopClassLoader.java |   85 +
 .../client/config/HadoopConfigHolder.java       |  312 ++
 .../client/exceptions/HadoopException.java      |   28 +
 .../com/xasecure/hbase/client/HBaseClient.java  |  182 +
 .../hbase/client/HBaseClientTester.java         |   59 +
 .../com/xasecure/hive/client/HiveClient.java    |  333 ++
 .../xasecure/hive/client/HiveClientTester.java  |   78 +
 .../com/xasecure/knox/client/KnoxClient.java    |  302 ++
 .../xasecure/knox/client/KnoxClientTest.java    |   34 +
 .../xasecure/knox/client/XaSecureConstants.java |   42 +
 lookup-client/src/scripts/log4j.xml             |   26 +
 lookup-client/src/scripts/run-audit-test.sh     |   13 +
 lookup-client/src/scripts/run-hadoop-client.sh  |    7 +
 lookup-client/src/scripts/run-hbase-client.sh   |   13 +
 lookup-client/src/scripts/run-hive-client.sh    |   13 +
 .../src/scripts/xasecure-audit.properties       |   16 +
 pom.xml                                         |  201 +
 security-admin/db/create_dbversion_catalog.sql  |    9 +
 security-admin/db/create_dev_user.sh            |   19 +
 security-admin/db/create_dev_user.sql           |    6 +
 security-admin/db/create_repo_hbase.sql         |   72 +
 security-admin/db/create_repo_hdfs.sql          |   64 +
 security-admin/db/create_repo_hive.sql          |   75 +
 security-admin/db/create_repo_knox.sql          |  245 +
 security-admin/db/init/backup_mysql_db.sh       |   18 +
 .../db/init/create_dev_backup_mysql.sh          |    1 +
 .../db/init/create_dev_backup_mysql_loaded.sh   |    1 +
 security-admin/db/init/create_xa_core_db.sh     |   14 +
 security-admin/db/init/mysql_seed_data.sql      |   25 +
 security-admin/db/init/reset_db.sh              |   18 +
 security-admin/db/init/reset_db_with_seed.sh    |   26 +
 security-admin/db/init/schema_mysql.sql         |  475 ++
 security-admin/db/patches/001-groupsource.sql   |   19 +
 security-admin/db/patches/002-policyname.sql    |   22 +
 security-admin/db/patches/003-knoxrepo.sql      |   33 +
 .../db/patches/004-assetconfigsize.sql          |   16 +
 .../db/patches/005-xtrxlogcolumnsize.sql        |   19 +
 .../db/patches/006-createdefaultpublicgroup.sql |   19 +
 security-admin/db/reset_asset.sql               |    4 +
 security-admin/db/reset_audit_mysql.sh          |   28 +
 security-admin/db/reset_core_mysql.sh           |   28 +
 security-admin/db/resetdb_dev_mysql.sh          |  121 +
 security-admin/db/xa_audit_db.sql               |   67 +
 security-admin/db/xa_core_db.sql                |  741 +++
 security-admin/db/xa_db.sql                     |  763 ++++
 security-admin/db/xa_db_bare.sql                |    0
 security-admin/db/xa_demo_db.sql                | 4314 ++++++++++++++++++
 security-admin/pom.xml                          |  385 ++
 security-admin/scripts/install.properties       |  136 +
 security-admin/scripts/install.sh               |  817 ++++
 security-admin/scripts/setup_authentication.sh  |   88 +
 .../unix/jaas/RoleUserAuthorityGranter.java     |   21 +
 .../com/xasecure/biz/AssetConnectionMgr.java    |  367 ++
 .../main/java/com/xasecure/biz/AssetMgr.java    | 2191 +++++++++
 .../java/com/xasecure/biz/AssetMgrBase.java     |  165 +
 .../src/main/java/com/xasecure/biz/BaseMgr.java |   61 +
 .../main/java/com/xasecure/biz/HadoopFSMgr.java |   65 +
 .../main/java/com/xasecure/biz/HiveFSMgr.java   |   64 +
 .../main/java/com/xasecure/biz/SessionMgr.java  |  323 ++
 .../src/main/java/com/xasecure/biz/UserMgr.java | 1102 +++++
 .../main/java/com/xasecure/biz/UserMgrBase.java |   57 +
 .../main/java/com/xasecure/biz/XABizUtil.java   | 1454 ++++++
 .../main/java/com/xasecure/biz/XAuditMgr.java   |    6 +
 .../java/com/xasecure/biz/XAuditMgrBase.java    |   93 +
 .../main/java/com/xasecure/biz/XUserMgr.java    |  432 ++
 .../java/com/xasecure/biz/XUserMgrBase.java     |  237 +
 .../java/com/xasecure/common/AppConstants.java  |  835 ++++
 .../java/com/xasecure/common/ContextUtil.java   |   65 +
 .../main/java/com/xasecure/common/DateUtil.java |   87 +
 .../com/xasecure/common/ErrorMessageUtil.java   |   42 +
 .../main/java/com/xasecure/common/GUIDUtil.java |   22 +
 .../main/java/com/xasecure/common/HTTPUtil.java |   46 +
 .../main/java/com/xasecure/common/JSONUtil.java |  115 +
 .../java/com/xasecure/common/MessageEnums.java  |   52 +
 .../java/com/xasecure/common/MyCallBack.java    |   15 +
 .../com/xasecure/common/PropertiesUtil.java     |  145 +
 .../java/com/xasecure/common/RESTErrorUtil.java |  330 ++
 .../com/xasecure/common/RequestContext.java     |  142 +
 .../com/xasecure/common/SearchCriteria.java     |  169 +
 .../java/com/xasecure/common/SearchField.java   |  199 +
 .../java/com/xasecure/common/SearchGroup.java   |  121 +
 .../java/com/xasecure/common/SearchUtil.java    |  800 ++++
 .../java/com/xasecure/common/SearchValue.java   |   59 +
 .../java/com/xasecure/common/SortField.java     |   80 +
 .../java/com/xasecure/common/StringUtil.java    |  225 +
 .../com/xasecure/common/TimedEventUtil.java     |   59 +
 .../com/xasecure/common/UserSessionBase.java    |   96 +
 .../java/com/xasecure/common/XACommonEnums.java | 1413 ++++++
 .../java/com/xasecure/common/XAConfigUtil.java  |   73 +
 .../java/com/xasecure/common/XAConstants.java   |  150 +
 .../xasecure/common/XAJAXBContextResolver.java  |   53 +
 .../java/com/xasecure/common/XASearchUtil.java  |   60 +
 .../annotation/XAAnnotationClassName.java       |   13 +
 .../annotation/XAAnnotationJSMgrName.java       |   16 +
 .../common/annotation/XAAnnotationRestAPI.java  |   17 +
 .../java/com/xasecure/common/db/BaseDao.java    |  190 +
 .../xasecure/common/db/JPABeanCallbacks.java    |   86 +
 .../java/com/xasecure/common/view/VEnum.java    |   88 +
 .../com/xasecure/common/view/VEnumElement.java  |  147 +
 .../java/com/xasecure/common/view/VList.java    |  180 +
 .../com/xasecure/common/view/VTrxLogAttr.java   |   65 +
 .../com/xasecure/common/view/ViewBaseBean.java  |   38 +
 .../credentialapi/CredentialReader.java         |   62 +
 .../main/java/com/xasecure/db/XADaoManager.java |   70 +
 .../java/com/xasecure/db/XADaoManagerBase.java  |  205 +
 .../java/com/xasecure/db/XXAccessAuditDao.java  |   24 +
 .../main/java/com/xasecure/db/XXAssetDao.java   |   47 +
 .../java/com/xasecure/db/XXAuditMapDao.java     |   52 +
 .../java/com/xasecure/db/XXAuthSessionDao.java  |   44 +
 .../com/xasecure/db/XXCredentialStoreDao.java   |   25 +
 .../main/java/com/xasecure/db/XXDBBaseDao.java  |   22 +
 .../main/java/com/xasecure/db/XXGroupDao.java   |   65 +
 .../java/com/xasecure/db/XXGroupGroupDao.java   |   25 +
 .../java/com/xasecure/db/XXGroupUserDao.java    |   59 +
 .../main/java/com/xasecure/db/XXPermMapDao.java |   51 +
 .../com/xasecure/db/XXPolicyExportAuditDao.java |   24 +
 .../java/com/xasecure/db/XXPortalUserDao.java   |   70 +
 .../com/xasecure/db/XXPortalUserRoleDao.java    |   50 +
 .../java/com/xasecure/db/XXResourceDao.java     |  267 ++
 .../main/java/com/xasecure/db/XXTrxLogDao.java  |   49 +
 .../main/java/com/xasecure/db/XXUserDao.java    |   44 +
 .../java/com/xasecure/entity/XXAccessAudit.java |  630 +++
 .../main/java/com/xasecure/entity/XXAsset.java  |  266 ++
 .../java/com/xasecure/entity/XXAuditMap.java    |  203 +
 .../java/com/xasecure/entity/XXAuthSession.java |  447 ++
 .../com/xasecure/entity/XXCredentialStore.java  |  141 +
 .../main/java/com/xasecure/entity/XXDBBase.java |  231 +
 .../main/java/com/xasecure/entity/XXGroup.java  |  253 +
 .../java/com/xasecure/entity/XXGroupGroup.java  |  174 +
 .../java/com/xasecure/entity/XXGroupUser.java   |  174 +
 .../java/com/xasecure/entity/XXPermMap.java     |  373 ++
 .../xasecure/entity/XXPolicyExportAudit.java    |  287 ++
 .../java/com/xasecure/entity/XXPortalUser.java  |  356 ++
 .../com/xasecure/entity/XXPortalUserRole.java   |  165 +
 .../java/com/xasecure/entity/XXResource.java    |  693 +++
 .../main/java/com/xasecure/entity/XXTrxLog.java |  503 ++
 .../main/java/com/xasecure/entity/XXUser.java   |  206 +
 .../com/xasecure/entity/view/VXXTrxLog.java     |  389 ++
 .../src/main/java/com/xasecure/json/Folder.java |   24 +
 .../com/xasecure/json/JsonDateSerializer.java   |   32 +
 .../java/com/xasecure/patch/BaseLoader.java     |  187 +
 .../main/java/com/xasecure/rest/AssetREST.java  |  552 +++
 .../main/java/com/xasecure/rest/PublicAPIs.java |  249 +
 .../main/java/com/xasecure/rest/UserREST.java   |  313 ++
 .../main/java/com/xasecure/rest/XAuditREST.java |  131 +
 .../main/java/com/xasecure/rest/XUserREST.java  |  575 +++
 .../security/context/XAContextHolder.java       |   26 +
 .../security/context/XASecurityContext.java     |   39 +
 .../xasecure/security/handler/Permission.java   |   34 +
 .../handler/XADomainObjectSecurityHandler.java  |   93 +
 .../security/listener/SpringEventListener.java  |   94 +
 .../standalone/StandaloneSecurityHandler.java   |   60 +
 .../authentication/XAAuthFailureHandler.java    |   90 +
 .../authentication/XAAuthSuccessHandler.java    |  143 +
 .../XAAuthenticationEntryPoint.java             |   88 +
 .../security/web/filter/MyRememberMeFilter.java |  165 +
 .../XASecurityContextFormationFilter.java       |  122 +
 .../XAUsernamePasswordAuthenticationFilter.java |   33 +
 .../service/AbstractBaseResourceService.java    |  852 ++++
 .../xasecure/service/AuthSessionService.java    |  188 +
 .../xasecure/service/PublicAPIServiceBase.java  |   26 +
 .../java/com/xasecure/service/UserService.java  |  310 ++
 .../com/xasecure/service/UserServiceBase.java   |   64 +
 .../xasecure/service/XAccessAuditService.java   |  246 +
 .../service/XAccessAuditServiceBase.java        |  104 +
 .../com/xasecure/service/XAgentService.java     |  125 +
 .../com/xasecure/service/XAssetService.java     |  307 ++
 .../com/xasecure/service/XAssetServiceBase.java |   80 +
 .../com/xasecure/service/XAuditMapService.java  |  124 +
 .../xasecure/service/XAuditMapServiceBase.java  |   76 +
 .../service/XCredentialStoreService.java        |   30 +
 .../service/XCredentialStoreServiceBase.java    |   72 +
 .../xasecure/service/XGroupGroupService.java    |   30 +
 .../service/XGroupGroupServiceBase.java         |   74 +
 .../com/xasecure/service/XGroupService.java     |  233 +
 .../com/xasecure/service/XGroupServiceBase.java |   76 +
 .../com/xasecure/service/XGroupUserService.java |  175 +
 .../xasecure/service/XGroupUserServiceBase.java |   74 +
 .../com/xasecure/service/XPermMapService.java   |  222 +
 .../xasecure/service/XPermMapServiceBase.java   |   88 +
 .../service/XPolicyExportAuditService.java      |   48 +
 .../service/XPolicyExportAuditServiceBase.java  |   82 +
 .../com/xasecure/service/XPolicyService.java    |  300 ++
 .../xasecure/service/XPortalUserService.java    |   25 +
 .../service/XPortalUserServiceBase.java         |   86 +
 .../com/xasecure/service/XResourceService.java  | 1016 +++++
 .../xasecure/service/XResourceServiceBase.java  |  108 +
 .../com/xasecure/service/XTrxLogService.java    |  396 ++
 .../xasecure/service/XTrxLogServiceBase.java    |   96 +
 .../java/com/xasecure/service/XUserService.java |  357 ++
 .../com/xasecure/service/XUserServiceBase.java  |   74 +
 .../service/filter/XARESTAPIFilter.java         |  262 ++
 .../main/java/com/xasecure/util/CLIUtil.java    |   49 +
 .../main/java/com/xasecure/util/RestUtil.java   |   59 +
 .../main/java/com/xasecure/util/XAEnumUtil.java | 1995 ++++++++
 .../main/java/com/xasecure/util/XARestUtil.java |  138 +
 .../java/com/xasecure/view/VXAccessAudit.java   |  464 ++
 .../com/xasecure/view/VXAccessAuditList.java    |   72 +
 .../main/java/com/xasecure/view/VXAsset.java    |  201 +
 .../java/com/xasecure/view/VXAssetList.java     |   72 +
 .../main/java/com/xasecure/view/VXAuditMap.java |  155 +
 .../java/com/xasecure/view/VXAuditMapList.java  |   72 +
 .../java/com/xasecure/view/VXAuditRecord.java   |  220 +
 .../com/xasecure/view/VXAuditRecordList.java    |   50 +
 .../java/com/xasecure/view/VXAuthSession.java   |  492 ++
 .../com/xasecure/view/VXAuthSessionList.java    |   72 +
 .../com/xasecure/view/VXCredentialStore.java    |  109 +
 .../xasecure/view/VXCredentialStoreList.java    |   72 +
 .../java/com/xasecure/view/VXDataObject.java    |  177 +
 .../main/java/com/xasecure/view/VXGroup.java    |  170 +
 .../java/com/xasecure/view/VXGroupGroup.java    |  131 +
 .../com/xasecure/view/VXGroupGroupList.java     |   72 +
 .../java/com/xasecure/view/VXGroupList.java     |   72 +
 .../java/com/xasecure/view/VXGroupUser.java     |  131 +
 .../java/com/xasecure/view/VXGroupUserList.java |   72 +
 .../src/main/java/com/xasecure/view/VXLong.java |   87 +
 .../main/java/com/xasecure/view/VXMessage.java  |  175 +
 .../com/xasecure/view/VXPasswordChange.java     |  197 +
 .../main/java/com/xasecure/view/VXPermMap.java  |  325 ++
 .../java/com/xasecure/view/VXPermMapList.java   |   72 +
 .../main/java/com/xasecure/view/VXPermObj.java  |  134 +
 .../java/com/xasecure/view/VXPermObjList.java   |   73 +
 .../main/java/com/xasecure/view/VXPolicy.java   |  609 +++
 .../com/xasecure/view/VXPolicyExportAudit.java  |  220 +
 .../xasecure/view/VXPolicyExportAuditList.java  |   72 +
 .../java/com/xasecure/view/VXPolicyList.java    |   73 +
 .../java/com/xasecure/view/VXPortalUser.java    |  284 ++
 .../com/xasecure/view/VXPortalUserList.java     |   72 +
 .../java/com/xasecure/view/VXRepository.java    |  211 +
 .../com/xasecure/view/VXRepositoryList.java     |   73 +
 .../main/java/com/xasecure/view/VXResource.java |  615 +++
 .../java/com/xasecure/view/VXResourceList.java  |   72 +
 .../main/java/com/xasecure/view/VXResponse.java |  166 +
 .../main/java/com/xasecure/view/VXString.java   |   87 +
 .../java/com/xasecure/view/VXStringList.java    |   72 +
 .../main/java/com/xasecure/view/VXTrxLog.java   |  370 ++
 .../java/com/xasecure/view/VXTrxLogList.java    |   67 +
 .../src/main/java/com/xasecure/view/VXUser.java |  293 ++
 .../main/java/com/xasecure/view/VXUserList.java |   72 +
 .../META-INF/infinispan-cache-config.xml        |   29 +
 .../resources/META-INF/jpa_named_queries.xml    |  170 +
 .../src/main/resources/META-INF/persistence.xml |   28 +
 .../main/resources/db_message_bundle.properties |    3 +
 .../src/main/resources/log4jdbc.properties      |   12 +
 .../main/resources/resourcenamemap.properties   |   17 +
 .../main/resources/sample.xa_system.properties  |   33 +
 .../src/main/resources/xa_custom.properties     |    2 +
 .../src/main/resources/xa_default.properties    |   65 +
 .../src/main/resources/xa_ldap.properties       |   11 +
 .../src/main/resources/xa_system.properties     |   47 +
 security-admin/src/main/webapp/.htaccess        |  553 +++
 security-admin/src/main/webapp/404.html         |  153 +
 .../src/main/webapp/META-INF/MANIFEST.MF        |    3 +
 .../main/webapp/META-INF/applicationContext.xml |  194 +
 .../META-INF/asynctask-applicationContext.xml   |   30 +
 .../META-INF/scheduler-applicationContext.xml   |   31 +
 .../META-INF/security-applicationContext.xml    |  155 +
 .../src/main/webapp/WEB-INF/log4j.xml           |   88 +
 .../src/main/webapp/WEB-INF/log4j.xml.prod      |   71 +
 security-admin/src/main/webapp/WEB-INF/web.xml  |   75 +
 security-admin/src/main/webapp/ajax_failure.jsp |   15 +
 .../src/main/webapp/ajax_success.html           |   10 +
 security-admin/src/main/webapp/favicon.ico      |  Bin 0 -> 6774 bytes
 .../webapp/fonts/fontawesome/FontAwesome.otf    |  Bin 0 -> 61896 bytes
 .../fonts/fontawesome/fontawesome-webfont.eot   |  Bin 0 -> 37405 bytes
 .../fonts/fontawesome/fontawesome-webfont.svg   |  399 ++
 .../fonts/fontawesome/fontawesome-webfont.ttf   |  Bin 0 -> 79076 bytes
 .../fonts/fontawesome/fontawesome-webfont.woff  |  Bin 0 -> 43572 bytes
 .../fonts/fontopensans/open-sans-300.woff       |  Bin 0 -> 22656 bytes
 .../fonts/fontopensans/open-sans-300i.woff      |  Bin 0 -> 21524 bytes
 .../fonts/fontopensans/open-sans-400.woff       |  Bin 0 -> 21956 bytes
 .../fonts/fontopensans/open-sans-400i.woff      |  Bin 0 -> 21092 bytes
 .../fonts/fontopensans/open-sans-600.woff       |  Bin 0 -> 22604 bytes
 .../fonts/fontopensans/open-sans-600i.woff      |  Bin 0 -> 21252 bytes
 .../fonts/fontopensans/open-sans-700.woff       |  Bin 0 -> 22748 bytes
 .../fonts/fontopensans/open-sans-700i.woff      |  Bin 0 -> 21184 bytes
 .../main/webapp/images/System-Settings-icon.png |  Bin 0 -> 17540 bytes
 .../src/main/webapp/images/avatar.png           |  Bin 0 -> 761 bytes
 .../src/main/webapp/images/body-bg.png          |  Bin 0 -> 3375 bytes
 security-admin/src/main/webapp/images/clear.png |  Bin 0 -> 509 bytes
 .../main/webapp/images/database_table_32.png    |  Bin 0 -> 1329 bytes
 .../src/main/webapp/images/error-404-icon.png   |  Bin 0 -> 2529 bytes
 .../src/main/webapp/images/error-500-icon.png   |  Bin 0 -> 2986 bytes
 .../src/main/webapp/images/favicon.ico          |  Bin 0 -> 894 bytes
 .../src/main/webapp/images/folder.png           |  Bin 0 -> 920 bytes
 .../src/main/webapp/images/folder2.png          |  Bin 0 -> 946 bytes
 security-admin/src/main/webapp/images/form.png  |  Bin 0 -> 3329 bytes
 security-admin/src/main/webapp/images/hbase.jpg |  Bin 0 -> 4575 bytes
 security-admin/src/main/webapp/images/hdfs.jpg  |  Bin 0 -> 5232 bytes
 security-admin/src/main/webapp/images/hive.png  |  Bin 0 -> 20483 bytes
 security-admin/src/main/webapp/images/hline.png |  Bin 0 -> 99 bytes
 .../src/main/webapp/images/hortonworks-logo.png |  Bin 0 -> 4980 bytes
 .../src/main/webapp/images/hortonworks_logo.png |  Bin 0 -> 17909 bytes
 .../main/webapp/images/hortonworks_logo_bw.png  |  Bin 0 -> 11493 bytes
 .../main/webapp/images/hortonworks_logo_w.png   |  Bin 0 -> 7381 bytes
 security-admin/src/main/webapp/images/knox1.png |  Bin 0 -> 34126 bytes
 security-admin/src/main/webapp/images/storm.png |  Bin 0 -> 6174 bytes
 .../src/main/webapp/images/storm1.png           |  Bin 0 -> 19620 bytes
 .../src/main/webapp/images/xa-logo.png          |  Bin 0 -> 9790 bytes
 security-admin/src/main/webapp/index.html       |  126 +
 security-admin/src/main/webapp/robots.txt       |    3 +
 security-admin/src/main/webapp/scripts/App.js   |   54 +
 security-admin/src/main/webapp/scripts/Init.js  |  139 +
 security-admin/src/main/webapp/scripts/Main.js  |   22 +
 .../collection_bases/VXAccessAuditListBase.js   |   51 +
 .../scripts/collection_bases/VXAssetListBase.js |   51 +
 .../collection_bases/VXAuditMapListBase.js      |   50 +
 .../collection_bases/VXAuditRecordListBase.js   |   51 +
 .../collection_bases/VXAuthSessionListBase.js   |   55 +
 .../scripts/collection_bases/VXGroupListBase.js |   66 +
 .../collection_bases/VXPermMapListBase.js       |   50 +
 .../VXPolicyExportAuditListBase.js              |   52 +
 .../collection_bases/VXPortalUserListBase.js    |   50 +
 .../collection_bases/VXResourceListBase.js      |   51 +
 .../collection_bases/VXTrxLogListBase.js        |   62 +
 .../scripts/collection_bases/VXUserListBase.js  |   66 +
 .../scripts/collections/VXAccessAuditList.js    |   27 +
 .../webapp/scripts/collections/VXAssetList.js   |   27 +
 .../scripts/collections/VXAuditMapList.js       |   27 +
 .../scripts/collections/VXAuditRecordList.js    |   27 +
 .../scripts/collections/VXAuthSessionList.js    |   27 +
 .../webapp/scripts/collections/VXGroupList.js   |   27 +
 .../webapp/scripts/collections/VXPermMapList.js |   27 +
 .../collections/VXPolicyExportAuditList.js      |   27 +
 .../scripts/collections/VXPortalUserList.js     |   27 +
 .../scripts/collections/VXResourceList.js       |   27 +
 .../webapp/scripts/collections/VXTrxLogList.js  |   27 +
 .../webapp/scripts/collections/VXUserList.js    |   27 +
 .../scripts/collections/XABaseCollection.js     |  136 +
 .../src/main/webapp/scripts/communicator.js     |   24 +
 .../webapp/scripts/controllers/Controller.js    |  602 +++
 .../src/main/webapp/scripts/mgrs/SessionMgr.js  |  128 +
 .../scripts/model_bases/VXAccessAuditBase.js    |  102 +
 .../webapp/scripts/model_bases/VXAssetBase.js   |  122 +
 .../scripts/model_bases/VXAuditMapBase.js       |   91 +
 .../scripts/model_bases/VXAuditRecordBase.js    |   97 +
 .../scripts/model_bases/VXAuthSessionBase.js    |   45 +
 .../webapp/scripts/model_bases/VXGroupBase.js   |   91 +
 .../scripts/model_bases/VXPasswordChangeBase.js |   24 +
 .../webapp/scripts/model_bases/VXPermMapBase.js |   96 +
 .../model_bases/VXPolicyExportAuditBase.js      |   90 +
 .../scripts/model_bases/VXPortalUserBase.js     |  156 +
 .../scripts/model_bases/VXResourceBase.js       |  116 +
 .../webapp/scripts/model_bases/VXTrxLogBase.js  |   90 +
 .../webapp/scripts/model_bases/VXUserBase.js    |   43 +
 .../src/main/webapp/scripts/models/VAppState.js |   34 +
 .../main/webapp/scripts/models/VXAccessAudit.js |   43 +
 .../src/main/webapp/scripts/models/VXAsset.js   |  123 +
 .../main/webapp/scripts/models/VXAuditMap.js    |   45 +
 .../main/webapp/scripts/models/VXAuditRecord.js |   71 +
 .../main/webapp/scripts/models/VXAuthSession.js |   43 +
 .../src/main/webapp/scripts/models/VXGroup.js   |   82 +
 .../webapp/scripts/models/VXPasswordChange.js   |   18 +
 .../src/main/webapp/scripts/models/VXPermMap.js |   46 +
 .../scripts/models/VXPolicyExportAudit.js       |   50 +
 .../main/webapp/scripts/models/VXPortalUser.js  |  110 +
 .../main/webapp/scripts/models/VXResource.js    |   44 +
 .../src/main/webapp/scripts/models/VXTrxLog.js  |   44 +
 .../src/main/webapp/scripts/models/VXUser.js    |   43 +
 .../main/webapp/scripts/models/XABaseModel.js   |  101 +
 .../src/main/webapp/scripts/modules/Vent.js     |    7 +
 .../src/main/webapp/scripts/modules/XALinks.js  |  238 +
 .../main/webapp/scripts/modules/XAOverrides.js  |  429 ++
 .../modules/globalize/message/.en.js.swp        |  Bin 0 -> 20480 bytes
 .../scripts/modules/globalize/message/en.js     |  320 ++
 .../src/main/webapp/scripts/routers/Router.js   |   66 +
 .../src/main/webapp/scripts/utils/XAEnums.js    |  318 ++
 .../src/main/webapp/scripts/utils/XAGlobals.js  |   58 +
 .../main/webapp/scripts/utils/XALangSupport.js  |  132 +
 .../webapp/scripts/utils/XATemplateHelpers.js   |  162 +
 .../src/main/webapp/scripts/utils/XAUtils.js    |  633 +++
 .../main/webapp/scripts/utils/XAViewUtils.js    |   20 +
 .../scripts/views/accounts/AccountCreate.js     |  124 +
 .../views/accounts/AccountDetailLayout.js       |   81 +
 .../scripts/views/accounts/AccountForm.js       |   77 +
 .../views/accounts/AccountTableLayout.js        |  185 +
 .../webapp/scripts/views/asset/AssetCreate.js   |  239 +
 .../webapp/scripts/views/asset/AssetForm.js     |  327 ++
 .../scripts/views/asset/AssetTableLayout.js     |  155 +
 .../webapp/scripts/views/common/AddGroup.js     |  215 +
 .../webapp/scripts/views/common/BreadCrumbs.js  |   63 +
 .../scripts/views/common/DashboardLayout.js     |   71 +
 .../webapp/scripts/views/common/ErrorView.js    |   84 +
 .../main/webapp/scripts/views/common/Footer.js  |   72 +
 .../scripts/views/common/FormInputItemList.js   |  398 ++
 .../webapp/scripts/views/common/ProfileBar.js   |   98 +
 .../main/webapp/scripts/views/common/Spinner.js |   81 +
 .../main/webapp/scripts/views/common/TopNav.js  |   88 +
 .../scripts/views/common/UserPermissionList.js  |  399 ++
 .../webapp/scripts/views/common/XABackgrid.js   |  387 ++
 .../scripts/views/common/XATableLayout.js       |  183 +
 .../webapp/scripts/views/folders/FolderInfo.js  |  164 +
 .../scripts/views/hbase/HbasePolicyCreate.js    |  289 ++
 .../scripts/views/hbase/HbasePolicyForm.js      |  541 +++
 .../scripts/views/hbase/HbaseTableLayout.js     |  383 ++
 .../scripts/views/hdfs/HDFSTableLayout.js       |  392 ++
 .../scripts/views/hive/HivePolicyCreate.js      |  287 ++
 .../webapp/scripts/views/hive/HivePolicyForm.js |  734 +++
 .../scripts/views/hive/HiveTableLayout.js       |  452 ++
 .../scripts/views/knox/KnoxPolicyCreate.js      |  290 ++
 .../webapp/scripts/views/knox/KnoxPolicyForm.js |  499 ++
 .../scripts/views/knox/KnoxTableLayout.js       |  341 ++
 .../webapp/scripts/views/policy/PolicyCreate.js |  297 ++
 .../webapp/scripts/views/policy/PolicyForm.js   |  474 ++
 .../views/policymanager/PolicyManagerLayout.js  |  114 +
 .../webapp/scripts/views/reports/AuditLayout.js | 1278 ++++++
 .../views/reports/OperationDiffDetail.js        |  374 ++
 .../scripts/views/reports/UserAccessLayout.js   | 1240 +++++
 .../scripts/views/storm/StormPolicyCreate.js    |  290 ++
 .../scripts/views/storm/StormPolicyForm.js      |  499 ++
 .../scripts/views/storm/StormTableLayout.js     |  341 ++
 .../webapp/scripts/views/user/UserProfile.js    |  203 +
 .../scripts/views/user/UserProfileForm.js       |  145 +
 .../webapp/scripts/views/users/GroupCreate.js   |  171 +
 .../webapp/scripts/views/users/GroupForm.js     |   63 +
 .../webapp/scripts/views/users/UserCreate.js    |  237 +
 .../main/webapp/scripts/views/users/UserForm.js |  226 +
 .../main/webapp/scripts/views/users/UserInfo.js |   98 +
 .../scripts/views/users/UserTableLayout.js      |  463 ++
 .../templates/accounts/AccountCreate_tmpl.html  |   12 +
 .../accounts/AccountDetailLayout_tmpl.html      |   72 +
 .../templates/accounts/AccountForm_tmpl.html    |    7 +
 .../accounts/AccountTableLayout_tmpl.html       |   15 +
 .../templates/asset/AssetCreate_tmpl.html       |   20 +
 .../webapp/templates/asset/AssetForm_tmpl.html  |   51 +
 .../templates/asset/AssetTableLayout_tmpl.html  |   13 +
 .../webapp/templates/common/AddGroup_tmpl.html  |   16 +
 .../webapp/templates/common/ErrorView_tmpl.html |   29 +
 .../webapp/templates/common/Footer_tmpl.html    |   29 +
 .../common/PolicyManagerLayout_tmpl.html        |  234 +
 .../templates/common/ProfileBar_tmpl.html       |   54 +
 .../webapp/templates/common/TopNav_tmpl.html    |   27 +
 .../templates/common/UserPermissionItem.html    |   36 +
 .../templates/common/UserPermissionList.html    |   26 +
 .../templates/common/XATableLayout_tmpl.html    |    6 +
 .../webapp/templates/common/breadcrumbs.html    |   30 +
 .../webapp/templates/common/formInputItem.html  |   38 +
 .../templates/common/formInputItemList.html     |   26 +
 .../webapp/templates/common/loading_tmpl.html   |   30 +
 .../dashboard/DashboardLayout_tmpl.html         |    3 +
 .../templates/folders/FolderInfo_tmpl.html      |  118 +
 .../templates/hbase/HbasePolicyCreate_tmpl.html |   29 +
 .../templates/hbase/HbasePolicyForm_tmpl.html   |   39 +
 .../templates/hbase/HbaseTableLayout_tmpl.html  |   25 +
 .../templates/hdfs/HDFSTableLayout_tmpl.html    |   25 +
 .../templates/hdfs/PolicyCreate_tmpl.html       |   28 +
 .../webapp/templates/hdfs/PolicyForm_tmpl.html  |   44 +
 .../main/webapp/templates/helpers/XAHelpers.js  |  462 ++
 .../templates/hive/HivePolicyCreate_tmpl.html   |   30 +
 .../templates/hive/HivePolicyForm_tmpl.html     |   50 +
 .../templates/hive/HiveTableLayout_tmpl.html    |   25 +
 .../webapp/templates/knox/KnoxInfo_tmpl.html    |   90 +
 .../templates/knox/KnoxPolicyCreate_tmpl.html   |   30 +
 .../templates/knox/KnoxPolicyForm_tmpl.html     |   38 +
 .../templates/knox/KnoxTableLayout_tmpl.html    |   25 +
 .../templates/license/LicenseCreate_tmpl.html   |   31 +
 .../templates/license/LicenseInfo_tmpl.html     |   43 +
 .../reports/AssetOperationDiff_tmpl.html        |  117 +
 .../reports/AssetUpdateOperationDiff_tmpl.html  |   96 +
 .../templates/reports/AuditLayout_tmpl.html     |   35 +
 .../reports/GroupOperationDiff_tmpl.html        |   38 +
 .../reports/GroupUpdateOperationDiff_tmpl.html  |   58 +
 .../reports/PolicyDeleteOperationDiff_tmpl.html |   86 +
 .../reports/PolicyOperationDiff_tmpl.html       |   87 +
 .../reports/PolicyUpdateOperationDiff_tmpl.html |  147 +
 .../reports/UserAccessLayout_tmpl.html          |  137 +
 .../reports/UserOperationDiff_tmpl.html         |   61 +
 .../reports/UserUpdateOperationDiff_tmpl.html   |   98 +
 .../templates/storm/StormPolicyCreate_tmpl.html |   30 +
 .../templates/storm/StormPolicyForm_tmpl.html   |   38 +
 .../templates/storm/StormTableLayout_tmpl.html  |   25 +
 .../templates/user/UserProfileForm_tmpl.html    |   24 +
 .../webapp/templates/user/UserProfile_tmpl.html |   29 +
 .../templates/users/GroupCreate_tmpl.html       |   13 +
 .../webapp/templates/users/GroupForm_tmpl.html  |    4 +
 .../webapp/templates/users/UserCreate_tmpl.html |   22 +
 .../webapp/templates/users/UserForm_tmpl.html   |   17 +
 .../webapp/templates/users/UserInfo_tmpl.html   |   83 +
 .../templates/users/UserTableLayout_tmpl.html   |   40 +
 .../java/com/xasecure/rest/TestPublicAPIs.java  |  560 +++
 .../test/java/com/xasecure/util/BaseTest.java   |   96 +
 security-admin/unixauth-config/keystore.jks     |  Bin 0 -> 2257 bytes
 security-admin/unixauth-config/server.crt       |   19 +
 .../unixauth-config/unixauth.properties         |    9 +
 src/main/assembly/admin-web.xml                 |  139 +
 src/main/assembly/hbase-agent.xml               |   86 +
 src/main/assembly/hdfs-agent.xml                |   94 +
 src/main/assembly/hive-agent.xml                |   87 +
 src/main/assembly/knox-agent.xml                |   87 +
 src/main/assembly/usersync.xml                  |  104 +
 ugsync/pom.xml                                  |   99 +
 .../process/LdapUserGroupBuilder.java           |  201 +
 .../process/PolicyMgrUserGroupBuilder.java      |  684 +++
 .../config/UserGroupSyncConfig.java             |  353 ++
 .../model/GetXGroupListResponse.java            |   31 +
 .../model/GetXUserGroupListResponse.java        |   31 +
 .../model/GetXUserListResponse.java             |   32 +
 .../xasecure/unixusersync/model/MUserInfo.java  |   43 +
 .../xasecure/unixusersync/model/XGroupInfo.java |   37 +
 .../unixusersync/model/XUserGroupInfo.java      |   40 +
 .../xasecure/unixusersync/model/XUserInfo.java  |   36 +
 .../unixusersync/poc/InvalidGroupException.java |   20 +
 .../unixusersync/poc/InvalidUserException.java  |   20 +
 .../unixusersync/poc/ListUserGroupTest.java     |   20 +
 .../xasecure/unixusersync/poc/ListUserTest.java |   30 +
 .../unixusersync/poc/ListXaSecureUser.java      |   97 +
 .../unixusersync/poc/ListXaSecureUserGroup.java |  123 +
 .../unixusersync/poc/RestClientPost.java        |   36 +
 .../poc/XaSecureClientUserGroupMapping.java     |   48 +
 .../unixusersync/poc/XaSecureJSONParser.java    |   44 +
 .../poc/XaSecureUpdateUserGroupMapping.java     |   58 +
 .../poc/XaSecureUserGroupMapping.java           |   66 +
 .../process/PolicyMgrUserGroupBuilder.java      |  684 +++
 .../process/UnixUserGroupBuilder.java           |  244 +
 .../xasecure/usergroupsync/UserGroupSink.java   |    9 +
 .../xasecure/usergroupsync/UserGroupSource.java |   10 +
 .../xasecure/usergroupsync/UserGroupSync.java   |  103 +
 unixauthclient/pom.xml                          |   80 +
 .../unix/jaas/ConsolePromptCallbackHandler.java |   40 +
 .../unix/jaas/UnixGroupPrincipal.java           |   21 +
 .../unix/jaas/UnixUserPrincipal.java            |   21 +
 .../UnixAuthenticationTester.java               |   19 +
 unixauthnative/native/credValidator             |  Bin 0 -> 8898 bytes
 unixauthnative/pom.xml                          |   56 +
 unixauthnative/src/main/c/credValidator.c       |   47 +
 unixauthservice/cert/authserver.jks             |  Bin 0 -> 2278 bytes
 unixauthservice/cert/mytruststore.jks           |  Bin 0 -> 174807 bytes
 unixauthservice/conf/jaas.conf                  |    6 +
 unixauthservice/conf/log4j.xml                  |   26 +
 unixauthservice/conf/unixauthservice.properties |  129 +
 unixauthservice/pom.xml                         |   88 +
 unixauthservice/scripts/initd                   |   20 +
 unixauthservice/scripts/install.properties      |   77 +
 unixauthservice/scripts/install.sh              |  249 +
 unixauthservice/scripts/start.sh                |   32 +
 unixauthservice/scripts/stop.sh                 |   26 +
 .../authentication/PasswordValidator.java       |  142 +
 .../UnixAuthenticationService.java              |  230 +
 688 files changed, 97388 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/pom.xml
----------------------------------------------------------------------
diff --git a/agents-audit/pom.xml b/agents-audit/pom.xml
new file mode 100644
index 0000000..478a962
--- /dev/null
+++ b/agents-audit/pom.xml
@@ -0,0 +1,49 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>security_agents.agents-audit</groupId>
+  <artifactId>agents-audit</artifactId>
+  <name>Audit Component</name>
+  <description>Auth Audit</description>
+  <packaging>jar</packaging>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  </properties>
+  <parent>
+     <groupId>com.hortonworks.hadoop.security</groupId>
+     <artifactId>argus</artifactId>
+     <version>3.5.000</version>
+     <relativePath>..</relativePath>
+  </parent>
+  <dependencies>
+    <dependency>
+	<groupId>security_agents.agents-cred</groupId>
+	<artifactId>agents-cred</artifactId>
+        <version>${project.version}</version>
+    </dependency>
+    <dependency>
+	<groupId>commons-logging</groupId>
+	<artifactId>commons-logging</artifactId>
+	<version>${commons.logging.version}</version>
+    </dependency>
+    <dependency>
+	<groupId>org.apache.hadoop</groupId>
+	<artifactId>hadoop-common</artifactId>
+	<version>${hadoop-common.version}</version>
+    </dependency>
+    <dependency>
+	<groupId>org.eclipse.persistence</groupId>
+	<artifactId>eclipselink</artifactId>
+	<version>${eclipse.jpa.version}</version>
+     </dependency>
+	<dependency>
+	<groupId>org.eclipse.persistence</groupId>
+	<artifactId>javax.persistence</artifactId>
+	<version>${javax.persistence.version}</version>
+    </dependency>
+    <dependency>
+	<groupId>log4j</groupId>
+	<artifactId>log4j</artifactId>
+	<version>${log4j.version}</version>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/dao/BaseDao.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/dao/BaseDao.java b/agents-audit/src/main/java/com/xasecure/audit/dao/BaseDao.java
new file mode 100644
index 0000000..6db8090
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/dao/BaseDao.java
@@ -0,0 +1,225 @@
+package com.xasecure.audit.dao;
+
+/*
+ * 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.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.EntityTransaction;
+import javax.persistence.NoResultException;
+import javax.persistence.TypedQuery;
+
+import org.apache.log4j.Logger;
+
+public abstract class BaseDao<T> {
+	static final Logger logger = Logger.getLogger(BaseDao.class);
+
+	protected DaoManager daoManager;
+
+	protected Class<T> tClass;
+
+	public BaseDao(DaoManagerBase daoManager) {
+		this.init(daoManager);
+	}
+
+	@SuppressWarnings("unchecked")
+	private void init(DaoManagerBase daoManager) {
+		this.daoManager = (DaoManager) daoManager;
+
+		ParameterizedType genericSuperclass = (ParameterizedType) getClass()
+				.getGenericSuperclass();
+
+		Type type = genericSuperclass.getActualTypeArguments()[0];
+
+		if (type instanceof ParameterizedType) {
+			this.tClass = (Class<T>) ((ParameterizedType) type).getRawType();
+		} else {
+			this.tClass = (Class<T>) type;
+		}
+	}
+
+	public EntityManager getEntityManager() {
+		return daoManager.getEntityManager();
+	}
+
+	public boolean beginTransaction() {
+		boolean ret = false;
+
+		EntityManager em = getEntityManager();
+
+		if(em != null) {
+			EntityTransaction et = em.getTransaction();
+			
+			// check the transaction is not already active
+			if(et != null && !et.isActive()) {
+				et.begin();
+				ret = true;
+			}
+		}
+		
+		return ret;
+	}
+
+	public void commitTransaction() {
+		EntityManager em = getEntityManager();
+
+		if(em != null) {
+			em.flush();
+
+			EntityTransaction et = em.getTransaction();
+
+			if(et != null) {
+				et.commit();
+			}
+		}
+	}
+
+	public void rollbackTransaction() {
+		EntityManager em = getEntityManager();
+
+		if(em != null) {
+			EntityTransaction et = em.getTransaction();
+
+			if(et != null) {
+				et.rollback();
+			}
+		}
+	}
+
+	public T create(T obj) {
+		T ret = null;
+
+		boolean trxBegan = beginTransaction();
+
+		getEntityManager().persist(obj);
+
+		if(trxBegan) {
+			commitTransaction();
+		}
+
+		ret = obj;
+
+		return ret;
+	}
+
+	public T update(T obj) {
+		boolean trxBegan = beginTransaction();
+
+		getEntityManager().merge(obj);
+
+		if(trxBegan) {
+			commitTransaction();
+		}
+
+		return obj;
+	}
+
+	public boolean remove(Long id) {
+		return remove(getById(id));
+	}
+
+	public boolean remove(T obj) {
+		if (obj == null) {
+			return true;
+		}
+
+		boolean ret = false;
+
+		boolean trxBegan = beginTransaction();
+
+		getEntityManager().remove(obj);
+
+		if(trxBegan) {
+			commitTransaction();
+		}
+
+		ret = true;
+
+		return ret;
+	}
+
+	public T getById(Long id) {
+		if (id == null) {
+			return null;
+		}
+		T ret = null;
+		try {
+			ret = getEntityManager().find(tClass, id);
+		} catch (NoResultException e) {
+			return null;
+		}
+		return ret;
+	}
+
+	public List<T> getAll() {
+		List<T> ret = null;
+
+		TypedQuery<T> qry = getEntityManager().createQuery(
+				"SELECT t FROM " + tClass.getSimpleName() + " t", tClass);
+
+		ret = qry.getResultList();
+
+		return ret;
+	}
+
+	public Long getAllCount() {
+		Long ret = null;
+
+		TypedQuery<Long> qry = getEntityManager().createQuery(
+				"SELECT count(t) FROM " + tClass.getSimpleName() + " t",
+				Long.class);
+
+		ret = qry.getSingleResult();
+
+		return ret;
+	}
+
+	public T getUniqueResult(TypedQuery<T> qry) {
+		T ret = null;
+
+		try {
+			ret = qry.getSingleResult();
+		} catch (NoResultException e) {
+			// ignore
+		}
+		return ret;
+	}
+
+	public List<T> executeQuery(TypedQuery<T> qry) {
+		List<T> ret = null;
+
+		ret = qry.getResultList();
+
+		return ret;
+	}
+
+	public List<T> findByNamedQuery(String namedQuery, String paramName,
+			Object refId) {
+		List<T> ret = new ArrayList<T>();
+
+		if (namedQuery == null) {
+			return ret;
+		}
+		try {
+			TypedQuery<T> qry = getEntityManager().createNamedQuery(namedQuery, tClass);
+			qry.setParameter(paramName, refId);
+			ret = qry.getResultList();
+		} catch (NoResultException e) {
+			// ignore
+		}
+		return ret;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/dao/DaoManager.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/dao/DaoManager.java b/agents-audit/src/main/java/com/xasecure/audit/dao/DaoManager.java
new file mode 100644
index 0000000..ed30b22
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/dao/DaoManager.java
@@ -0,0 +1,37 @@
+package com.xasecure.audit.dao;
+
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.PersistenceContext;
+
+
+//@Component
+public class DaoManager extends DaoManagerBase {
+
+	@PersistenceContext
+	private EntityManagerFactory emf;
+
+	static ThreadLocal<EntityManager> sEntityManager;
+
+	public void setEntityManagerFactory(EntityManagerFactory emf) {
+		this.emf = emf;
+		sEntityManager = new ThreadLocal<EntityManager>();
+	}
+
+	@Override
+	public EntityManager getEntityManager() {
+		EntityManager em = null;
+
+		if(sEntityManager != null) {
+			em = sEntityManager.get();
+
+			if(em == null && this.emf != null) {
+				em = this.emf.createEntityManager();
+
+				sEntityManager.set(em);
+			}
+		}
+
+		return em;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/dao/DaoManagerBase.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/dao/DaoManagerBase.java b/agents-audit/src/main/java/com/xasecure/audit/dao/DaoManagerBase.java
new file mode 100644
index 0000000..823fdd1
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/dao/DaoManagerBase.java
@@ -0,0 +1,67 @@
+/**
+ * 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 com.xasecure.audit.dao;
+
+import javax.persistence.EntityManager;
+
+import org.apache.log4j.Logger;
+
+
+public abstract class DaoManagerBase {
+	final static Logger logger = Logger.getLogger(DaoManagerBase.class);
+
+	abstract public EntityManager getEntityManager();
+
+    public DaoManagerBase() {
+	}
+
+	public BaseDao<?> getDaoForClassName(String className) {
+		if (className.equals("XAHBaseAuditEvent")) {
+			return getXAHBaseAuditEvent();
+		} else if (className.equals("XAHdfsAuditEvent")) {
+			return getXAHdfsAuditEvent();
+		} else if (className.equals("XAHiveAuditEvent")) {
+			return getXAHiveAuditEvent();
+		} else if (className.equals("XAKnoxAuditEvent")) {
+			return getXAKnoxAuditEvent();
+		}
+
+		logger.error("No DaoManager found for className=" + className, new Throwable());
+		return null;
+	}
+
+	public XAHBaseAuditEventDao getXAHBaseAuditEvent() {
+		return new XAHBaseAuditEventDao(this);
+	}
+
+	public XAHdfsAuditEventDao getXAHdfsAuditEvent() {
+		return new XAHdfsAuditEventDao(this);
+	}
+
+	public XAHiveAuditEventDao getXAHiveAuditEvent() {
+		return new XAHiveAuditEventDao(this);
+	}
+	
+	public XAKnoxAuditEventDao getXAKnoxAuditEvent() {
+		return new XAKnoxAuditEventDao(this);
+	}
+	
+	
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/dao/XAHBaseAuditEventDao.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/dao/XAHBaseAuditEventDao.java b/agents-audit/src/main/java/com/xasecure/audit/dao/XAHBaseAuditEventDao.java
new file mode 100644
index 0000000..1fafb6d
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/dao/XAHBaseAuditEventDao.java
@@ -0,0 +1,10 @@
+package com.xasecure.audit.dao;
+
+import com.xasecure.audit.entity.XXHBaseAuditEvent;
+
+public class XAHBaseAuditEventDao extends BaseDao<XXHBaseAuditEvent> {
+
+	public XAHBaseAuditEventDao(DaoManagerBase daoManager) {
+		super(daoManager);
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/dao/XAHdfsAuditEventDao.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/dao/XAHdfsAuditEventDao.java b/agents-audit/src/main/java/com/xasecure/audit/dao/XAHdfsAuditEventDao.java
new file mode 100644
index 0000000..409fbd7
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/dao/XAHdfsAuditEventDao.java
@@ -0,0 +1,10 @@
+package com.xasecure.audit.dao;
+
+import com.xasecure.audit.entity.XXHdfsAuditEvent;
+
+public class XAHdfsAuditEventDao extends BaseDao<XXHdfsAuditEvent> {
+
+	public XAHdfsAuditEventDao(DaoManagerBase daoManager) {
+		super(daoManager);
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/dao/XAHiveAuditEventDao.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/dao/XAHiveAuditEventDao.java b/agents-audit/src/main/java/com/xasecure/audit/dao/XAHiveAuditEventDao.java
new file mode 100644
index 0000000..91e0e46
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/dao/XAHiveAuditEventDao.java
@@ -0,0 +1,10 @@
+package com.xasecure.audit.dao;
+
+import com.xasecure.audit.entity.XXHiveAuditEvent;
+
+public class XAHiveAuditEventDao extends BaseDao<XXHiveAuditEvent> {
+
+	public XAHiveAuditEventDao(DaoManagerBase daoManager) {
+		super(daoManager);
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/dao/XAKnoxAuditEventDao.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/dao/XAKnoxAuditEventDao.java b/agents-audit/src/main/java/com/xasecure/audit/dao/XAKnoxAuditEventDao.java
new file mode 100644
index 0000000..2b7c374
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/dao/XAKnoxAuditEventDao.java
@@ -0,0 +1,29 @@
+/**
+ * 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 com.xasecure.audit.dao;
+
+import com.xasecure.audit.entity.XXKnoxAuditEvent;
+
+public class XAKnoxAuditEventDao extends BaseDao<XXKnoxAuditEvent> {
+
+	public XAKnoxAuditEventDao(DaoManagerBase daoManager) {
+		super(daoManager);
+	}
+	
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/entity/XXBaseAuditEvent.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/entity/XXBaseAuditEvent.java b/agents-audit/src/main/java/com/xasecure/audit/entity/XXBaseAuditEvent.java
new file mode 100644
index 0000000..4045652
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/entity/XXBaseAuditEvent.java
@@ -0,0 +1,207 @@
+package com.xasecure.audit.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.DiscriminatorColumn;
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Inheritance;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+
+import com.xasecure.audit.model.AuditEventBase;
+
+/**
+ * Entity implementation class for Entity: XABaseAuditEvent
+ *
+ */
+@Entity
+@Inheritance
+@DiscriminatorColumn(name="audit_type", discriminatorType=javax.persistence.DiscriminatorType.INTEGER, length=2)
+@DiscriminatorValue("0")
+@Table(name="xa_access_audit")
+public class XXBaseAuditEvent implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	private long   auditId;
+	private String agentId;
+	private String user;
+	private Date   timeStamp;
+	private long   policyId;
+	private String accessType;
+	private int  accessResult;
+	private String resultReason;
+	private String aclEnforcer;
+	private int      repositoryType;
+	private String repositoryName;
+	private String sessionId;
+	private String clientType;
+	private String clientIP;
+	private String action;
+
+	public XXBaseAuditEvent() {
+		super();
+	}   
+
+	public XXBaseAuditEvent(AuditEventBase event) {
+		this.agentId = event.getAgentId();
+		this.user = event.getUser();
+		this.timeStamp = event.getEventTime();
+		this.policyId = event.getPolicyId();
+		this.accessType = event.getAccessType();
+		this.accessResult = event.getAccessResult();
+		this.resultReason = event.getResultReason();
+		this.aclEnforcer = event.getAclEnforcer();
+		this.repositoryType = event.getRepositoryType();
+		this.repositoryName = event.getRepositoryName();
+		this.sessionId = event.getSessionId();
+		this.clientType = event.getClientType();
+		this.clientIP = event.getClientIP();
+		this.action = event.getAction();
+	}
+
+	@Id
+	@GeneratedValue(strategy = GenerationType.IDENTITY)
+	@Column(name = "id", unique = true, nullable = false)
+	public long getAuditId() {
+		return this.auditId;
+	}
+
+	public void setAuditId(long auditId) {
+		this.auditId = auditId;
+	}   
+
+	@Column(name = "agent_id")
+	public String getAgentId() {
+		return agentId;
+	}
+
+	public void setAgentId(String agentId) {
+		this.agentId = agentId;
+	}
+
+	@Column(name = "request_user")
+	public String getUser() {
+		return this.user;
+	}
+
+	public void setUser(String user) {
+		this.user = user;
+	}   
+
+	@Temporal(TemporalType.TIMESTAMP)
+	@Column(name = "event_time")
+	public Date getTimeStamp() {
+		return this.timeStamp;
+	}
+
+	public void setTimeStamp(Date timeStamp) {
+		this.timeStamp = timeStamp;
+	}   
+
+	@Column(name = "policy_id")
+	public long getPolicyId() {
+		return this.policyId;
+	}
+
+	public void setPolicyId(long policyId) {
+		this.policyId = policyId;
+	}   
+
+	@Column(name = "access_type")
+	public String getAccessType() {
+		return this.accessType;
+	}
+
+	public void setAccessType(String accessType) {
+		this.accessType = accessType;
+	}   
+
+	@Column(name = "access_result")
+	public int getAccessResult() {
+		return this.accessResult;
+	}
+
+	public void setAccessResult(int accessResult) {
+		this.accessResult = accessResult;
+	}   
+
+	@Column(name = "result_reason")
+	public String getResultReason() {
+		return this.resultReason;
+	}
+
+	public void setResultReason(String resultReason) {
+		this.resultReason = resultReason;
+	}   
+
+	@Column(name = "acl_enforcer")
+	public String getAclEnforcer() {
+		return this.aclEnforcer;
+	}
+
+	public void setAclEnforcer(String aclEnforcer) {
+		this.aclEnforcer = aclEnforcer;
+	}   
+
+	@Column(name = "repo_type")
+	public int getRepositoryType() {
+		return this.repositoryType ;
+	}
+
+	public void setRepositoryType(int repositoryType) {
+		this.repositoryType = repositoryType;
+	}   
+
+	@Column(name = "repo_name")
+	public String getRepositoryName() {
+		return this.repositoryName;
+	}
+
+	public void setRepositoryName(String repositoryName) {
+		this.repositoryName = repositoryName;
+	}   
+
+	@Column(name = "session_id")
+	public String getSessionId() {
+		return this.sessionId;
+	}
+
+	public void setSessionId(String sessionId) {
+		this.sessionId = sessionId;
+	}   
+
+	@Column(name = "client_type")
+	public String getClientType() {
+		return this.clientType;
+	}
+
+	public void setClientType(String clientType) {
+		this.clientType = clientType;
+	}   
+
+	@Column(name = "client_ip")
+	public String getClientIP() {
+		return this.clientIP;
+	}
+
+	public void setClientIP(String clientIP) {
+		this.clientIP = clientIP;
+	}
+
+	@Column(name = "action")
+	public String getAction() {
+		return this.action;
+	}
+
+	public void setAction(String action) {
+		this.action = action;
+	}
+	
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/entity/XXBaseAuditEvent_.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/entity/XXBaseAuditEvent_.java b/agents-audit/src/main/java/com/xasecure/audit/entity/XXBaseAuditEvent_.java
new file mode 100644
index 0000000..18ab66d
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/entity/XXBaseAuditEvent_.java
@@ -0,0 +1,27 @@
+package com.xasecure.audit.entity;
+
+import com.xasecure.audit.model.EnumRepositoryType;
+import java.util.Date;
+import javax.annotation.Generated;
+import javax.persistence.metamodel.SingularAttribute;
+import javax.persistence.metamodel.StaticMetamodel;
+
+@Generated(value="Dali", date="2014-02-04T07:25:42.940-0800")
+@StaticMetamodel(XXBaseAuditEvent.class)
+public class XXBaseAuditEvent_ {
+	public static volatile SingularAttribute<XXBaseAuditEvent, Long> auditId;
+	public static volatile SingularAttribute<XXBaseAuditEvent, String> agentId;
+	public static volatile SingularAttribute<XXBaseAuditEvent, String> user;
+	public static volatile SingularAttribute<XXBaseAuditEvent, Date> timeStamp;
+	public static volatile SingularAttribute<XXBaseAuditEvent, Long> policyId;
+	public static volatile SingularAttribute<XXBaseAuditEvent, String> accessType;
+	public static volatile SingularAttribute<XXBaseAuditEvent, Short> accessResult;
+	public static volatile SingularAttribute<XXBaseAuditEvent, String> resultReason;
+	public static volatile SingularAttribute<XXBaseAuditEvent, String> aclEnforcer;
+	public static volatile SingularAttribute<XXBaseAuditEvent, EnumRepositoryType> repositoryType;
+	public static volatile SingularAttribute<XXBaseAuditEvent, String> repositoryName;
+	public static volatile SingularAttribute<XXBaseAuditEvent, String> sessionId;
+	public static volatile SingularAttribute<XXBaseAuditEvent, String> clientType;
+	public static volatile SingularAttribute<XXBaseAuditEvent, String> clientIP;
+	public static volatile SingularAttribute<XXBaseAuditEvent, String> action;
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/entity/XXHBaseAuditEvent.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/entity/XXHBaseAuditEvent.java b/agents-audit/src/main/java/com/xasecure/audit/entity/XXHBaseAuditEvent.java
new file mode 100644
index 0000000..eb2282c
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/entity/XXHBaseAuditEvent.java
@@ -0,0 +1,65 @@
+package com.xasecure.audit.entity;
+
+import java.io.Serializable;
+
+import javax.persistence.Column;
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Entity;
+
+import com.xasecure.audit.model.EnumRepositoryType;
+import com.xasecure.audit.model.HBaseAuditEvent;
+
+/**
+ * Entity implementation class for Entity: XAHBaseAuditEvent
+ *
+ */
+@Entity
+@DiscriminatorValue("1")
+public class XXHBaseAuditEvent extends XXBaseAuditEvent implements Serializable {
+	private static final long serialVersionUID = 1L;
+	
+	private String resourcePath;
+	private String resourceType;
+	private String requestData;
+
+
+	public XXHBaseAuditEvent() {
+		super();
+	}   
+
+	public XXHBaseAuditEvent(HBaseAuditEvent event) {
+		super(event);
+		
+		this.resourcePath = event.getResourcePath();
+		this.resourceType = event.getResourceType();
+		this.requestData  = event.getRequestData();
+	}
+
+	@Column(name = "resource_path")
+	public String getResourcePath() {
+		return this.resourcePath;
+	}
+
+	public void setResourcePath(String resourcePath) {
+		this.resourcePath = resourcePath;
+	}   
+
+	@Column(name = "resource_type")
+	public String getResourceType() {
+		return this.resourceType;
+	}
+
+	public void setResourceType(String resourceType) {
+		this.resourceType = resourceType;
+	}   
+
+	@Column(name = "request_data")
+	public String getRequestData() {
+		return this.requestData;
+	}
+
+	public void setRequestData(String requestData) {
+		this.requestData = requestData;
+	}
+   
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/entity/XXHBaseAuditEvent_.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/entity/XXHBaseAuditEvent_.java b/agents-audit/src/main/java/com/xasecure/audit/entity/XXHBaseAuditEvent_.java
new file mode 100644
index 0000000..fc73485
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/entity/XXHBaseAuditEvent_.java
@@ -0,0 +1,13 @@
+package com.xasecure.audit.entity;
+
+import javax.annotation.Generated;
+import javax.persistence.metamodel.SingularAttribute;
+import javax.persistence.metamodel.StaticMetamodel;
+
+@Generated(value="Dali", date="2014-02-02T14:05:13.483-0800")
+@StaticMetamodel(XXHBaseAuditEvent.class)
+public class XXHBaseAuditEvent_ extends XXBaseAuditEvent_ {
+	public static volatile SingularAttribute<XXHBaseAuditEvent, String> resourcePath;
+	public static volatile SingularAttribute<XXHBaseAuditEvent, String> resourceType;
+	public static volatile SingularAttribute<XXHBaseAuditEvent, String> requestData;
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/entity/XXHdfsAuditEvent.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/entity/XXHdfsAuditEvent.java b/agents-audit/src/main/java/com/xasecure/audit/entity/XXHdfsAuditEvent.java
new file mode 100644
index 0000000..eab5b76
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/entity/XXHdfsAuditEvent.java
@@ -0,0 +1,56 @@
+package com.xasecure.audit.entity;
+
+import java.io.Serializable;
+
+import javax.persistence.Column;
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Entity;
+import javax.persistence.Inheritance;
+import javax.persistence.InheritanceType;
+import javax.persistence.Table;
+
+import com.xasecure.audit.model.HdfsAuditEvent;
+
+/**
+ * Entity implementation class for Entity: XXHdfsAuditEvent
+ *
+ */
+@Entity
+@DiscriminatorValue("2")
+public class XXHdfsAuditEvent extends XXBaseAuditEvent implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	private String resourcePath;
+	private String resourceType;
+
+
+	public XXHdfsAuditEvent() {
+		super();
+	}
+
+	public XXHdfsAuditEvent(HdfsAuditEvent event) {
+		super(event);
+
+		this.resourcePath = event.getResourcePath();
+		this.resourceType = event.getResourceType();
+	}
+
+	@Column(name = "resource_path")
+	public String getResourcePath() {
+		return this.resourcePath;
+	}
+
+	public void setResourcePath(String resourcePath) {
+		this.resourcePath = resourcePath;
+	}   
+
+	@Column(name = "resource_type")
+	public String getResourceType() {
+		return this.resourceType;
+	}
+
+	public void setResourceType(String resourceType) {
+		this.resourceType = resourceType;
+	}
+   
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/entity/XXHdfsAuditEvent_.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/entity/XXHdfsAuditEvent_.java b/agents-audit/src/main/java/com/xasecure/audit/entity/XXHdfsAuditEvent_.java
new file mode 100644
index 0000000..d02667d
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/entity/XXHdfsAuditEvent_.java
@@ -0,0 +1,12 @@
+package com.xasecure.audit.entity;
+
+import javax.annotation.Generated;
+import javax.persistence.metamodel.SingularAttribute;
+import javax.persistence.metamodel.StaticMetamodel;
+
+@Generated(value="Dali", date="2014-02-02T14:05:13.489-0800")
+@StaticMetamodel(XXHdfsAuditEvent.class)
+public class XXHdfsAuditEvent_ extends XXBaseAuditEvent_ {
+	public static volatile SingularAttribute<XXHdfsAuditEvent, String> resourcePath;
+	public static volatile SingularAttribute<XXHdfsAuditEvent, String> resourceType;
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/entity/XXHiveAuditEvent.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/entity/XXHiveAuditEvent.java b/agents-audit/src/main/java/com/xasecure/audit/entity/XXHiveAuditEvent.java
new file mode 100644
index 0000000..09615e7
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/entity/XXHiveAuditEvent.java
@@ -0,0 +1,67 @@
+package com.xasecure.audit.entity;
+
+import java.io.Serializable;
+
+import javax.persistence.Column;
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Entity;
+import javax.persistence.Inheritance;
+import javax.persistence.InheritanceType;
+import javax.persistence.Table;
+
+import com.xasecure.audit.model.HiveAuditEvent;
+
+/**
+ * Entity implementation class for Entity: XXHiveAuditEvent
+ *
+ */
+@Entity
+@DiscriminatorValue("3")
+public class XXHiveAuditEvent extends XXBaseAuditEvent implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	private String resourcePath;
+	private String resourceType;
+	private String requestData;
+
+
+	public XXHiveAuditEvent() {
+		super();
+	}   
+
+	public XXHiveAuditEvent(HiveAuditEvent event) {
+		super(event);
+
+		this.resourcePath = event.getResourcePath();
+		this.resourceType = event.getResourceType();
+		this.requestData  = event.getRequestData();
+	}   
+
+	@Column(name = "resource_path")
+	public String getResourcePath() {
+		return this.resourcePath;
+	}
+
+	public void setResourcePath(String resourcePath) {
+		this.resourcePath = resourcePath;
+	}   
+
+	@Column(name = "resource_type")
+	public String getResourceType() {
+		return this.resourceType;
+	}
+
+	public void setResourceType(String resourceType) {
+		this.resourceType = resourceType;
+	}   
+
+	@Column(name = "request_data")
+	public String getRequestData() {
+		return this.requestData;
+	}
+
+	public void setRequestData(String requestData) {
+		this.requestData = requestData;
+	}
+   
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/entity/XXHiveAuditEvent_.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/entity/XXHiveAuditEvent_.java b/agents-audit/src/main/java/com/xasecure/audit/entity/XXHiveAuditEvent_.java
new file mode 100644
index 0000000..fa973d1
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/entity/XXHiveAuditEvent_.java
@@ -0,0 +1,13 @@
+package com.xasecure.audit.entity;
+
+import javax.annotation.Generated;
+import javax.persistence.metamodel.SingularAttribute;
+import javax.persistence.metamodel.StaticMetamodel;
+
+@Generated(value="Dali", date="2014-02-02T14:05:13.494-0800")
+@StaticMetamodel(XXHiveAuditEvent.class)
+public class XXHiveAuditEvent_ extends XXBaseAuditEvent_ {
+	public static volatile SingularAttribute<XXHiveAuditEvent, String> resourcePath;
+	public static volatile SingularAttribute<XXHiveAuditEvent, String> resourceType;
+	public static volatile SingularAttribute<XXHiveAuditEvent, String> requestData;
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/entity/XXKnoxAuditEvent.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/entity/XXKnoxAuditEvent.java b/agents-audit/src/main/java/com/xasecure/audit/entity/XXKnoxAuditEvent.java
new file mode 100644
index 0000000..bbe0982
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/entity/XXKnoxAuditEvent.java
@@ -0,0 +1,82 @@
+/**
+ * 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 com.xasecure.audit.entity;
+
+import java.io.Serializable;
+
+import javax.persistence.Column;
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Entity;
+
+import com.xasecure.audit.model.KnoxAuditEvent;
+
+/**
+ * Entity implementation class for Entity: XXHiveAuditEvent
+ *
+ */
+@Entity
+@DiscriminatorValue("3")
+public class XXKnoxAuditEvent extends XXBaseAuditEvent implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	private String resourcePath;
+	private String resourceType;
+	private String requestData;
+
+
+	public XXKnoxAuditEvent() {
+		super();
+	}   
+
+	public XXKnoxAuditEvent(KnoxAuditEvent event) {
+		super(event);
+
+		this.resourcePath = event.getResourcePath();
+		this.resourceType = event.getResourceType();
+		this.requestData  = event.getRequestData();
+	}   
+
+	@Column(name = "resource_path")
+	public String getResourcePath() {
+		return this.resourcePath;
+	}
+
+	public void setResourcePath(String resourcePath) {
+		this.resourcePath = resourcePath;
+	}   
+
+	@Column(name = "resource_type")
+	public String getResourceType() {
+		return this.resourceType;
+	}
+
+	public void setResourceType(String resourceType) {
+		this.resourceType = resourceType;
+	}   
+
+	@Column(name = "request_data")
+	public String getRequestData() {
+		return this.requestData;
+	}
+
+	public void setRequestData(String requestData) {
+		this.requestData = requestData;
+	}
+   
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/model/AuditEventBase.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/model/AuditEventBase.java b/agents-audit/src/main/java/com/xasecure/audit/model/AuditEventBase.java
new file mode 100644
index 0000000..f31c0a3
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/model/AuditEventBase.java
@@ -0,0 +1,295 @@
+package com.xasecure.audit.model;
+
+import java.util.Date;
+
+import com.xasecure.audit.provider.AuditProvider;
+
+
+
+public abstract class AuditEventBase {
+	protected static String FIELD_SEPARATOR = ";";
+	
+	protected static final int MAX_ACTION_FIELD_SIZE = 1800 ;
+	protected static final int MAX_REQUEST_DATA_FIELD_SIZE = 1800 ;
+
+	
+	protected String agentId;
+	protected String user;
+	protected Date   eventTime = new Date();
+	protected long   policyId;
+	protected String accessType;
+	protected short  accessResult; // 0 - DENIED; 1 - ALLOWED; HTTP return code 
+	protected String resultReason;
+	protected String aclEnforcer;
+	protected int repositoryType;
+	protected String repositoryName;
+	protected String sessionId;
+	protected String clientType;
+	protected String clientIP;
+	protected String action;
+
+	protected AuditEventBase() {
+	}
+	
+	protected AuditEventBase(String agentId,
+							 String user,
+							 Date   eventTime,
+							 long   policyId,
+							 String accessType,
+							 short  accessResult,
+							 String resultReason,
+							 String aclEnforcer,
+							 int repositoryType,
+							 String repositoryName,
+							 String sessionId,
+							 String clientType,
+							 String clientIP,
+							 String action) {
+		this.agentId        = agentId;
+		this.user           = user;
+		this.eventTime      = eventTime;
+		this.policyId       = policyId;
+		this.accessType     = accessType;
+		this.accessResult   = accessResult;
+		this.resultReason   = resultReason;
+		this.aclEnforcer    = aclEnforcer;
+		this.repositoryType = repositoryType;
+		this.repositoryName = repositoryName;
+		this.sessionId      = sessionId;
+		this.clientType     = clientType;
+		this.clientIP       = clientIP;
+		this.action         = action;
+	}
+
+	/**
+	 * @return the agentId
+	 */
+	public String getAgentId() {
+		return agentId;
+	}
+
+	/**
+	 * @param agentId the agentId to set
+	 */
+	public void setAgentId(String agentId) {
+		this.agentId = agentId;
+	}
+
+	/**
+	 * @return the user
+	 */
+	public String getUser() {
+		return user;
+	}
+
+	/**
+	 * @param user the user to set
+	 */
+	public void setUser(String user) {
+		this.user = user;
+	}
+
+	/**
+	 * @return the timeStamp
+	 */
+	public Date getEventTime() {
+		return eventTime;
+	}
+
+	/**
+	 * @param timeStamp the timeStamp to set
+	 */
+	public void setEventTime(Date eventTime) {
+		this.eventTime = eventTime;
+	}
+
+	/**
+	 * @return the policyId
+	 */
+	public long getPolicyId() {
+		return policyId;
+	}
+
+	/**
+	 * @param policyId the policyId to set
+	 */
+	public void setPolicyId(long policyId) {
+		this.policyId = policyId;
+	}
+
+	/**
+	 * @return the accessType
+	 */
+	public String getAccessType() {
+		return accessType;
+	}
+
+	/**
+	 * @param accessType the accessType to set
+	 */
+	public void setAccessType(String accessType) {
+		this.accessType = accessType;
+	}
+
+	/**
+	 * @return the accessResult
+	 */
+	public short getAccessResult() {
+		return accessResult;
+	}
+
+	/**
+	 * @param accessResult the accessResult to set
+	 */
+	public void setAccessResult(short accessResult) {
+		this.accessResult = accessResult;
+	}
+
+	/**
+	 * @return the resultReason
+	 */
+	public String getResultReason() {
+		return resultReason;
+	}
+
+	/**
+	 * @param resultReason the resultReason to set
+	 */
+	public void setResultReason(String resultReason) {
+		this.resultReason = resultReason;
+	}
+
+	/**
+	 * @return the aclEnforcer
+	 */
+	public String getAclEnforcer() {
+		return aclEnforcer;
+	}
+
+	/**
+	 * @param aclEnforcer the aclEnforcer to set
+	 */
+	public void setAclEnforcer(String aclEnforcer) {
+		this.aclEnforcer = aclEnforcer;
+	}
+
+	/**
+	 * @return the repositoryType
+	 */
+	public int getRepositoryType() {
+		return repositoryType;
+	}
+
+	/**
+	 * @param repositoryType the repositoryType to set
+	 */
+	public void setRepositoryType(int repositoryType) {
+		this.repositoryType = repositoryType;
+	}
+
+	/**
+	 * @return the repositoryName
+	 */
+	public String getRepositoryName() {
+		return repositoryName;
+	}
+
+	/**
+	 * @param repositoryName the repositoryName to set
+	 */
+	public void setRepositoryName(String repositoryName) {
+		this.repositoryName = repositoryName;
+	}
+
+	/**
+	 * @return the sessionId
+	 */
+	public String getSessionId() {
+		return sessionId;
+	}
+
+	/**
+	 * @param sessionId the sessionId to set
+	 */
+	public void setSessionId(String sessionId) {
+		this.sessionId = sessionId;
+	}
+
+	/**
+	 * @return the clientType
+	 */
+	public String getClientType() {
+		return clientType;
+	}
+
+	/**
+	 * @param clientType the clientType to set
+	 */
+	public void setClientType(String clientType) {
+		this.clientType = clientType;
+	}
+
+	/**
+	 * @return the clientIP
+	 */
+	public String getClientIP() {
+		return clientIP;
+	}
+
+	/**
+	 * @param clientIP the clientIP to set
+	 */
+	public void setClientIP(String clientIP) {
+		this.clientIP = clientIP;
+	}
+
+	/**
+	 * @return the action
+	 */
+	public String getAction() {
+		return trim(action,MAX_ACTION_FIELD_SIZE) ;
+	}
+
+	/**
+	 * @param action the action to set
+	 */
+	public void setAction(String action) {
+		this.action = action;
+	}
+
+	public abstract void logEvent(AuditProvider provider);
+	
+	@Override
+	public String toString() {
+		return toString(new StringBuilder()).toString();
+	}
+	
+	protected StringBuilder toString(StringBuilder sb) {
+		sb.append("agentId=").append(agentId).append(FIELD_SEPARATOR)
+		  .append("user=").append(user).append(FIELD_SEPARATOR)
+		  .append("eventTime=").append(eventTime).append(FIELD_SEPARATOR)
+		  .append("policyId=").append(policyId).append(FIELD_SEPARATOR)
+		  .append("accessType=").append(accessType).append(FIELD_SEPARATOR)
+		  .append("accessResult=").append(accessResult).append(FIELD_SEPARATOR)
+		  .append("resultReason=").append(resultReason).append(FIELD_SEPARATOR)
+		  .append("aclEnforcer=").append(aclEnforcer).append(FIELD_SEPARATOR)
+		  .append("repositoryType=").append(repositoryType).append(FIELD_SEPARATOR)
+		  .append("repositoryName=").append(repositoryName).append(FIELD_SEPARATOR)
+		  .append("sessionId=").append(sessionId).append(FIELD_SEPARATOR)
+		  .append("clientType=").append(clientType).append(FIELD_SEPARATOR)
+		  .append("clientIP=").append(clientIP).append(FIELD_SEPARATOR)
+		  .append("action=").append(action).append(FIELD_SEPARATOR);
+		
+		return sb;
+	}
+	
+	protected String trim(String str, int len) {
+		String ret = str ;
+		if (str != null) {
+			if (str.length() > len) {
+				ret = str.substring(0,len) ;
+			}
+		}
+		return ret ;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/model/EnumRepositoryType.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/model/EnumRepositoryType.java b/agents-audit/src/main/java/com/xasecure/audit/model/EnumRepositoryType.java
new file mode 100644
index 0000000..d4baba3
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/model/EnumRepositoryType.java
@@ -0,0 +1,16 @@
+package com.xasecure.audit.model;
+
+public final class EnumRepositoryType {
+	
+	public static final int HDFS = 1 ;
+	
+	public static final int HBASE = 2 ;
+	
+	public static final int HIVE = 3 ;
+	
+	public static final int XAAGENT = 4 ;
+	
+	public static final int KNOX = 5;
+	
+	 
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/model/HBaseAuditEvent.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/model/HBaseAuditEvent.java b/agents-audit/src/main/java/com/xasecure/audit/model/HBaseAuditEvent.java
new file mode 100644
index 0000000..cc25030
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/model/HBaseAuditEvent.java
@@ -0,0 +1,99 @@
+package com.xasecure.audit.model;
+
+import java.util.Date;
+
+import com.xasecure.audit.provider.AuditProvider;
+
+public class HBaseAuditEvent extends AuditEventBase {
+	protected String resourcePath;
+	protected String resourceType;
+	protected String requestData;
+
+	public HBaseAuditEvent() {
+	}
+
+	public HBaseAuditEvent(String agentId,
+						   String user,
+						   Date   eventTime,
+						   long   policyId,
+						   String accessType,
+						   short  accessResult,
+						   String resultReason,
+						   String aclEnforcer,
+						   int repositoryType,
+						   String repositoryName,
+						   String sessionId,
+						   String clientType,
+						   String clientIP,
+						   String resourcePath,
+						   String resourceType,
+						   String requestData,
+						   String action) {
+		super(agentId, user, eventTime, policyId, accessType, accessResult, resultReason, aclEnforcer, repositoryType, repositoryName, sessionId, clientType, clientIP, action);
+		
+		this.resourcePath = resourcePath;
+		this.resourceType = resourceType;
+		this.requestData  = requestData;
+	}
+
+	/**
+	 * @return the resourcePath
+	 */
+	public String getResourcePath() {
+		return resourcePath;
+	}
+
+	/**
+	 * @param resourcePath the resourcePath to set
+	 */
+	public void setResourcePath(String resourcePath) {
+		this.resourcePath = resourcePath;
+	}
+
+	/**
+	 * @return the resourceType
+	 */
+	public String getResourceType() {
+		return resourceType;
+	}
+
+	/**
+	 * @param resourceType the resourceType to set
+	 */
+	public void setResourceType(String resourceType) {
+		this.resourceType = resourceType;
+	}
+
+	/**
+	 * @return the requestData
+	 */
+	public String getRequestData() {
+		return trim(requestData,MAX_REQUEST_DATA_FIELD_SIZE) ;
+	}
+
+	/**
+	 * @param requestData the requestData to set
+	 */
+	public void setRequestData(String requestData) {
+		this.requestData = requestData;
+	}
+
+	@Override
+	public void logEvent(AuditProvider provider) {
+		provider.log(this);
+	}
+
+	@Override
+	protected StringBuilder toString(StringBuilder sb) {
+		sb.append("HBaseAuditEvent{");
+		
+		super.toString(sb)
+		     .append("resourcePath=").append(resourcePath).append(FIELD_SEPARATOR)
+		     .append("resourceType=").append(resourceType).append(FIELD_SEPARATOR)
+		     .append("requestData=").append(requestData).append(FIELD_SEPARATOR);
+		
+		sb.append("}");
+		
+		return sb;
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/agents-audit/src/main/java/com/xasecure/audit/model/HdfsAuditEvent.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/com/xasecure/audit/model/HdfsAuditEvent.java b/agents-audit/src/main/java/com/xasecure/audit/model/HdfsAuditEvent.java
new file mode 100644
index 0000000..1a595da
--- /dev/null
+++ b/agents-audit/src/main/java/com/xasecure/audit/model/HdfsAuditEvent.java
@@ -0,0 +1,81 @@
+package com.xasecure.audit.model;
+
+import java.util.Date;
+
+import com.xasecure.audit.provider.AuditProvider;
+
+public class HdfsAuditEvent extends AuditEventBase {
+	protected String resourcePath;
+	protected String resourceType;
+
+	public HdfsAuditEvent() {
+	}
+
+	public HdfsAuditEvent(String agentId,
+						  String user,
+						  Date   eventTime,
+						  long   policyId,
+						  String accessType,
+						  short  accessResult,
+						  String resultReason,
+						  String aclEnforcer,
+						  int repositoryType,
+						  String repositoryName,
+						  String sessionId,
+						  String clientType,
+						  String clientIP,
+						  String resourcePath,
+						  String resourceType,
+						  String action) {
+		super(agentId, user, eventTime, policyId, accessType, accessResult, resultReason, aclEnforcer, repositoryType, repositoryName, sessionId, clientType, clientIP, action);
+		
+		this.resourcePath = resourcePath;
+		this.resourceType = resourceType;
+	}
+
+	/**
+	 * @return the resourcePath
+	 */
+	public String getResourcePath() {
+		return resourcePath;
+	}
+
+	/**
+	 * @param resourcePath the resourcePath to set
+	 */
+	public void setResourcePath(String resourcePath) {
+		this.resourcePath = resourcePath;
+	}
+
+	/**
+	 * @return the resourceType
+	 */
+	public String getResourceType() {
+		return resourceType;
+	}
+
+	/**
+	 * @param resourceType the resourceType to set
+	 */
+	public void setResourceType(String resourceType) {
+		this.resourceType = resourceType;
+	}
+
+	@Override
+	public void logEvent(AuditProvider provider) {
+		provider.log(this);
+	}
+
+	@Override
+	protected StringBuilder toString(StringBuilder sb) {
+		sb.append("HdfsAuditEvent{");
+		
+		super.toString(sb)
+		     .append("resourcePath=").append(resourcePath).append(FIELD_SEPARATOR)
+		     .append("resourceType=").append(resourceType).append(FIELD_SEPARATOR);
+		
+		sb.append("}");
+		
+		return sb;
+	}
+}


Mime
View raw message