List of usage examples for com.amazonaws.services.route53.model ChangeInfo ChangeInfo
public ChangeInfo(String id, ChangeStatus status, java.util.Date submittedAt)
From source file:com.msi.dns53.server.query.CreateHostedZone.java
License:Apache License
private CreateHostedZoneResult createHostedZone(Session session, CreateHostedZoneRequest request) throws ErrorResponse { CreateHostedZoneResult result = new CreateHostedZoneResult(); Date submittedAt = new Date(); AccessMySQL sqlaccess = AccessMySQL.getInstance(); String name = request.getName(); try {//from w ww . j a v a2 s. co m new java.net.URI("http://" + name); } catch (URISyntaxException e) { throw DNS53Faults.InvalidDomainName(); } String comment = null; if (request.getHostedZoneConfig() != null) { comment = request.getHostedZoneConfig().getComment(); } List<String> zoneInfo = sqlaccess.createHostedZone(session, name, request.getCallerReference(), comment, this.getAccountId()); String zoneId = zoneInfo.get(0); if (zoneId.equals("DUPLICATE_REFERENCE")) { throw DNS53Faults.HostedZoneAlreadyExists(); } else if (zoneId.equals("DUPLICATE_NAME")) { throw DNS53Faults.DelegationSetNotAvailable(); } else { String status = DNS53Constants.PENDING; String tableName = zoneInfo.get(1); String changeID = RequestHandler.writeChange(sqlaccess, status, submittedAt.toString(), tableName, "CREATE"); HostedZone hz = new HostedZone(zoneId, request.getName(), request.getCallerReference()); hz.setConfig(request.getHostedZoneConfig()); result.setHostedZone(hz); ChangeInfo ci = new ChangeInfo(changeID, status, submittedAt); result.setChangeInfo(ci); List<String> nameServers = new LinkedList<String>(); for (int i = 2; i < zoneInfo.size(); ++i) { nameServers.add(zoneInfo.get(i)); } DelegationSet ds = new DelegationSet(nameServers); result.setDelegationSet(ds); } return result; }