package org.opentosca.csarrepo.service;
import java.net.MalformedURLException;
import java.net.URL;
import org.opentosca.csarrepo.exception.PersistenceException;
import org.opentosca.csarrepo.model.OpenToscaServer;
import org.opentosca.csarrepo.model.repository.OpenToscaServerRepository;
import org.opentosca.csarrepo.model.repository.UserRepository;
public class CreateOpenToscaServerService extends AbstractService {
public CreateOpenToscaServerService(long userId, String name, String uri) {
super(userId);
// validate the name
name.trim();
if (name.isEmpty() || name.length() > 255) {
this.addError("nameLengthError");
}
// validate uri
try {
URL address = new URL(uri);
if (!super.hasErrors()) {
// no errors save
OpenToscaServer ots = new OpenToscaServer();
ots.setName(name);
ots.setAddress(address);
OpenToscaServerRepository repo = new OpenToscaServerRepository();
try {
UserRepository usrRepo = new UserRepository();
ots.addUser(usrRepo.getById(userId));
repo.save(ots);
} catch (PersistenceException e) {
this.addError("savingWineryFailed" + e.getMessage());
}
}
} catch (MalformedURLException e1) {
this.addError("invalidURIError");
}
}
public boolean getResult() {
return !super.hasErrors();
}
}