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/12 02:29:59 UTC
[16/51] [partial] incubator-ranger git commit: RANGER-194: Rename
packages from xasecure to apache ranger
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/service/UserServiceBase.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/service/UserServiceBase.java b/security-admin/src/main/java/com/xasecure/service/UserServiceBase.java
deleted file mode 100644
index d445b3c..0000000
--- a/security-admin/src/main/java/com/xasecure/service/UserServiceBase.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * 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.service;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.xasecure.common.*;
-import com.xasecure.entity.*;
-import com.xasecure.view.*;
-import com.xasecure.service.*;
-
-public abstract class UserServiceBase<T extends XXPortalUser, V extends VXPortalUser>
- extends AbstractBaseResourceService<T, V> {
- public static final String NAME = "User";
-
- public UserServiceBase() {
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected XXPortalUser mapViewToEntityBean(VXPortalUser vObj, XXPortalUser mObj, int OPERATION_CONTEXT) {
- return mObj;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected VXPortalUser mapEntityToViewBean(VXPortalUser vObj, XXPortalUser mObj) {
- return vObj;
- }
-
- /**
- * @param searchCriteria
- * @return
- */
- public VXPortalUserList searchUsers(SearchCriteria searchCriteria) {
- VXPortalUserList returnList = new VXPortalUserList();
- List<VXPortalUser> userList = new ArrayList<VXPortalUser>();
-
- @SuppressWarnings("unchecked")
- List<XXPortalUser> resultList = (List<XXPortalUser>)searchResources(searchCriteria,
- searchFields, sortFields, returnList);
-
- // Iterate over the result list and create the return list
- for (XXPortalUser gjUser : resultList) {
- @SuppressWarnings("unchecked")
- VXPortalUser vUser = populateViewBean((T)gjUser);
- userList.add(vUser);
- }
-
- returnList.setVXPortalUsers(userList);
- return returnList;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/service/XAccessAuditService.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/service/XAccessAuditService.java b/security-admin/src/main/java/com/xasecure/service/XAccessAuditService.java
deleted file mode 100644
index 08168d8..0000000
--- a/security-admin/src/main/java/com/xasecure/service/XAccessAuditService.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * 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.service;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.persistence.Query;
-
-import com.xasecure.common.SearchCriteria;
-import com.xasecure.common.SearchField;
-import com.xasecure.common.SearchUtil;
-import com.xasecure.common.SortField;
-import com.xasecure.common.SearchField.DATA_TYPE;
-import com.xasecure.common.SearchField.SEARCH_TYPE;
-import com.xasecure.common.SortField.SORT_ORDER;
-import com.xasecure.common.view.VList;
-import com.xasecure.view.*;
-import com.xasecure.db.XADaoManager;
-import com.xasecure.entity.*;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Scope;
-import org.springframework.stereotype.Service;
-
-@Service
-@Scope("singleton")
-public class XAccessAuditService extends XAccessAuditServiceBase<XXAccessAudit, VXAccessAudit>{
- public static final String NAME = "XAccessAudit";
- public List<SortField> sortFields = new ArrayList<SortField>();
- public List<SearchField> searchFields = new ArrayList<SearchField>();
-
- @Autowired
- protected SearchUtil searchUtil;
-
- @Autowired
- XADaoManager appDaoMgr;
-
- protected String queryStr;
- protected final String distinctCountQueryStr;
- protected final String distinctQueryStr;
- protected String countQueryStr;
-
-
- public XAccessAuditService() {
- countQueryStr = "SELECT COUNT(obj) FROM XXAccessAudit obj ";
- queryStr = "SELECT obj FROM XXAccessAudit obj ";
- distinctCountQueryStr = "SELECT COUNT(distinct obj.id) FROM XXAccessAudit obj ";
- distinctQueryStr = "SELECT distinct obj FROM XXAccessAudit obj ";
-
- searchFields.add(new SearchField("accessType", "obj.accessType",
- SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.PARTIAL));
- searchFields.add(new SearchField("aclEnforcer", "obj.aclEnforcer",
- SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.PARTIAL));
- searchFields.add(new SearchField("agentId", "obj.agentId",
- SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.PARTIAL));
- searchFields.add(new SearchField("repoName", "obj.repoName",
- SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.PARTIAL));
- searchFields.add(new SearchField("sessionId", "obj.sessionId",
- SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.PARTIAL));
- searchFields.add(new SearchField("requestUser", "obj.requestUser",
- SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.PARTIAL));
- searchFields.add(new SearchField("requestData", "obj.requestData",
- SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.PARTIAL));
- searchFields.add(new SearchField("resourcePath", "obj.resourcePath",
- SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.PARTIAL));
- searchFields.add(new SearchField("clientIP", "obj.clientIP",
- SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.PARTIAL));
-
- searchFields.add(new SearchField("auditType", "obj.auditType",
- SearchField.DATA_TYPE.INTEGER, SearchField.SEARCH_TYPE.FULL));
- searchFields.add(new SearchField("accessResult", "obj.accessResult",
- SearchField.DATA_TYPE.INTEGER, SearchField.SEARCH_TYPE.FULL));
- searchFields.add(new SearchField("assetId", "obj.assetId",
- SearchField.DATA_TYPE.INTEGER, SearchField.SEARCH_TYPE.FULL));
- searchFields.add(new SearchField("policyId", "obj.policyId",
- SearchField.DATA_TYPE.INTEGER, SearchField.SEARCH_TYPE.FULL));
- searchFields.add(new SearchField("repoType", "obj.repoType",
- SearchField.DATA_TYPE.INTEGER, SearchField.SEARCH_TYPE.FULL));
-
- searchFields.add(new SearchField("startDate", "obj.eventTime",
- DATA_TYPE.DATE, SEARCH_TYPE.GREATER_EQUAL_THAN));
- searchFields.add(new SearchField("endDate", "obj.eventTime",
- DATA_TYPE.DATE, SEARCH_TYPE.LESS_EQUAL_THAN));
- sortFields.add(new SortField("eventTime", "obj.eventTime", true, SORT_ORDER.DESC));
-}
-
- protected XXAccessAudit mapViewToEntityBean(VXAccessAudit vObj, XXAccessAudit mObj, int OPERATION_CONTEXT) {
- mObj.setId(vObj.getId());
- mObj.setAuditType( vObj.getAuditType());
- mObj.setAccessResult( vObj.getAccessResult());
- mObj.setAccessType( vObj.getAccessType());
- mObj.setAclEnforcer( vObj.getAclEnforcer());
- mObj.setAgentId( vObj.getAgentId());
- mObj.setPolicyId( vObj.getPolicyId());
- mObj.setRepoName( vObj.getRepoName());
- mObj.setRepoType( vObj.getRepoType());
- mObj.setResultReason( vObj.getResultReason());
- mObj.setSessionId( vObj.getSessionId());
- mObj.setEventTime( vObj.getEventTime());
- mObj.setRequestUser( vObj.getRequestUser());
- mObj.setRequestData( vObj.getRequestData());
- mObj.setResourcePath( vObj.getResourcePath());
- mObj.setResourceType(vObj.getResourceType());
- mObj.setClientIP(vObj.getClientIP());
- mObj.setClientType(vObj.getClientType());
- return mObj;
- }
-
- protected VXAccessAudit mapEntityToViewBean(VXAccessAudit vObj, XXAccessAudit mObj) {
- vObj.setAuditType( mObj.getAuditType());
- vObj.setAccessResult( mObj.getAccessResult());
- vObj.setAccessType( mObj.getAccessType());
- vObj.setAclEnforcer( mObj.getAclEnforcer());
- vObj.setAgentId( mObj.getAgentId());
- vObj.setPolicyId( mObj.getPolicyId());
- vObj.setRepoName( mObj.getRepoName());
- vObj.setRepoType( mObj.getRepoType());
- vObj.setResultReason( mObj.getResultReason());
- vObj.setSessionId( mObj.getSessionId());
- vObj.setEventTime( mObj.getEventTime());
- vObj.setRequestUser( mObj.getRequestUser());
- vObj.setRequestData( mObj.getRequestData());
- vObj.setResourcePath( mObj.getResourcePath());
- vObj.setResourceType( mObj.getResourceType());
- vObj.setClientIP( mObj.getClientIP());
- vObj.setClientType( mObj.getClientType());
- return vObj;
- }
-
- /**
- * @param searchCriteria
- * @return
- */
- public VXAccessAuditList searchXAccessAudits(SearchCriteria searchCriteria) {
- VXAccessAuditList returnList = new VXAccessAuditList();
- List<VXAccessAudit> xAccessAuditList = new ArrayList<VXAccessAudit>();
-
- List<XXAccessAudit> resultList = (List<XXAccessAudit>)searchResources(searchCriteria,
- searchFields, sortFields, returnList);
-
- // Iterate over the result list and create the return list
- for (XXAccessAudit gjXAccessAudit : resultList) {
- VXAccessAudit vXAccessAudit = populateViewBean(gjXAccessAudit);
- xAccessAuditList.add(vXAccessAudit);
- }
-
- returnList.setVXAccessAudits(xAccessAuditList);
- return returnList;
- }
-
- public VXAccessAudit populateViewBean(XXAccessAudit gjXAccessAudit) {
- VXAccessAudit vXAccessAudit = new VXAccessAudit();
- return mapEntityToViewBean(vXAccessAudit, gjXAccessAudit);
- }
- /*
- protected List<XXAccessAudit> searchResources(SearchCriteria searchCriteria,
- List<SearchField> searchFieldList, List<SortField> sortFieldList,
- VList vList) {
-
- // Get total count of the rows which meet the search criteria
- long count = -1;
- if (searchCriteria.isGetCount()) {
- count = getCountForSearchQuery(searchCriteria, searchFieldList);
- if (count == 0) {
- return Collections.emptyList();
- }
- }
- // construct the sort clause
- String sortClause = searchUtil.constructSortClause(searchCriteria,
- sortFieldList);
-
- String q=queryStr;
- if(searchCriteria.isDistinct()){
- q=distinctQueryStr;
- }
- // construct the query object for retrieving the data
- Query query = createQuery(q, sortClause, searchCriteria,
- searchFieldList, false);
-
- List<XXAccessAudit> resultList = appDaoMgr.getXXAccessAudit().executeQueryInSecurityContext(
- XXAccessAudit.class, query);
-
- if (vList != null) {
- // Set the meta values for the query result
- vList.setPageSize(query.getMaxResults());
- vList.setSortBy(searchCriteria.getSortBy());
- vList.setSortType(searchCriteria.getSortType());
- vList.setStartIndex(query.getFirstResult());
- vList.setTotalCount(count);
- vList.setResultSize(resultList.size());
- }
- return resultList;
- }
-
- public VXLong getSearchCount(SearchCriteria searchCriteria,
- List<SearchField> searchFieldList) {
- long count = getCountForSearchQuery(searchCriteria, searchFieldList);
-
- VXLong vXLong = new VXLong();
- vXLong.setValue(count);
- return vXLong;
- }
-
- protected long getCountForSearchQuery(SearchCriteria searchCriteria,
- List<SearchField> searchFieldList) {
-
- String q = countQueryStr;
- // Get total count of the rows which meet the search criteria
- if( searchCriteria.isDistinct()) {
- q = distinctCountQueryStr;
- }
-
- // Get total count of the rows which meet the search criteria
- Query query = createQuery(q, null, searchCriteria,
- searchFieldList, true);
-
- // Make the database call to get the total count
- Long count = appDaoMgr.getXXAccessAudit().executeCountQueryInSecurityContext(XXAccessAudit.class,
- query);
- if (count == null) {
- // If no data that meets the criteria, return 0
- return 0;
- }
- return count.longValue();
- }
-
-// protected Query createQuery(String searchString, String sortString,
-// SearchCriteria searchCriteria, List<SearchField> searchFieldList,
-// boolean isCountQuery) {
-// Query query = searchUtil.createSearchQuery(appDaoMgr.getXXAccessAudit().getEntityManager(), searchString, sortString,
-// searchCriteria, searchFieldList, isCountQuery);
-// return query;
-// }
-*/
- @Override
- protected void validateForCreate(VXAccessAudit viewBaseBean) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- protected void validateForUpdate(VXAccessAudit viewBaseBean, XXAccessAudit t) {
- // TODO Auto-generated method stub
-
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/service/XAccessAuditServiceBase.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/service/XAccessAuditServiceBase.java b/security-admin/src/main/java/com/xasecure/service/XAccessAuditServiceBase.java
deleted file mode 100644
index 168ecb9..0000000
--- a/security-admin/src/main/java/com/xasecure/service/XAccessAuditServiceBase.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * 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.service;
-
-/**
- *
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.xasecure.common.*;
-import com.xasecure.entity.*;
-import com.xasecure.view.*;
-import com.xasecure.service.*;
-
-public abstract class XAccessAuditServiceBase<T extends XXAccessAudit, V extends VXAccessAudit>
- extends AbstractBaseResourceService<T, V> {
- public static final String NAME = "XAccessAudit";
-
- public XAccessAuditServiceBase() {
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected XXAccessAudit mapViewToEntityBean(VXAccessAudit vObj, XXAccessAudit mObj, int OPERATION_CONTEXT) {
- mObj.setAuditType( vObj.getAuditType());
- mObj.setAccessResult( vObj.getAccessResult());
- mObj.setAccessType( vObj.getAccessType());
- mObj.setAclEnforcer( vObj.getAclEnforcer());
- mObj.setAgentId( vObj.getAgentId());
- mObj.setClientIP( vObj.getClientIP());
- mObj.setClientType( vObj.getClientType());
- mObj.setPolicyId( vObj.getPolicyId());
- mObj.setRepoName( vObj.getRepoName());
- mObj.setRepoType( vObj.getRepoType());
- mObj.setResultReason( vObj.getResultReason());
- mObj.setSessionId( vObj.getSessionId());
- mObj.setEventTime( vObj.getEventTime());
- mObj.setRequestUser( vObj.getRequestUser());
- mObj.setAction( vObj.getAction());
- mObj.setRequestData( vObj.getRequestData());
- mObj.setResourcePath( vObj.getResourcePath());
- mObj.setResourceType( vObj.getResourceType());
- return mObj;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected VXAccessAudit mapEntityToViewBean(VXAccessAudit vObj, XXAccessAudit mObj) {
- vObj.setAuditType( mObj.getAuditType());
- vObj.setAccessResult( mObj.getAccessResult());
- vObj.setAccessType( mObj.getAccessType());
- vObj.setAclEnforcer( mObj.getAclEnforcer());
- vObj.setAgentId( mObj.getAgentId());
- vObj.setClientIP( mObj.getClientIP());
- vObj.setClientType( mObj.getClientType());
- vObj.setPolicyId( mObj.getPolicyId());
- vObj.setRepoName( mObj.getRepoName());
- vObj.setRepoType( mObj.getRepoType());
- vObj.setResultReason( mObj.getResultReason());
- vObj.setSessionId( mObj.getSessionId());
- vObj.setEventTime( mObj.getEventTime());
- vObj.setRequestUser( mObj.getRequestUser());
- vObj.setAction( mObj.getAction());
- vObj.setRequestData( mObj.getRequestData());
- vObj.setResourcePath( mObj.getResourcePath());
- vObj.setResourceType( mObj.getResourceType());
- return vObj;
- }
-
- /**
- * @param searchCriteria
- * @return
- */
- public VXAccessAuditList searchXAccessAudits(SearchCriteria searchCriteria) {
- VXAccessAuditList returnList = new VXAccessAuditList();
- List<VXAccessAudit> xAccessAuditList = new ArrayList<VXAccessAudit>();
-
- @SuppressWarnings("unchecked")
- List<XXAccessAudit> resultList = (List<XXAccessAudit>)searchResources(searchCriteria,
- searchFields, sortFields, returnList);
-
- // Iterate over the result list and create the return list
- for (XXAccessAudit gjXAccessAudit : resultList) {
- @SuppressWarnings("unchecked")
- VXAccessAudit vXAccessAudit = populateViewBean((T)gjXAccessAudit);
- xAccessAuditList.add(vXAccessAudit);
- }
-
- returnList.setVXAccessAudits(xAccessAuditList);
- return returnList;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/service/XAgentService.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/service/XAgentService.java b/security-admin/src/main/java/com/xasecure/service/XAgentService.java
deleted file mode 100644
index 97e1e9e..0000000
--- a/security-admin/src/main/java/com/xasecure/service/XAgentService.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * 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.service;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.Callable;
-import java.util.concurrent.TimeUnit;
-
-import com.xasecure.common.DateUtil;
-import com.xasecure.common.PropertiesUtil;
-import com.xasecure.common.SearchCriteria;
-import com.xasecure.common.StringUtil;
-
-import org.apache.log4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Scope;
-import org.springframework.stereotype.Service;
-
-import com.xasecure.common.AppConstants;
-import com.xasecure.common.TimedEventUtil;
-import com.xasecure.view.VXAuditRecord;
-import com.xasecure.view.VXAuditRecordList;
-
-@Service
-@Scope("singleton")
-public class XAgentService {
-
- @Autowired
- StringUtil stringUtil;
-
- @Autowired
- DateUtil dateUtil;
-
- private static Logger logger = Logger.getLogger(XAgentService.class);
-
- protected String defaultDBDateFormat="yyyy-MM-dd";
- protected boolean auditSupported = false;
-
- public XAgentService() {
- defaultDBDateFormat = PropertiesUtil.getProperty(
- "xa.db.defaultDateformat", defaultDBDateFormat);
- auditSupported = PropertiesUtil.getBooleanProperty("xa.audit.supported",
- false);
- }
-
- private boolean isHDFSLog(String loggerName, int fieldCount) {
- boolean ret = false ;
- if (loggerName != null) {
- ret = loggerName.startsWith("org.") ;
- }
- else {
- ret = (fieldCount == 5) ;
- }
- return ret;
- }
-
- private boolean isHiveLog(String loggerName, int fieldCount) {
- boolean ret = false ;
- if (loggerName != null) {
- ret = loggerName.startsWith("com.xasecure.authorization.hive") || loggerName.startsWith("com.xasecure.pdp.hive.") ;
- }
- else {
- ret = (fieldCount == 11) ;
- }
- return ret;
- }
-
- private boolean isHBaseLog(String loggerName, int fieldCount) {
- boolean ret = false ;
- if (loggerName != null) {
- ret = loggerName.startsWith("com.xasecure.authorization.hbase") ;
- }
- else {
- ret = ((fieldCount != 5) && (fieldCount != 11)) ;
- }
- return ret;
- }
-
-
- // The resource type field in the message has "@" at the start
- // remove and then compare
-
- private int getResourceType(String field) {
- field = field.startsWith("@") ? field.substring(1) : field;
-
- int resourceType = AppConstants.RESOURCE_UNKNOWN;
- if (field.equals("db")) {
- resourceType = AppConstants.RESOURCE_DB;
- } else if (field.equals("table")) {
- resourceType = AppConstants.RESOURCE_TABLE;
- } else if (field.equals("column")) {
- resourceType = AppConstants.RESOURCE_COLUMN;
- }
-
- return resourceType;
- }
-
- private String bulidWhereClause(SearchCriteria searchCriteria) {
- StringBuffer whereClause = new StringBuffer();
- Date startDate = (Date) searchCriteria.getParamValue("startDate");
- Date endDate = (Date) searchCriteria.getParamValue("endDate");
-
- if (startDate == null) {
- startDate = new Date(0);
- }
-
- if (endDate == null) {
- endDate = DateUtil.getUTCDate();
-
- }
- String startDateString = DateUtil.dateToString(startDate, defaultDBDateFormat);
- String endDateString = DateUtil.dateToString(endDate, defaultDBDateFormat);
-
- whereClause.append(" DATE(inserted_date) BETWEEN '" + startDateString
- + "' AND '" + endDateString + "'");
-
- if (whereClause.length() != 0) {
- return "WHERE " + whereClause.toString();
- }
-
- return "";
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/service/XAssetService.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/service/XAssetService.java b/security-admin/src/main/java/com/xasecure/service/XAssetService.java
deleted file mode 100644
index 3b3d651..0000000
--- a/security-admin/src/main/java/com/xasecure/service/XAssetService.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*
- * 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.service;
-
-import java.io.IOException;
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import com.xasecure.common.JSONUtil;
-import com.xasecure.common.MessageEnums;
-import com.xasecure.common.PasswordUtils;
-import com.xasecure.common.PropertiesUtil;
-import com.xasecure.common.SearchField;
-import com.xasecure.common.SearchField.DATA_TYPE;
-import com.xasecure.common.SearchField.SEARCH_TYPE;
-import com.xasecure.common.StringUtil;
-import com.xasecure.entity.*;
-
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.type.TypeReference;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Scope;
-import org.springframework.stereotype.Service;
-
-import com.xasecure.common.AppConstants;
-import com.xasecure.common.view.VTrxLogAttr;
-import com.xasecure.db.XADaoManager;
-import com.xasecure.util.XAEnumUtil;
-import com.xasecure.view.*;
-
-@Service
-@Scope("singleton")
-public class XAssetService extends XAssetServiceBase<XXAsset, VXAsset> {
-
- @Autowired
- JSONUtil jsonUtil;
-
- @Autowired
- XADaoManager appDaoMgr;
-
- @Autowired
- StringUtil stringUtil;
-
- static HashMap<String, VTrxLogAttr> trxLogAttrs = new HashMap<String, VTrxLogAttr>();
- static {
- trxLogAttrs.put("name", new VTrxLogAttr("name", "Repository Name", false));
- trxLogAttrs.put("description", new VTrxLogAttr("description", "Repository Description", false));
- trxLogAttrs.put("activeStatus", new VTrxLogAttr("activeStatus", "Repository Status", true));
- trxLogAttrs.put("config", new VTrxLogAttr("config", "Connection Configurations", false));
- }
-
- private String hiddenPasswordString;
-
- @Autowired
- XAEnumUtil xaEnumUtil;
-
- public XAssetService(){
- super();
- hiddenPasswordString = PropertiesUtil.getProperty("xa.password.hidden", "*****");
- searchFields.add(new SearchField("status", "obj.activeStatus",
- SearchField.DATA_TYPE.INT_LIST, SearchField.SEARCH_TYPE.FULL));
- searchFields.add(new SearchField("name", "obj.name", DATA_TYPE.STRING,
- SEARCH_TYPE.PARTIAL));
- searchFields.add(new SearchField("type", "obj.assetType",
- DATA_TYPE.INTEGER, SEARCH_TYPE.FULL));
- }
-
- @Override
- protected void validateForCreate(VXAsset vObj) {
- XXAsset xxAsset = appDaoMgr.getXXAsset()
- .findByAssetName(vObj.getName());
- if (xxAsset != null) {
- String errorMessage = "Repository Name already exists";
- throw restErrorUtil.createRESTException(errorMessage,
- MessageEnums.INVALID_INPUT_DATA, null, null,
- vObj.toString());
- }
- if(vObj.getName()==null || vObj.getName().trim().length()==0){
- String errorMessage = "Repository Name can't be empty";
- throw restErrorUtil.createRESTException(errorMessage,
- MessageEnums.INVALID_INPUT_DATA, null, null,
- vObj.toString());
- }
-
- validateConfig(vObj);
- }
-
- @Override
- protected void validateForUpdate(VXAsset vObj, XXAsset mObj) {
- if (!vObj.getName().equalsIgnoreCase(mObj.getName())) {
- validateForCreate(vObj);
- }else{
- validateConfig(vObj);
- }
- }
-
- @Override
- protected XXAsset mapViewToEntityBean(VXAsset vObj, XXAsset mObj,
- int OPERATION_CONTEXT) {
- String oldConfig = (mObj != null) ? mObj.getConfig() : null;
- super.mapViewToEntityBean(vObj, mObj, OPERATION_CONTEXT);
- String config = vObj.getConfig();
- if (config != null && !config.isEmpty()) {
- Map<String, String> configMap = jsonUtil.jsonToMap(config);
- Entry<String, String> passwordEntry = getPasswordEntry(configMap);
- if (passwordEntry != null) {
- // If "*****" then get password from db and update
- String password = passwordEntry.getValue();
- if (password != null) {
- if (password.equals(hiddenPasswordString)) {
- if (oldConfig != null && !oldConfig.isEmpty()) {
- Map<String, String> oldConfigMap = jsonUtil
- .jsonToMap(oldConfig);
- Entry<String, String> oldPasswordEntry
- = getPasswordEntry(oldConfigMap);
- if (oldPasswordEntry != null) {
- configMap.put(oldPasswordEntry.getKey(),
- oldPasswordEntry.getValue());
- }
- }
- }
- config = jsonUtil.readMapToString(configMap);
- }
- }
- }
- mObj.setConfig(config);
- return mObj;
- }
-
- @Override
- protected VXAsset mapEntityToViewBean(VXAsset vObj, XXAsset mObj) {
- vObj = super.mapEntityToViewBean(vObj, mObj);
- String config = vObj.getConfig();
- if (config != null && !config.isEmpty()) {
- Map<String, String> configMap = jsonUtil.jsonToMap(config);
- Entry<String, String> passwordEntry = getPasswordEntry(configMap);
- if (passwordEntry != null) {
- configMap.put(passwordEntry.getKey(), hiddenPasswordString);
- }
- config = jsonUtil.readMapToString(configMap);
- }
- vObj.setConfig(config);
- return vObj;
- }
-
- private Entry<String, String> getPasswordEntry(Map<String, String> configMap) {
- Entry<String, String> entry = null;
-
- for(Entry<String, String> e : configMap.entrySet()) {
- if(e.getKey().toLowerCase().contains("password")){
- entry = e;
- break;
- }
- }
-
- return entry;
- }
-
- private Entry<String, String> getIsEncryptedEntry(Map<String, String> configMap){
- Entry<String, String> entry = null;
- for(Entry<String, String> e : configMap.entrySet()) {
- if(e.getKey().toLowerCase().contains("isencrypted")){
- entry = e;
- break;
- }
- }
- return entry;
- }
-
- public void validateConfig(VXAsset vObj) {
- HashMap<String, Object> configrationMap = null;
- if (vObj.getAssetType() == AppConstants.ASSET_HDFS) {
- ObjectMapper objectMapper = new ObjectMapper();
- TypeReference<HashMap<String, Object>> typeRef = new TypeReference
- <HashMap<String, Object>>() {};
- try {
- configrationMap = objectMapper.readValue(vObj.getConfig(),
- typeRef);
- } catch (Exception e) {
- logger.error("Error in config json", e);
- }
-
- if (configrationMap != null) {
- String fs_default_name = configrationMap.get("fs.default.name")
- .toString();
-
- if (fs_default_name.isEmpty()) {
- throw restErrorUtil.createRESTException(
- "serverMsg.fsDefaultNameEmptyError",
- MessageEnums.INVALID_INPUT_DATA, null, "fs.default.name",
- vObj.toString());
- }
- /*String expression="^+(hdfs://)\\s*(.*?):[0-9]{1,5}";
-// String expression = "^+(hdfs://)[a-z,A-Z,0-9,.]*+:[0-9]{1,5}";
- Pattern pattern = Pattern.compile(expression,
- Pattern.CASE_INSENSITIVE);
- // String inputStr = "hdfs://192.168.1.16:2";
- Matcher matcher = pattern.matcher(fs_default_name);
- if (!matcher.matches()) {
- throw restErrorUtil.createRESTException(
- "serverMsg.fsDefaultNameValidationError",
- MessageEnums.INVALID_INPUT_DATA, null, "fs.default.name",
- vObj.toString());
- }*/
- }
- }
- }
-
- public List<XXTrxLog> getTransactionLog(VXAsset vResource, String action){
- return getTransactionLog(vResource, null, action);
- }
-
- public List<XXTrxLog> getTransactionLog(VXAsset vObj, XXAsset mObj, String action){
- if(vObj == null && (action == null || !action.equalsIgnoreCase("update"))){
- return null;
- }
-
- List<XXTrxLog> trxLogList = new ArrayList<XXTrxLog>();
- Field[] fields = vObj.getClass().getDeclaredFields();
-
- try {
- Field nameField = vObj.getClass().getDeclaredField("name");
- nameField.setAccessible(true);
- String objectName = ""+nameField.get(vObj);
-
- for(Field field : fields){
- field.setAccessible(true);
- String fieldName = field.getName();
- if(!trxLogAttrs.containsKey(fieldName)){
- continue;
- }
-
- VTrxLogAttr vTrxLogAttr = trxLogAttrs.get(fieldName);
-
- XXTrxLog xTrxLog = new XXTrxLog();
- xTrxLog.setAttributeName(vTrxLogAttr.getAttribUserFriendlyName());
-
- String value = null;
- boolean isEnum = vTrxLogAttr.isEnum();
- if(isEnum){
- String enumName = XXAsset.getEnumName(fieldName);
- int enumValue = field.get(vObj) == null ? 0 : Integer.parseInt(""+field.get(vObj));
- value = xaEnumUtil.getLabel(enumName, enumValue);
- } else {
- value = ""+field.get(vObj);
- }
-
- if(action.equalsIgnoreCase("create")){
- if(stringUtil.isEmpty(value)){
- continue;
- }
- xTrxLog.setNewValue(value);
- } else if(action.equalsIgnoreCase("delete")){
- xTrxLog.setPreviousValue(value);
- } else if(action.equalsIgnoreCase("update")){
- String oldValue = null;
- Field[] mFields = mObj.getClass().getDeclaredFields();
- for(Field mField : mFields){
- mField.setAccessible(true);
- String mFieldName = mField.getName();
- if(fieldName.equalsIgnoreCase(mFieldName)){
- if(isEnum){
- String enumName = XXAsset.getEnumName(mFieldName);
- int enumValue = mField.get(mObj) == null ? 0 : Integer.parseInt(""+mField.get(mObj));
- oldValue = xaEnumUtil.getLabel(enumName, enumValue);
- } else {
- oldValue = mField.get(mObj)+"";
- }
- break;
- }
- }
- if(fieldName.equalsIgnoreCase("config")){
- Map<String, String> vConfig = jsonUtil.jsonToMap(value);
- Map<String, String> xConfig = jsonUtil.jsonToMap(oldValue);
-
- Map<String, String> newConfig = new HashMap<String, String>();
- Map<String, String> oldConfig = new HashMap<String, String>();
-
- for (Entry<String, String> entry: vConfig.entrySet()) {
- String key = entry.getKey();
- if (!xConfig.containsKey(key)) {
- newConfig.put(key, entry.getValue());
- } else if(!entry.getValue().equalsIgnoreCase(xConfig.get(key))){
- if(key.equalsIgnoreCase("password") && entry
- .getValue().equalsIgnoreCase(hiddenPasswordString)){
- continue;
- }
- newConfig.put(key, entry.getValue());
- oldConfig.put(key, xConfig.get(key));
- }
- }
-
- oldValue = jsonUtil.readMapToString(oldConfig);
- value = jsonUtil.readMapToString(newConfig);
- }
- if(value.equalsIgnoreCase(oldValue)){
- continue;
- }
- xTrxLog.setPreviousValue(oldValue);
- xTrxLog.setNewValue(value);
- }
-
- xTrxLog.setAction(action);
- xTrxLog.setObjectClassType(AppConstants.CLASS_TYPE_XA_ASSET);
- xTrxLog.setObjectId(vObj.getId());
- xTrxLog.setObjectName(objectName);
- trxLogList.add(xTrxLog);
-
- }
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (NoSuchFieldException e) {
- e.printStackTrace();
- } catch (SecurityException e) {
- e.printStackTrace();
- }
-
- return trxLogList;
- }
-
- public String getConfigWithEncryptedPassword(String config,boolean isForced){
- try {
- if (config != null && !config.isEmpty()) {
- Map<String, String> configMap = jsonUtil.jsonToMap(config);
- Entry<String, String> passwordEntry = getPasswordEntry(configMap);
- Entry<String, String> isEncryptedEntry = getIsEncryptedEntry(configMap);
- if (passwordEntry != null){
- if(isEncryptedEntry==null || !isEncryptedEntry.getValue().equalsIgnoreCase("true")||isForced==true){
- String password=passwordEntry.getValue();
- String encryptPassword=PasswordUtils.encryptPassword(password);
- String decryptPassword=PasswordUtils.decryptPassword(encryptPassword);
- if(decryptPassword.equalsIgnoreCase(password)){
- configMap.put(passwordEntry.getKey(),
- encryptPassword);
- configMap.put("isencrypted", "true");
- }
- }
- }
- config = jsonUtil.readMapToString(configMap);
- }
- } catch (IOException e) {
- String errorMessage = "Password encryption error";
- throw restErrorUtil.createRESTException(errorMessage,
- MessageEnums.INVALID_INPUT_DATA, null, null,
- e.getMessage());
- }
- return config;
- }
- public String getConfigWithDecryptedPassword(String config){
- try {
- if (config != null && !config.isEmpty()) {
- Map<String, String> configMap = jsonUtil.jsonToMap(config);
- Entry<String, String> passwordEntry = getPasswordEntry(configMap);
- Entry<String, String> isEncryptedEntry = getIsEncryptedEntry(configMap);
- if (isEncryptedEntry!=null && passwordEntry != null){
- if (!stringUtil.isEmpty(isEncryptedEntry.getValue())
- && isEncryptedEntry.getValue().equalsIgnoreCase(
- "true")) {
- String encryptPassword = passwordEntry.getValue();
- String decryptPassword = PasswordUtils
- .decryptPassword(encryptPassword);
- configMap.put(passwordEntry.getKey(), decryptPassword);
- }
- }
- config = jsonUtil.readMapToString(configMap);
- }
- } catch (IOException e) {
- String errorMessage = "Password decryption error";
- throw restErrorUtil.createRESTException(errorMessage,
- MessageEnums.INVALID_INPUT_DATA, null, null,
- e.getMessage());
- }
- return config;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/service/XAssetServiceBase.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/service/XAssetServiceBase.java b/security-admin/src/main/java/com/xasecure/service/XAssetServiceBase.java
deleted file mode 100644
index 71ec819..0000000
--- a/security-admin/src/main/java/com/xasecure/service/XAssetServiceBase.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * 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.service;
-
-/**
- *
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.xasecure.common.*;
-import com.xasecure.entity.*;
-import com.xasecure.view.*;
-import com.xasecure.service.*;
-
-public abstract class XAssetServiceBase<T extends XXAsset, V extends VXAsset>
- extends AbstractBaseResourceService<T, V> {
- public static final String NAME = "XAsset";
-
- public XAssetServiceBase() {
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected XXAsset mapViewToEntityBean(VXAsset vObj, XXAsset mObj, int OPERATION_CONTEXT) {
- mObj.setName( vObj.getName());
- mObj.setDescription( vObj.getDescription());
- mObj.setActiveStatus( vObj.getActiveStatus());
- mObj.setAssetType( vObj.getAssetType());
- mObj.setConfig( vObj.getConfig());
- mObj.setSupportNative( vObj.isSupportNative());
- return mObj;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected VXAsset mapEntityToViewBean(VXAsset vObj, XXAsset mObj) {
- vObj.setName( mObj.getName());
- vObj.setDescription( mObj.getDescription());
- vObj.setActiveStatus( mObj.getActiveStatus());
- vObj.setAssetType( mObj.getAssetType());
- vObj.setConfig( mObj.getConfig());
- vObj.setSupportNative( mObj.isSupportNative());
- return vObj;
- }
-
- /**
- * @param searchCriteria
- * @return
- */
- public VXAssetList searchXAssets(SearchCriteria searchCriteria) {
- VXAssetList returnList = new VXAssetList();
- List<VXAsset> xAssetList = new ArrayList<VXAsset>();
-
- @SuppressWarnings("unchecked")
- List<XXAsset> resultList = (List<XXAsset>)searchResources(searchCriteria,
- searchFields, sortFields, returnList);
-
- // Iterate over the result list and create the return list
- for (XXAsset gjXAsset : resultList) {
- @SuppressWarnings("unchecked")
- VXAsset vXAsset = populateViewBean((T)gjXAsset);
- xAssetList.add(vXAsset);
- }
-
- returnList.setVXAssets(xAssetList);
- return returnList;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/service/XAuditMapService.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/service/XAuditMapService.java b/security-admin/src/main/java/com/xasecure/service/XAuditMapService.java
deleted file mode 100644
index 137cf19..0000000
--- a/security-admin/src/main/java/com/xasecure/service/XAuditMapService.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * 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.service;
-
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import com.xasecure.common.SearchField;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Scope;
-import org.springframework.stereotype.Service;
-
-import com.xasecure.common.AppConstants;
-import com.xasecure.common.view.VTrxLogAttr;
-import com.xasecure.db.XADaoManager;
-import com.xasecure.entity.*;
-import com.xasecure.util.XAEnumUtil;
-import com.xasecure.view.*;
-
-@Service
-@Scope("singleton")
-public class XAuditMapService extends
- XAuditMapServiceBase<XXAuditMap, VXAuditMap> {
-
- @Autowired
- XAEnumUtil xaEnumUtil;
-
- @Autowired
- XADaoManager xADaoManager;
-
- static HashMap<String, VTrxLogAttr> trxLogAttrs = new HashMap<String, VTrxLogAttr>();
- static {
-// trxLogAttrs.put("groupId", new VTrxLogAttr("groupId", "Group Audit", false));
-// trxLogAttrs.put("userId", new VTrxLogAttr("userId", "User Audit", false));
- trxLogAttrs.put("auditType", new VTrxLogAttr("auditType", "Audit Type", true));
- }
-
- public XAuditMapService() {
- searchFields.add(new SearchField("resourceId", "obj.resourceId",
- SearchField.DATA_TYPE.INTEGER, SearchField.SEARCH_TYPE.FULL));
- }
-
- @Override
- protected void validateForCreate(VXAuditMap vObj) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- protected void validateForUpdate(VXAuditMap vObj, XXAuditMap mObj) {
- // TODO Auto-generated method stub
-
- }
-
- public List<XXTrxLog> getTransactionLog(VXAuditMap vXAuditMap, String action){
- return getTransactionLog(vXAuditMap, null, action);
- }
-
- public List<XXTrxLog> getTransactionLog(VXAuditMap vObj, VXAuditMap mObj, String action){
- if(vObj == null && (action == null || !action.equalsIgnoreCase("update"))){
- return null;
- }
-
- List<XXTrxLog> trxLogList = new ArrayList<XXTrxLog>();
- Field[] fields = vObj.getClass().getDeclaredFields();
-
- try {
- for(Field field : fields){
- field.setAccessible(true);
- String fieldName = field.getName();
- if(!trxLogAttrs.containsKey(fieldName)){
- continue;
- }
-
- VTrxLogAttr vTrxLogAttr = trxLogAttrs.get(fieldName);
-
- XXTrxLog xTrxLog = new XXTrxLog();
- xTrxLog.setAttributeName(vTrxLogAttr.getAttribUserFriendlyName());
-
- String value = null;
- boolean isEnum = vTrxLogAttr.isEnum();
- if(isEnum){
- String enumName = XXAuditMap.getEnumName(fieldName);
- int enumValue = field.get(vObj) == null ? 0 : Integer.parseInt(""+field.get(vObj));
- value = xaEnumUtil.getLabel(enumName, enumValue);
- } else {
- value = ""+field.get(vObj);
- XXUser xUser = xADaoManager.getXXUser().getById(Long.parseLong(value));
- value = xUser.getName();
- }
-
- if(action.equalsIgnoreCase("create")){
- xTrxLog.setNewValue(value);
- } else if(action.equalsIgnoreCase("delete")){
- xTrxLog.setPreviousValue(value);
- } else if(action.equalsIgnoreCase("update")){
- // Not Changed.
- xTrxLog.setNewValue(value);
- xTrxLog.setPreviousValue(value);
- }
-
- xTrxLog.setAction(action);
- xTrxLog.setObjectClassType(AppConstants.CLASS_TYPE_XA_AUDIT_MAP);
- xTrxLog.setObjectId(vObj.getId());
- xTrxLog.setParentObjectClassType(AppConstants.CLASS_TYPE_XA_RESOURCE);
- xTrxLog.setParentObjectId(vObj.getResourceId());
-// xTrxLog.setParentObjectName(vObj.get);
-// xTrxLog.setObjectName(objectName);
- trxLogList.add(xTrxLog);
-
- }
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (SecurityException e) {
- e.printStackTrace();
- }
-
- return trxLogList;
- }
-
- @Override
- protected XXAuditMap mapViewToEntityBean(VXAuditMap vObj, XXAuditMap mObj, int OPERATION_CONTEXT) {
- super.mapViewToEntityBean(vObj, mObj, OPERATION_CONTEXT);
- if(vObj!=null && mObj!=null){
- XXPortalUser xXPortalUser=null;
- if(mObj.getAddedByUserId()==null || mObj.getAddedByUserId()==0){
- if(!stringUtil.isEmpty(vObj.getOwner())){
- xXPortalUser=xADaoManager.getXXPortalUser().findByLoginId(vObj.getOwner());
- if(xXPortalUser!=null){
- mObj.setAddedByUserId(xXPortalUser.getId());
- }
- }
- }
- if(mObj.getUpdatedByUserId()==null || mObj.getUpdatedByUserId()==0){
- if(!stringUtil.isEmpty(vObj.getUpdatedBy())){
- xXPortalUser= xADaoManager.getXXPortalUser().findByLoginId(vObj.getUpdatedBy());
- if(xXPortalUser!=null){
- mObj.setUpdatedByUserId(xXPortalUser.getId());
- }
- }
- }
- }
- return mObj;
- }
-
- @Override
- protected VXAuditMap mapEntityToViewBean(VXAuditMap vObj, XXAuditMap mObj) {
- super.mapEntityToViewBean(vObj, mObj);
- if(mObj!=null && vObj!=null){
- XXPortalUser xXPortalUser=null;
- if(stringUtil.isEmpty(vObj.getOwner())){
- xXPortalUser= xADaoManager.getXXPortalUser().getById(mObj.getAddedByUserId());
- if(xXPortalUser!=null){
- vObj.setOwner(xXPortalUser.getLoginId());
- }
- }
- if(stringUtil.isEmpty(vObj.getUpdatedBy())){
- xXPortalUser= xADaoManager.getXXPortalUser().getById(mObj.getUpdatedByUserId());
- if(xXPortalUser!=null){
- vObj.setUpdatedBy(xXPortalUser.getLoginId());
- }
- }
- }
- return vObj;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/service/XAuditMapServiceBase.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/service/XAuditMapServiceBase.java b/security-admin/src/main/java/com/xasecure/service/XAuditMapServiceBase.java
deleted file mode 100644
index fca1ca5..0000000
--- a/security-admin/src/main/java/com/xasecure/service/XAuditMapServiceBase.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * 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.service;
-
-/**
- *
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.xasecure.common.*;
-import com.xasecure.entity.*;
-import com.xasecure.view.*;
-import com.xasecure.service.*;
-
-public abstract class XAuditMapServiceBase<T extends XXAuditMap, V extends VXAuditMap>
- extends AbstractBaseResourceService<T, V> {
- public static final String NAME = "XAuditMap";
-
- public XAuditMapServiceBase() {
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected XXAuditMap mapViewToEntityBean(VXAuditMap vObj, XXAuditMap mObj, int OPERATION_CONTEXT) {
- mObj.setResourceId( vObj.getResourceId());
- mObj.setGroupId( vObj.getGroupId());
- mObj.setUserId( vObj.getUserId());
- mObj.setAuditType( vObj.getAuditType());
- return mObj;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected VXAuditMap mapEntityToViewBean(VXAuditMap vObj, XXAuditMap mObj) {
- vObj.setResourceId( mObj.getResourceId());
- vObj.setGroupId( mObj.getGroupId());
- vObj.setUserId( mObj.getUserId());
- vObj.setAuditType( mObj.getAuditType());
- return vObj;
- }
-
- /**
- * @param searchCriteria
- * @return
- */
- public VXAuditMapList searchXAuditMaps(SearchCriteria searchCriteria) {
- VXAuditMapList returnList = new VXAuditMapList();
- List<VXAuditMap> xAuditMapList = new ArrayList<VXAuditMap>();
-
- @SuppressWarnings("unchecked")
- List<XXAuditMap> resultList = (List<XXAuditMap>)searchResources(searchCriteria,
- searchFields, sortFields, returnList);
-
- // Iterate over the result list and create the return list
- for (XXAuditMap gjXAuditMap : resultList) {
- @SuppressWarnings("unchecked")
- VXAuditMap vXAuditMap = populateViewBean((T)gjXAuditMap);
- xAuditMapList.add(vXAuditMap);
- }
-
- returnList.setVXAuditMaps(xAuditMapList);
- return returnList;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/service/XCredentialStoreService.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/service/XCredentialStoreService.java b/security-admin/src/main/java/com/xasecure/service/XCredentialStoreService.java
deleted file mode 100644
index da7db11..0000000
--- a/security-admin/src/main/java/com/xasecure/service/XCredentialStoreService.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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.service;
-
-import com.xasecure.entity.*;
-import com.xasecure.view.*;
-
-import org.springframework.context.annotation.Scope;
-import org.springframework.stereotype.Service;
-
-import com.xasecure.biz.*;
-import com.xasecure.entity.*;
-import com.xasecure.service.*;
-import com.xasecure.view.*;
-
-@Service
-@Scope("singleton")
-public class XCredentialStoreService extends XCredentialStoreServiceBase<XXCredentialStore, VXCredentialStore> {
-
- @Override
- protected void validateForCreate(VXCredentialStore vObj) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- protected void validateForUpdate(VXCredentialStore vObj, XXCredentialStore mObj) {
- // TODO Auto-generated method stub
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/service/XCredentialStoreServiceBase.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/service/XCredentialStoreServiceBase.java b/security-admin/src/main/java/com/xasecure/service/XCredentialStoreServiceBase.java
deleted file mode 100644
index cb605c0..0000000
--- a/security-admin/src/main/java/com/xasecure/service/XCredentialStoreServiceBase.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * 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.service;
-
-/**
- *
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.xasecure.common.*;
-import com.xasecure.entity.*;
-import com.xasecure.view.*;
-import com.xasecure.service.*;
-
-public abstract class XCredentialStoreServiceBase<T extends XXCredentialStore, V extends VXCredentialStore>
- extends AbstractBaseResourceService<T, V> {
- public static final String NAME = "XCredentialStore";
-
- public XCredentialStoreServiceBase() {
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected XXCredentialStore mapViewToEntityBean(VXCredentialStore vObj, XXCredentialStore mObj, int OPERATION_CONTEXT) {
- mObj.setName( vObj.getName());
- mObj.setDescription( vObj.getDescription());
- return mObj;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected VXCredentialStore mapEntityToViewBean(VXCredentialStore vObj, XXCredentialStore mObj) {
- vObj.setName( mObj.getName());
- vObj.setDescription( mObj.getDescription());
- return vObj;
- }
-
- /**
- * @param searchCriteria
- * @return
- */
- public VXCredentialStoreList searchXCredentialStores(SearchCriteria searchCriteria) {
- VXCredentialStoreList returnList = new VXCredentialStoreList();
- List<VXCredentialStore> xCredentialStoreList = new ArrayList<VXCredentialStore>();
-
- @SuppressWarnings("unchecked")
- List<XXCredentialStore> resultList = (List<XXCredentialStore>)searchResources(searchCriteria,
- searchFields, sortFields, returnList);
-
- // Iterate over the result list and create the return list
- for (XXCredentialStore gjXCredentialStore : resultList) {
- @SuppressWarnings("unchecked")
- VXCredentialStore vXCredentialStore = populateViewBean((T)gjXCredentialStore);
- xCredentialStoreList.add(vXCredentialStore);
- }
-
- returnList.setVXCredentialStores(xCredentialStoreList);
- return returnList;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/service/XGroupGroupService.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/service/XGroupGroupService.java b/security-admin/src/main/java/com/xasecure/service/XGroupGroupService.java
deleted file mode 100644
index 420880a..0000000
--- a/security-admin/src/main/java/com/xasecure/service/XGroupGroupService.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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.service;
-
-import com.xasecure.entity.*;
-import com.xasecure.view.*;
-
-import org.springframework.context.annotation.Scope;
-import org.springframework.stereotype.Service;
-
-import com.xasecure.biz.*;
-import com.xasecure.entity.*;
-import com.xasecure.service.*;
-import com.xasecure.view.*;
-
-@Service
-@Scope("singleton")
-public class XGroupGroupService extends XGroupGroupServiceBase<XXGroupGroup, VXGroupGroup> {
-
- @Override
- protected void validateForCreate(VXGroupGroup vObj) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- protected void validateForUpdate(VXGroupGroup vObj, XXGroupGroup mObj) {
- // TODO Auto-generated method stub
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/service/XGroupGroupServiceBase.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/service/XGroupGroupServiceBase.java b/security-admin/src/main/java/com/xasecure/service/XGroupGroupServiceBase.java
deleted file mode 100644
index fd8c9ea..0000000
--- a/security-admin/src/main/java/com/xasecure/service/XGroupGroupServiceBase.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * 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.service;
-
-/**
- *
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.xasecure.common.*;
-import com.xasecure.entity.*;
-import com.xasecure.view.*;
-import com.xasecure.service.*;
-
-public abstract class XGroupGroupServiceBase<T extends XXGroupGroup, V extends VXGroupGroup>
- extends AbstractBaseResourceService<T, V> {
- public static final String NAME = "XGroupGroup";
-
- public XGroupGroupServiceBase() {
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected XXGroupGroup mapViewToEntityBean(VXGroupGroup vObj, XXGroupGroup mObj, int OPERATION_CONTEXT) {
- mObj.setName( vObj.getName());
- mObj.setParentGroupId( vObj.getParentGroupId());
- mObj.setGroupId( vObj.getGroupId());
- return mObj;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected VXGroupGroup mapEntityToViewBean(VXGroupGroup vObj, XXGroupGroup mObj) {
- vObj.setName( mObj.getName());
- vObj.setParentGroupId( mObj.getParentGroupId());
- vObj.setGroupId( mObj.getGroupId());
- return vObj;
- }
-
- /**
- * @param searchCriteria
- * @return
- */
- public VXGroupGroupList searchXGroupGroups(SearchCriteria searchCriteria) {
- VXGroupGroupList returnList = new VXGroupGroupList();
- List<VXGroupGroup> xGroupGroupList = new ArrayList<VXGroupGroup>();
-
- @SuppressWarnings("unchecked")
- List<XXGroupGroup> resultList = (List<XXGroupGroup>)searchResources(searchCriteria,
- searchFields, sortFields, returnList);
-
- // Iterate over the result list and create the return list
- for (XXGroupGroup gjXGroupGroup : resultList) {
- @SuppressWarnings("unchecked")
- VXGroupGroup vXGroupGroup = populateViewBean((T)gjXGroupGroup);
- xGroupGroupList.add(vXGroupGroup);
- }
-
- returnList.setVXGroupGroups(xGroupGroupList);
- return returnList;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/service/XGroupService.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/service/XGroupService.java b/security-admin/src/main/java/com/xasecure/service/XGroupService.java
deleted file mode 100644
index 73725dc..0000000
--- a/security-admin/src/main/java/com/xasecure/service/XGroupService.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * 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.service;
-
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import com.xasecure.common.XACommonEnums;
-import com.xasecure.common.MessageEnums;
-import com.xasecure.common.PropertiesUtil;
-import com.xasecure.common.SearchField;
-import com.xasecure.common.SortField;
-import com.xasecure.common.SortField.SORT_ORDER;
-import com.xasecure.common.StringUtil;
-import com.xasecure.entity.*;
-import com.xasecure.view.*;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Scope;
-import org.springframework.stereotype.Service;
-
-import com.xasecure.biz.*;
-import com.xasecure.common.AppConstants;
-import com.xasecure.common.view.VTrxLogAttr;
-import com.xasecure.db.XADaoManager;
-import com.xasecure.entity.*;
-import com.xasecure.service.*;
-import com.xasecure.util.XAEnumUtil;
-import com.xasecure.view.*;
-
-@Service
-@Scope("singleton")
-public class XGroupService extends XGroupServiceBase<XXGroup, VXGroup> {
-
- public static Long createdByUserId = 1L;
-
- @Autowired
- XADaoManager xADaoManager;
-
- @Autowired
- XAEnumUtil xaEnumUtil;
-
- @Autowired
- StringUtil stringUtil;
-
- static HashMap<String, VTrxLogAttr> trxLogAttrs = new HashMap<String, VTrxLogAttr>();
- static {
- trxLogAttrs.put("name", new VTrxLogAttr("name", "Group Name", false));
- trxLogAttrs.put("description", new VTrxLogAttr("description", "Group Description", false));
- }
-
- public XGroupService() {
- searchFields.add(new SearchField("name", "obj.name",
- SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.PARTIAL));
- searchFields.add(new SearchField("groupSource", "obj.groupSource",
- SearchField.DATA_TYPE.STRING, SearchField.SEARCH_TYPE.FULL));
- createdByUserId = new Long(PropertiesUtil.getIntProperty(
- "xa.xuser.createdByUserId", 1));
-
- sortFields.add(new SortField("name", "obj.name",true,SortField.SORT_ORDER.ASC));
- }
-
- @Override
- protected void validateForCreate(VXGroup vObj) {
- XXGroup xxGroup = xADaoManager.getXXGroup().findByGroupName(
- vObj.getName());
- if (xxGroup != null) {
- throw restErrorUtil.createRESTException("XGroup already exists",
- MessageEnums.ERROR_DUPLICATE_OBJECT);
- }
-
- }
-
- @Override
- protected void validateForUpdate(VXGroup vObj, XXGroup mObj) {
- if (!vObj.getName().equalsIgnoreCase(mObj.getName())) {
- validateForCreate(vObj);
- }
- }
-
- public VXGroup getGroupByGroupName(String groupName) {
- XXGroup xxGroup = xADaoManager.getXXGroup().findByGroupName(groupName);
-
- if (xxGroup == null) {
- throw restErrorUtil.createRESTException(
- groupName + " is Not Found", MessageEnums.DATA_NOT_FOUND);
- }
- return super.populateViewBean(xxGroup);
- }
-
- public VXGroup createXGroupWithOutLogin(VXGroup vxGroup) {
- XXGroup xxGroup = xADaoManager.getXXGroup().findByGroupName(
- vxGroup.getName());
- boolean groupExists = true;
-
- if (xxGroup == null) {
- xxGroup = new XXGroup();
- groupExists = false;
- }
-
- xxGroup = mapViewToEntityBean(vxGroup, xxGroup, 0);
- XXPortalUser xXPortalUser = xADaoManager.getXXPortalUser().getById(createdByUserId);
- if (xXPortalUser != null) {
- xxGroup.setAddedByUserId(createdByUserId);
- xxGroup.setUpdatedByUserId(createdByUserId);
- }
- if (groupExists) {
- xxGroup = getDao().update(xxGroup);
- } else {
- xxGroup = getDao().create(xxGroup);
- }
- vxGroup = postCreate(xxGroup);
- return vxGroup;
- }
-
- public VXGroup readResourceWithOutLogin(Long id) {
- XXGroup resource = getDao().getById(id);
- if (resource == null) {
- // Returns code 400 with DATA_NOT_FOUND as the error message
- throw restErrorUtil.createRESTException(getResourceName()
- + " not found", MessageEnums.DATA_NOT_FOUND, id, null,
- "preRead: " + id + " not found.");
- }
-
- VXGroup view = populateViewBean(resource);
- if(view!=null){
- view.setGroupSource(resource.getGroupSource());
- }
- return view;
- }
-
- public List<XXTrxLog> getTransactionLog(VXGroup vResource, String action){
- return getTransactionLog(vResource, null, action);
- }
-
- public List<XXTrxLog> getTransactionLog(VXGroup vObj, XXGroup mObj, String action){
- if(vObj == null && (action == null || !action.equalsIgnoreCase("update"))){
- return null;
- }
-
- List<XXTrxLog> trxLogList = new ArrayList<XXTrxLog>();
- try {
-
- Field nameField = vObj.getClass().getDeclaredField("name");
- nameField.setAccessible(true);
- String objectName = ""+nameField.get(vObj);
- Field[] fields = vObj.getClass().getDeclaredFields();
-
- for(Field field : fields){
- field.setAccessible(true);
- String fieldName = field.getName();
- if(!trxLogAttrs.containsKey(fieldName)){
- continue;
- }
-
- VTrxLogAttr vTrxLogAttr = trxLogAttrs.get(fieldName);
-
- XXTrxLog xTrxLog = new XXTrxLog();
- xTrxLog.setAttributeName(vTrxLogAttr.getAttribUserFriendlyName());
-
- String value = null;
- boolean isEnum = vTrxLogAttr.isEnum();
- if(isEnum){
- String enumName = XXGroup.getEnumName(fieldName);
- int enumValue = field.get(vObj) == null ? 0 : Integer.parseInt(""+field.get(vObj));
- value = xaEnumUtil.getLabel(enumName, enumValue);
- } else {
- value = ""+field.get(vObj);
- }
-
- if(action.equalsIgnoreCase("create")){
- if(stringUtil.isEmpty(value)){
- continue;
- }
- xTrxLog.setNewValue(value);
- } else if(action.equalsIgnoreCase("delete")){
- xTrxLog.setPreviousValue(value);
- } else if(action.equalsIgnoreCase("update")){
- String oldValue = null;
- Field[] mFields = mObj.getClass().getDeclaredFields();
- for(Field mField : mFields){
- mField.setAccessible(true);
- String mFieldName = mField.getName();
- if(fieldName.equalsIgnoreCase(mFieldName)){
- if(isEnum){
- String enumName = XXAsset.getEnumName(mFieldName);
- int enumValue = mField.get(mObj) == null ? 0 : Integer.parseInt(""+mField.get(mObj));
- oldValue = xaEnumUtil.getLabel(enumName, enumValue);
- } else {
- oldValue = mField.get(mObj)+"";
- }
- break;
- }
- }
- if(value.equalsIgnoreCase(oldValue)){
- continue;
- }
- xTrxLog.setPreviousValue(oldValue);
- xTrxLog.setNewValue(value);
- }
-
- xTrxLog.setAction(action);
- xTrxLog.setObjectClassType(AppConstants.CLASS_TYPE_XA_GROUP);
- xTrxLog.setObjectId(vObj.getId());
- xTrxLog.setObjectName(objectName);
- trxLogList.add(xTrxLog);
-
- }
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (NoSuchFieldException e) {
- e.printStackTrace();
- } catch (SecurityException e) {
- e.printStackTrace();
- }
-
- return trxLogList;
- }
-
- @Override
- protected XXGroup mapViewToEntityBean(VXGroup vObj, XXGroup mObj, int OPERATION_CONTEXT) {
- super.mapViewToEntityBean(vObj, mObj, OPERATION_CONTEXT);
- return mObj;
- }
-
- @Override
- protected VXGroup mapEntityToViewBean(VXGroup vObj, XXGroup mObj) {
- super.mapEntityToViewBean(vObj, mObj);
- return vObj;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/service/XGroupServiceBase.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/service/XGroupServiceBase.java b/security-admin/src/main/java/com/xasecure/service/XGroupServiceBase.java
deleted file mode 100644
index fcd21d6..0000000
--- a/security-admin/src/main/java/com/xasecure/service/XGroupServiceBase.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * 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.service;
-
-/**
- *
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.xasecure.common.*;
-import com.xasecure.entity.*;
-import com.xasecure.view.*;
-import com.xasecure.service.*;
-
-public abstract class XGroupServiceBase<T extends XXGroup, V extends VXGroup>
- extends AbstractBaseResourceService<T, V> {
- public static final String NAME = "XGroup";
-
- public XGroupServiceBase() {
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected XXGroup mapViewToEntityBean(VXGroup vObj, XXGroup mObj, int OPERATION_CONTEXT) {
- mObj.setName( vObj.getName());
- mObj.setDescription( vObj.getDescription());
- mObj.setGroupType( vObj.getGroupType());
- mObj.setCredStoreId( vObj.getCredStoreId());
- return mObj;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected VXGroup mapEntityToViewBean(VXGroup vObj, XXGroup mObj) {
- vObj.setName( mObj.getName());
- vObj.setDescription( mObj.getDescription());
- vObj.setGroupType( mObj.getGroupType());
- vObj.setCredStoreId( mObj.getCredStoreId());
- return vObj;
- }
-
- /**
- * @param searchCriteria
- * @return
- */
- public VXGroupList searchXGroups(SearchCriteria searchCriteria) {
- VXGroupList returnList = new VXGroupList();
- List<VXGroup> xGroupList = new ArrayList<VXGroup>();
-
- @SuppressWarnings("unchecked")
- List<XXGroup> resultList = (List<XXGroup>)searchResources(searchCriteria,
- searchFields, sortFields, returnList);
-
- // Iterate over the result list and create the return list
- for (XXGroup gjXGroup : resultList) {
- @SuppressWarnings("unchecked")
- VXGroup vXGroup = populateViewBean((T)gjXGroup);
- xGroupList.add(vXGroup);
- }
-
- returnList.setVXGroups(xGroupList);
- return returnList;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/service/XGroupUserService.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/service/XGroupUserService.java b/security-admin/src/main/java/com/xasecure/service/XGroupUserService.java
deleted file mode 100644
index 31e9f81..0000000
--- a/security-admin/src/main/java/com/xasecure/service/XGroupUserService.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * 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.service;
-
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import com.xasecure.common.XACommonEnums;
-import com.xasecure.common.MessageEnums;
-import com.xasecure.common.PropertiesUtil;
-import com.xasecure.common.SearchField;
-import com.xasecure.entity.XXPortalUser;
-import com.xasecure.entity.XXGroup;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Scope;
-import org.springframework.stereotype.Service;
-
-import com.xasecure.common.AppConstants;
-import com.xasecure.common.view.VTrxLogAttr;
-import com.xasecure.db.XADaoManager;
-import com.xasecure.entity.*;
-import com.xasecure.util.XAEnumUtil;
-import com.xasecure.view.*;
-
-@Service
-@Scope("singleton")
-public class XGroupUserService extends
- XGroupUserServiceBase<XXGroupUser, VXGroupUser> {
-
- public static Long createdByUserId = 1L;
-
- @Autowired
- XADaoManager xADaoManager;
-
- @Autowired
- XAEnumUtil xaEnumUtil;
-
- static HashMap<String, VTrxLogAttr> trxLogAttrs = new HashMap<String, VTrxLogAttr>();
- static {
- trxLogAttrs.put("parentGroupId", new VTrxLogAttr("parentGroupId", "Group Name", false));
- }
-
-
- public XGroupUserService() {
- searchFields.add(new SearchField("xUserId", "obj.userId",
- SearchField.DATA_TYPE.INTEGER, SearchField.SEARCH_TYPE.FULL));
- searchFields.add(new SearchField("xGroupId", "obj.parentGroupId",
- SearchField.DATA_TYPE.INTEGER, SearchField.SEARCH_TYPE.FULL));
- createdByUserId = new Long(PropertiesUtil.getIntProperty(
- "xa.xuser.createdByUserId", 1));
-
- }
-
- @Override
- protected void validateForCreate(VXGroupUser vObj) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- protected void validateForUpdate(VXGroupUser vObj, XXGroupUser mObj) {
- // TODO Auto-generated method stub
-
- }
-
- public VXGroupUser createXGroupUserWithOutLogin(VXGroupUser vxGroupUser) {
- XXGroupUser xxGroupUser = new XXGroupUser();
- XXGroup xGroup = daoManager.getXXGroup().findByGroupName(vxGroupUser.getName());
- vxGroupUser.setParentGroupId(xGroup.getId());
- xxGroupUser = mapViewToEntityBean(vxGroupUser, xxGroupUser, 0);
- XXPortalUser xXPortalUser = xADaoManager.getXXPortalUser().getById(createdByUserId);
- if (xXPortalUser != null) {
- xxGroupUser.setAddedByUserId(createdByUserId);
- xxGroupUser.setUpdatedByUserId(createdByUserId);
- }
- xxGroupUser = getDao().create(xxGroupUser);
- vxGroupUser = postCreate(xxGroupUser);
- return vxGroupUser;
- }
-
- public VXGroupUser readResourceWithOutLogin(Long id) {
- XXGroupUser resource = getDao().getById(id);
- if (resource == null) {
- // Returns code 400 with DATA_NOT_FOUND as the error message
- throw restErrorUtil.createRESTException(getResourceName()
- + " not found", MessageEnums.DATA_NOT_FOUND, id, null,
- "preRead: " + id + " not found.");
- }
-
- VXGroupUser view = populateViewBean(resource);
- return view;
- }
-
- public List<XXTrxLog> getTransactionLog(VXGroupUser vXGroupUser, String action){
- return getTransactionLog(vXGroupUser, null, action);
- }
-
- public List<XXTrxLog> getTransactionLog(VXGroupUser vObj, XXGroupUser mObj, String action){
-// if(vObj == null && (action == null || !action.equalsIgnoreCase("update"))){
-// return null;
-// }
-
- Long groupId = vObj.getParentGroupId();
- XXGroup xGroup = xADaoManager.getXXGroup().getById(groupId);
- String groupName = xGroup.getName();
-
- Long userId = vObj.getUserId();
- XXUser xUser = xADaoManager.getXXUser().getById(userId);
- String userName = xUser.getName();
-
- List<XXTrxLog> trxLogList = new ArrayList<XXTrxLog>();
- Field[] fields = vObj.getClass().getDeclaredFields();
-
- try {
- for(Field field : fields){
- field.setAccessible(true);
- String fieldName = field.getName();
- if(!trxLogAttrs.containsKey(fieldName)){
- continue;
- }
-
- VTrxLogAttr vTrxLogAttr = trxLogAttrs.get(fieldName);
-
- XXTrxLog xTrxLog = new XXTrxLog();
- xTrxLog.setAttributeName(vTrxLogAttr.getAttribUserFriendlyName());
-
- String value = null;
- boolean isEnum = vTrxLogAttr.isEnum();
- if(isEnum){
- String enumName = XXAsset.getEnumName(fieldName);
- int enumValue = field.get(vObj) == null ? 0 : Integer.parseInt(""+field.get(vObj));
- value = xaEnumUtil.getLabel(enumName, enumValue);
- } else {
- value = ""+field.get(vObj);
- XXGroup xXGroup = xADaoManager.getXXGroup().getById(Long.parseLong(value));
- value = xXGroup.getName();
- }
-
- if(action.equalsIgnoreCase("create")){
- xTrxLog.setNewValue(value);
- } else if(action.equalsIgnoreCase("delete")){
- xTrxLog.setPreviousValue(value);
- } else if(action.equalsIgnoreCase("update")){
- // No Change.
- xTrxLog.setNewValue(value);
- xTrxLog.setPreviousValue(value);
- }
-
- xTrxLog.setAction(action);
-
- xTrxLog.setObjectClassType(AppConstants.CLASS_TYPE_XA_GROUP_USER);
- xTrxLog.setObjectId(vObj.getId());
- xTrxLog.setObjectName(userName);
-
- xTrxLog.setParentObjectClassType(AppConstants.CLASS_TYPE_XA_GROUP);
- xTrxLog.setParentObjectId(groupId);
- xTrxLog.setParentObjectName(groupName);
-
- trxLogList.add(xTrxLog);
-
- }
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (SecurityException e) {
- e.printStackTrace();
- }
-
- return trxLogList;
- }
-
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/413fcb68/security-admin/src/main/java/com/xasecure/service/XGroupUserServiceBase.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/com/xasecure/service/XGroupUserServiceBase.java b/security-admin/src/main/java/com/xasecure/service/XGroupUserServiceBase.java
deleted file mode 100644
index 76ffa82..0000000
--- a/security-admin/src/main/java/com/xasecure/service/XGroupUserServiceBase.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * 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.service;
-
-/**
- *
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.xasecure.common.*;
-import com.xasecure.entity.*;
-import com.xasecure.view.*;
-import com.xasecure.service.*;
-
-public abstract class XGroupUserServiceBase<T extends XXGroupUser, V extends VXGroupUser>
- extends AbstractBaseResourceService<T, V> {
- public static final String NAME = "XGroupUser";
-
- public XGroupUserServiceBase() {
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected XXGroupUser mapViewToEntityBean(VXGroupUser vObj, XXGroupUser mObj, int OPERATION_CONTEXT) {
- mObj.setName( vObj.getName());
- mObj.setParentGroupId( vObj.getParentGroupId());
- mObj.setUserId( vObj.getUserId());
- return mObj;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- protected VXGroupUser mapEntityToViewBean(VXGroupUser vObj, XXGroupUser mObj) {
- vObj.setName( mObj.getName());
- vObj.setParentGroupId( mObj.getParentGroupId());
- vObj.setUserId( mObj.getUserId());
- return vObj;
- }
-
- /**
- * @param searchCriteria
- * @return
- */
- public VXGroupUserList searchXGroupUsers(SearchCriteria searchCriteria) {
- VXGroupUserList returnList = new VXGroupUserList();
- List<VXGroupUser> xGroupUserList = new ArrayList<VXGroupUser>();
-
- @SuppressWarnings("unchecked")
- List<XXGroupUser> resultList = (List<XXGroupUser>)searchResources(searchCriteria,
- searchFields, sortFields, returnList);
-
- // Iterate over the result list and create the return list
- for (XXGroupUser gjXGroupUser : resultList) {
- @SuppressWarnings("unchecked")
- VXGroupUser vXGroupUser = populateViewBean((T)gjXGroupUser);
- xGroupUserList.add(vXGroupUser);
- }
-
- returnList.setVXGroupUsers(xGroupUserList);
- return returnList;
- }
-
-}