Skip to content

Commit

Permalink
Defect #52324 Fix for multiple org connects
Browse files Browse the repository at this point in the history
  • Loading branch information
pc0202 committed Oct 30, 2020
1 parent c086afd commit 7851f6c
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

import com.infosys.hubservices.model.cassandra.UserConnection;
import com.infosys.hubservices.model.cassandra.UserConnectionPrimarykey;
import org.springframework.data.cassandra.repository.AllowFiltering;
import org.springframework.data.cassandra.repository.CassandraRepository;
import org.springframework.data.cassandra.repository.Query;
import org.springframework.data.domain.Pageable;
Expand All @@ -29,13 +30,19 @@ public interface UserConnectionRepository
@Query("SELECT count(user_id) from user_connection where connection_id=?0 AND connection_status=?1 ALLOW FILTERING;")
public int countByConnectionAndStatus(String connectionId, String status);

//@AllowFiltering
Slice<UserConnection> findByUserConnectionPrimarykeyRootOrgAndUserConnectionPrimarykeyUserId(String rootOrg, String userId, Pageable pageable);

//Slice<UserConnection> findByUserConnectionPrimarykeyRootOrgAndUserConnectionPrimarykeyConnectionId(String rootOrg, String connectionId, Pageable pageable);
@AllowFiltering
Slice<UserConnection> findByUserConnectionPrimarykeyUserId(String userId, Pageable pageable);

@Query("SELECT * FROM user_connection WHERE root_org=?0 AND connection_id=?1 AND connection_status=?2 ALLOW FILTERING;")
public List<UserConnection> findByConnection(String rootOrg, String connectionId, String status);

@Query("SELECT * FROM user_connection WHERE connection_id=?0 AND connection_status=?1 ALLOW FILTERING;")
public List<UserConnection> findByConnectionId(String connectionId, String status);


@Query("SELECT * FROM user_connection WHERE root_org=?0 AND user_id IN ?1 ;")
public List<UserConnection> findByUsersAndRootOrg(String rootOrg, List<String> userIds);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -235,14 +235,14 @@ public Response findAllConnectionsIdsByStatus(String rootOrg, String userId, Str

//for direction OUT
Pageable pageable = PageRequest.of(offset, limit);
Slice<UserConnection> sliceUserConnections = userConnectionRepository.findByUserConnectionPrimarykeyRootOrgAndUserConnectionPrimarykeyUserId(rootOrg, userId, pageable);
Slice<UserConnection> sliceUserConnections = userConnectionRepository.findByUserConnectionPrimarykeyUserId(userId, pageable);
List<UserConnection> userConnectionsEstablishedOut = sliceUserConnections.getContent().stream().filter(c -> c.getConnectionStatus().equalsIgnoreCase(status)).collect(Collectors.toList());
//connectionIds.addAll(userConnectionsEstablishedIn.stream().map(uc -> uc.getUserConnectionPrimarykey().getConnectionId()).collect(Collectors.toList()));
logger.info("userConnectionsEstablishedIn "+mapper.writeValueAsString(userConnectionsEstablishedOut));


//for direction IN
List<UserConnection> userConnectionsEstablishedIn = userConnectionRepository.findByConnection(rootOrg, userId, status);
List<UserConnection> userConnectionsEstablishedIn = userConnectionRepository.findByConnectionId(userId, status);
logger.info("userConnectionsEstablishedOut "+mapper.writeValueAsString(userConnectionsEstablishedIn));


Expand Down Expand Up @@ -298,15 +298,15 @@ public Response findConnectionsRequested(String rootOrg, String userId, int offs

List<UserConnection> userConnections = Collections.emptyList();
if(direction.equals(Constants.DIRECTION.OUT)){
Slice<UserConnection> sliceUserConnections = userConnectionRepository.findByUserConnectionPrimarykeyRootOrgAndUserConnectionPrimarykeyUserId(rootOrg, userId, pageable);
Slice<UserConnection> sliceUserConnections = userConnectionRepository.findByUserConnectionPrimarykeyUserId(userId, pageable);
userConnections = sliceUserConnections.getContent().stream().filter(c -> c.getConnectionStatus().equals(Constants.Status.PENDING)).collect(Collectors.toList());
response.put(Constants.ResponseStatus.PAGENO, offset);
response.put(Constants.ResponseStatus.HASPAGENEXT, sliceUserConnections.hasNext());
}
//System.out.println("rootOrg:"+rootOrg+" userId:"+userId);

if(direction.equals(Constants.DIRECTION.IN))
userConnections = userConnectionRepository.findByConnection(rootOrg, userId, Constants.Status.PENDING);
userConnections = userConnectionRepository.findByConnectionId(userId, Constants.Status.PENDING);


userConnections.sort(Comparator.comparing(UserConnection::getStartedOn).reversed());
Expand Down

0 comments on commit 7851f6c

Please sign in to comment.