}
public void writeProject(XMLStreamWriter writer, Project project) throws Exception {
ProjectInformation info = project.getLookup().lookup(ProjectInformation.class);
ProjectMetaData metaData = project.getLookup().lookup(ProjectMetaData.class);
WorkspaceProviderImpl workspaces = project.getLookup().lookup(WorkspaceProviderImpl.class);
writer.writeStartElement("project");
writer.writeAttribute("name", info.getName());
//MetaData
writer.writeStartElement("metadata");
writer.writeStartElement("title");
writer.writeCharacters(metaData.getTitle());
writer.writeEndElement();
writer.writeStartElement("keywords");
writer.writeCharacters(metaData.getKeywords());
writer.writeEndElement();
writer.writeStartElement("description");
writer.writeCharacters(metaData.getDescription());
writer.writeEndElement();
writer.writeStartElement("author");
writer.writeCharacters(metaData.getAuthor());
writer.writeEndElement();
writer.writeEndElement();
//Workspaces
writer.writeStartElement("workspaces");
for (Workspace ws : workspaces.getWorkspaces()) {
writeWorkspace(writer, ws);
}
writer.writeEndElement();
writer.writeEndElement();
}