ModelArchiveFactory.java [tools/MetaModelTools/src/models] Revision: c5437c546f842322a9b8b01231553a8cf0635857 Date: Tue Dec 17 11:39:47 MST 2019
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package models;
import java.io.IOException;
import org.bson.Document;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
/**
*
* @author <a href="mailto:shaun.case@colostate.edu">Shaun Case</a>
*/
public class ModelArchiveFactory {
public static ModelArchive getModelArchive(String serviceName, Document doc) {
ModelArchive model = null;
model = getModelArchive(serviceName, doc, false);
return model;
}
public static ModelArchive getModelArchive(String serviceName, Document doc, boolean returnBasicArchive) {
ModelArchive model = null;
if (returnBasicArchive) {
model = new ModelArchive(doc.getString("_id"),
doc.getString("ctime"),
doc.getString("etime"),
serviceName,
doc.getString("status"),
doc.getString("req_ip"),
doc.getString("filename")
);
} else {
if (serviceName.contains("weps/5.2")) {
model = new WEPSModelArchive(doc.getString("_id"),
doc.getString("ctime"),
doc.getString("etime"),
serviceName,
doc.getString("status"),
doc.getString("req_ip"),
doc.getString("filename")
);
} else {
if (serviceName.contains("wepp/")) {
model = new WEPPModelArchive(doc.getString("_id"),
doc.getString("ctime"),
doc.getString("etime"),
serviceName,
doc.getString("status"),
doc.getString("req_ip"),
doc.getString("filename")
);
} else {
//Not a service we are interested in...
}
}
}
return model;
}
public static ModelArchive getModelArchive(String serviceName, Document doc, byte[] fileData) throws IOException, JSONException {
ModelArchive model = null;
if (serviceName.contains("weps/5.2")) {
model = new WEPSModelArchive(doc.getString("_id"),
doc.getString("ctime"),
doc.getString("etime"),
serviceName,
doc.getString("status"),
doc.getString("req_ip"),
doc.getString("filename"),
fileData
);
} else {
if (serviceName.contains("wepp/")) {
model = new WEPPModelArchive(doc.getString("_id"),
doc.getString("ctime"),
doc.getString("etime"),
serviceName,
doc.getString("status"),
doc.getString("req_ip"),
doc.getString("filename"),
fileData
);
} else {
//Not a service we are interested in...
}
}
return model;
}
public static ModelArchive getModelArchive(JSONObject metaData) throws JSONException {
ModelArchive model = null;
String serviceName = metaData.getString(csip.ModelDataService.KEY_SERVICE_URL);
if (serviceName.contains("weps/5.2")) {
model = new WEPSModelArchive(metaData);
} else {
if (serviceName.contains("wepp/")) {
model = new WEPPModelArchive(metaData);
} else {
//Not a service we are interested in...
}
}
return model;
}
public static ModelArchive getModelArchive(JSONObject metaData, byte[] fileData) throws JSONException, IOException {
ModelArchive model = null;
String serviceName = metaData.getString(csip.ModelDataService.KEY_SERVICE_URL);
if (serviceName.contains("weps/5.2")) {
model = new WEPSModelArchive(metaData, fileData);
} else {
if (serviceName.contains("wepp/")) {
model = new WEPPModelArchive(metaData, fileData);
} else {
//Not a service we are interested in...
}
}
return model;
}
}