package net.whydah.admin.application;
import net.whydah.admin.CredentialStore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
/**
* Created by baardl on 29.03.14.
*/
@Service
public class ApplicationService {
private static final Logger log = LoggerFactory.getLogger(ApplicationService.class);
private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd hh:mm");
private final UibApplicationConnection uibApplicationConnection;
private final CredentialStore credentialStore;
@Autowired
public ApplicationService(UibApplicationConnection uibApplicationConnection, CredentialStore credentialStore) {
this.uibApplicationConnection = uibApplicationConnection;
this.credentialStore = credentialStore;
}
public Application createApplication(String applicationTokenId, String userTokenId,String applicationJson) {
Application application = null;
if (hasAccess(applicationTokenId, userTokenId)) {
application = uibApplicationConnection.addApplication(credentialStore.getUserAdminServiceTokenId(), userTokenId, applicationJson);
} else {
//FIXME handle no access to this method.
}
return application;
}
// TODO Implement this
public Application updateApplication(String applicationTokenId, String userTokenId,String applicationJson) {
Application application = null;
if (hasAccess(applicationTokenId, userTokenId)) {
// application = uibApplicationConnection.addApplication(credentialStore.getUserAdminServiceTokenId(), userTokenId, applicationJson);
} else {
//FIXME handle no access to this method.
}
return application;
}
public Application createApplicationFromXml(String applicationTokenId, String userTokenId,String applicationXml) {
Application createdApplication = null;
Application application = Application.fromXml(applicationXml);
if (application != null) {
String applicationJson = application.toJson();
createdApplication = createApplication(applicationTokenId, userTokenId, applicationJson);
}
return createdApplication;
}
public Application getApplication(String applicationTokenId, String userTokenId, String applicationId) {
Application application = null;
if (hasAccess(applicationTokenId, userTokenId)) {
application = uibApplicationConnection.getApplication(credentialStore.getUserAdminServiceTokenId(), userTokenId, applicationId);
} else {
//FIXME handle no access to this method.
}
return application;
}
// TODO Implement this
public Application deleteApplication(String applicationTokenId, String userTokenId, String applicationId) {
Application application = null;
if (hasAccess(applicationTokenId, userTokenId)) {
// application = uibApplicationConnection.getApplication(credentialStore.getUserAdminServiceTokenId(), userTokenId, applicationId);
} else {
//FIXME handle no access to this method.
}
return application;
}
// TODO Implement this
public Application findApplications(String applicationTokenId, String userTokenId, String query) {
Application application = null;
if (hasAccess(applicationTokenId, userTokenId)) {
// application = uibApplicationConnection.getApplication(credentialStore.getUserAdminServiceTokenId(), userTokenId, applicationId);
} else {
//FIXME handle no access to this method.
}
return application;
}
boolean hasAccess(String applicationTokenId, String userTokenId) {
//FIXME validate user and applciation trying to create a new application.
return true;
}
}