package io.fathom.cloud.lbaas.services; import io.fathom.cloud.openstack.client.loadbalance.model.LbaasServer; import io.fathom.cloud.protobuf.LbaasModel.LbaasServerData; import io.fathom.cloud.server.model.Project; public class LbaasServerMapper extends Mapper<LbaasServerData, LbaasServer> { public static final LbaasServerMapper INSTANCE = new LbaasServerMapper(); @Override public LbaasServerData toComparable(LbaasServerData d) { LbaasServerData.Builder b = LbaasServerData.newBuilder(d); b.clearId(); b.clearState(); return b.build(); } @Override public LbaasServerData toData(Project project, String systemKey, LbaasServer model) { // TODO: We could probably auto-map this LbaasServerData.Builder b = LbaasServerData.newBuilder(); if (model.ip != null) { b.setIp(model.ip); } b.setSystemKey(systemKey); b.setProjectId(project.getId()); LbaasServerData record = b.build(); return record; } @Override public LbaasServer toModel(LbaasServerData data) { LbaasServer model = new LbaasServer(); if (data.hasIp()) { model.ip = data.getIp(); } return model; } }