use of org.gephi.project.impl.ProjectsImpl in project gephi by gephi.
the class LoadTask method readProject.
private ProjectImpl readProject(ZipFile zipFile) throws Exception {
ZipEntry entry = zipFile.getEntry("Project_xml");
if (entry == null) {
// Try legacy
entry = zipFile.getEntry("Project");
}
if (entry != null) {
InputStream is = null;
try {
is = zipFile.getInputStream(entry);
InputStreamReader isReader = null;
Xml10FilterReader filterReader = null;
XMLStreamReader reader = null;
try {
XMLInputFactory inputFactory = XMLInputFactory.newInstance();
if (inputFactory.isPropertySupported("javax.xml.stream.isValidating")) {
inputFactory.setProperty("javax.xml.stream.isValidating", Boolean.FALSE);
}
inputFactory.setXMLReporter(new XMLReporter() {
@Override
public void report(String message, String errorType, Object relatedInformation, Location location) throws XMLStreamException {
}
});
isReader = new InputStreamReader(is, "UTF-8");
filterReader = new Xml10FilterReader(isReader);
reader = inputFactory.createXMLStreamReader(filterReader);
ProjectControllerImpl projectController = Lookup.getDefault().lookup(ProjectControllerImpl.class);
ProjectsImpl projects = projectController.getProjects();
ProjectImpl project = GephiReader.readProject(reader, projects);
project.getLookup().lookup(ProjectInformationImpl.class).setFile(file);
return project;
} finally {
if (reader != null) {
reader.close();
}
if (filterReader != null) {
filterReader.close();
}
}
} finally {
if (is != null) {
is.close();
}
}
}
return null;
}
Aggregations