package io.cattle.platform.sample.data;
import static io.cattle.platform.core.model.tables.DataTable.*;
import io.cattle.platform.core.dao.DataDao;
import io.cattle.platform.core.model.Account;
import io.cattle.platform.core.model.Data;
import io.cattle.platform.core.model.Service;
import io.cattle.platform.object.ObjectManager;
import io.github.ibuildthecloud.gdapi.condition.Condition;
import io.github.ibuildthecloud.gdapi.condition.ConditionType;
import java.util.List;
import java.util.concurrent.Callable;
import javax.inject.Inject;
import org.apache.commons.lang3.StringUtils;
public class SampleDataStartupV14 extends AbstractSampleData {
@Inject
ObjectManager objectManager;
@Inject
DataDao dataDao;
@Override
protected String getName() {
return "sampleDataVersion14";
}
@Override
protected void populatedData(Account system, List<Object> toCreate) {
List<Data> datas = objectManager.find(Data.class,
DATA.NAME, new Condition(ConditionType.LIKE, "service.v2.%.cert"));
for (Data data : datas) {
String name = data.getName();
String[] parts = name.split("[.]");
if (parts.length != 4) {
continue;
}
Long id = null;
try {
id = Long.parseLong(parts[2]);
} catch (NumberFormatException nfe) {
continue;
}
Service service = objectManager.loadResource(Service.class, id);
if (service == null || service.getRemoved() != null || StringUtils.isBlank(service.getName())) {
continue;
}
String newKey = "service.v3." + service.getAccountId() + "." + service.getName() + ".cert";
dataDao.getOrCreate(newKey, false, new Callable<String>() {
@Override
public String call() throws Exception {
return data.getValue();
}
});
}
}
}