示例#1
0
 @Override
 public List<Long> getHostsForSubnet(long subnetId, Long vnetId) {
   return create()
       .select(HOST_VNET_MAP.HOST_ID)
       .from(SUBNET_VNET_MAP)
       .join(VNET)
       .on(VNET.ID.eq(SUBNET_VNET_MAP.VNET_ID))
       .join(HOST_VNET_MAP)
       .on(HOST_VNET_MAP.VNET_ID.eq(VNET.ID))
       .where(
           SUBNET_VNET_MAP
               .SUBNET_ID
               .eq(subnetId)
               .and(vnetCondition(vnetId))
               .and(HOST_VNET_MAP.STATE.eq(CommonStatesConstants.ACTIVE)))
       .fetch(HOST_VNET_MAP.HOST_ID);
 }
示例#2
0
  @Override
  public Vnet findVnetFromHosts(Long hostId, Long subnetId) {
    List<? extends HostVnetMap> vnets =
        create()
            .select(HOST_VNET_MAP.fields())
            .from(HOST_VNET_MAP)
            .join(SUBNET_VNET_MAP)
            .on(SUBNET_VNET_MAP.VNET_ID.eq(HOST_VNET_MAP.VNET_ID))
            .where(SUBNET_VNET_MAP.SUBNET_ID.eq(subnetId).and(HOST_VNET_MAP.HOST_ID.eq(hostId)))
            .fetchInto(HostVnetMapRecord.class);

    if (vnets.size() == 0) {
      return null;
    }

    return objectManager.loadResource(Vnet.class, vnets.get(0).getVnetId());
  }
示例#3
0
 @Override
 public List<Long> getPhysicalHostsForSubnet(long subnetId, Long vnetId) {
   return create()
       .select(HOST.PHYSICAL_HOST_ID)
       .from(SUBNET_VNET_MAP)
       .join(VNET)
       .on(VNET.ID.eq(SUBNET_VNET_MAP.VNET_ID))
       .join(HOST_VNET_MAP)
       .on(HOST_VNET_MAP.VNET_ID.eq(VNET.ID))
       .join(HOST)
       .on(HOST.ID.eq(HOST_VNET_MAP.HOST_ID))
       .where(
           SUBNET_VNET_MAP
               .SUBNET_ID
               .eq(subnetId)
               .and(HOST_VNET_MAP.STATE.eq(CommonStatesConstants.ACTIVE))
               .and(vnetCondition(vnetId))
               .and(HOST.PHYSICAL_HOST_ID.isNotNull()))
       .fetchInto(Long.class);
 }