/** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.apache.airavata.registry.core.repositories.workspacecatalog; import org.apache.airavata.model.user.UserProfile; import org.apache.airavata.registry.core.entities.workspacecatalog.UserProfileEntity; import org.apache.airavata.registry.core.repositories.AbstractRepository; import org.apache.airavata.registry.core.utils.QueryConstants; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.HashMap; import java.util.List; import java.util.Map; public class UserProfileRepository extends AbstractRepository<UserProfile, UserProfileEntity, String> { private final static Logger logger = LoggerFactory.getLogger(UserProfileRepository.class); public UserProfileRepository(Class<UserProfile> thriftGenericClass, Class<UserProfileEntity> dbEntityGenericClass) { super(thriftGenericClass, dbEntityGenericClass); } @Override public List<UserProfile> select(String query, int offset, int limit) { throw new UnsupportedOperationException("Due to performance overheads this method is not supported. Instead use" + " UserProfileSummaryRepository"); } public UserProfile getUserProfileByIdAndGateWay(String userId, String gatewayId) { UserProfile userProfile = null; Map<String, Object> queryParam = new HashMap<String, Object>(); queryParam.put(UserProfile._Fields.USER_ID.getFieldName(), userId); queryParam.put(UserProfile._Fields.GATEWAY_ID.getFieldName(), gatewayId); List<UserProfile> resultList = select(QueryConstants.FIND_USER_PROFILE_BY_USER_ID, 0, 1, queryParam); if (resultList != null && resultList.size() > 0) userProfile = resultList.get(0); return userProfile; } public List<UserProfile> getAllUserProfilesInGateway(String gatewayId, int offset, int limit) { Map<String, Object> queryParam = new HashMap<String, Object>(); queryParam.put(UserProfile._Fields.GATEWAY_ID.getFieldName(), gatewayId); List<UserProfile> resultList = select(QueryConstants.FIND_ALL_USER_PROFILES_BY_GATEWAY_ID, limit, offset, queryParam); return resultList; } public UserProfile getUserProfileByNameAndGateWay(String name, String gatewayId) { UserProfile userProfile = null; Map<String, Object> queryParam = new HashMap<String, Object>(); queryParam.put(UserProfile._Fields.USER_NAME.getFieldName(), name); queryParam.put(UserProfile._Fields.GATEWAY_ID.getFieldName(), gatewayId); List<UserProfile> resultList = select(QueryConstants.FIND_USER_PROFILE_BY_USER_NAME, 0, 1, queryParam); if (resultList != null && resultList.size() > 0) userProfile = resultList.get(0); return userProfile; } }