@Override public List<? extends Service> findServicesFor(Instance instance) { return create() .select(SERVICE.fields()) .from(SERVICE) .join(SERVICE_EXPOSE_MAP) .on(SERVICE_EXPOSE_MAP.SERVICE_ID.eq(SERVICE.ID)) .where(SERVICE_EXPOSE_MAP.INSTANCE_ID.eq(instance.getId())) .fetchInto(ServiceRecord.class); }
@Override public List<? extends Service> getServicesOnHost(long hostId) { return create() .select(SERVICE.fields()) .from(SERVICE) .join(SERVICE_EXPOSE_MAP) .on(SERVICE_EXPOSE_MAP.SERVICE_ID.eq(SERVICE.ID)) .join(INSTANCE_HOST_MAP) .on(SERVICE_EXPOSE_MAP.INSTANCE_ID.eq(INSTANCE_HOST_MAP.INSTANCE_ID)) .where(INSTANCE_HOST_MAP.HOST_ID.eq(hostId)) .and(INSTANCE_HOST_MAP.REMOVED.isNull()) .and(SERVICE_EXPOSE_MAP.REMOVED.isNull()) .and(SERVICE.REMOVED.isNull()) .fetchInto(ServiceRecord.class); }
@Override public List<? extends Instance> findInstancesFor(Service service) { return create() .select(INSTANCE.fields()) .from(INSTANCE) .join(SERVICE_EXPOSE_MAP) .on( SERVICE_EXPOSE_MAP .INSTANCE_ID .eq(INSTANCE.ID) .and(SERVICE_EXPOSE_MAP.SERVICE_ID.eq(service.getId())) .and( SERVICE_EXPOSE_MAP.STATE.in( CommonStatesConstants.ACTIVATING, CommonStatesConstants.ACTIVE, CommonStatesConstants.REQUESTED)) .and( INSTANCE.STATE.notIn( CommonStatesConstants.PURGING, CommonStatesConstants.PURGED, CommonStatesConstants.REMOVED, CommonStatesConstants.REMOVING))) .fetchInto(InstanceRecord.class); }