package io.cattle.platform.sample.data; import static io.cattle.platform.core.model.tables.InstanceTable.*; import static io.cattle.platform.core.model.tables.ServiceIndexTable.*; import io.cattle.platform.core.constants.InstanceConstants; import io.cattle.platform.core.model.Account; import io.cattle.platform.core.model.Instance; import io.cattle.platform.core.model.ServiceIndex; import io.cattle.platform.object.util.DataAccessor; import io.github.ibuildthecloud.gdapi.condition.Condition; import io.github.ibuildthecloud.gdapi.condition.ConditionType; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class SampleDataStartupV5 extends AbstractSampleData { @Override protected String getName() { return "sampleDataVersion5"; } @Override protected void populatedData(Account system, List<Object> toCreate) { List<Instance> instances = objectManager .find(Instance.class, INSTANCE.REMOVED, new Condition(ConditionType.NULL)); List<ServiceIndex> serviceIndexes = objectManager .find(ServiceIndex.class, SERVICE_INDEX.REMOVED, new Condition(ConditionType.NULL)); List<Long> serviceIndexIds = new ArrayList<>(); for (ServiceIndex index : serviceIndexes) { serviceIndexIds.add(index.getId()); } for (Instance instance : instances) { Long toUpdate = DataAccessor.fieldLong(instance, InstanceConstants.FIELD_SERVICE_INSTANCE_SERVICE_INDEX_ID); if (toUpdate != null && serviceIndexIds.contains(toUpdate)) { Map<String, Object> data = new HashMap<>(); data.put(InstanceConstants.FIELD_SERVICE_INSTANCE_SERVICE_INDEX_ID, toUpdate); objectManager.setFields(instance, data); } } } }