use of org.bimserver.interfaces.objects.SRevision in project BIMserver by opensourceBIM.
the class SyndicationServlet method writeRevisionsFeed.
private void writeRevisionsFeed(HttpServletRequest request, HttpServletResponse response, ServiceMap serviceMap) throws IOException, FeedException, ServiceException, PublicInterfaceNotFoundException {
long poid = Long.parseLong(request.getParameter("poid"));
SProject sProject = serviceMap.getServiceInterface().getProjectByPoid(poid);
SyndFeed feed = new SyndFeedImpl();
feed.setFeedType(FEED_TYPE);
feed.setTitle("BIMserver.org revisions feed for project '" + sProject.getName() + "'");
feed.setLink(request.getContextPath());
feed.setDescription("This feed represents all the revisions of project '" + sProject.getName() + "'");
List<SyndEntry> entries = new ArrayList<SyndEntry>();
try {
List<SRevision> allRevisionsOfProject = serviceMap.getServiceInterface().getAllRevisionsOfProject(poid);
Collections.sort(allRevisionsOfProject, new SRevisionIdComparator(false));
for (SRevision sVirtualRevision : allRevisionsOfProject) {
SUser user = serviceMap.getServiceInterface().getUserByUoid(sVirtualRevision.getUserId());
SyndEntry entry = new SyndEntryImpl();
entry.setTitle("Revision " + sVirtualRevision.getOid());
entry.setLink(request.getContextPath() + "/revision.jsp?poid=" + sVirtualRevision.getOid() + "&roid=" + sVirtualRevision.getOid());
entry.setPublishedDate(sVirtualRevision.getDate());
SyndContent description = new SyndContentImpl();
description.setType("text/html");
description.setValue("<table><tr><td>User</td><td>" + user.getUsername() + "</td></tr><tr><td>Comment</td><td>" + sVirtualRevision.getComment() + "</td></tr></table>");
entry.setDescription(description);
entries.add(entry);
}
} catch (ServiceException e) {
LOGGER.error("", e);
}
feed.setEntries(entries);
SyndFeedOutput output = new SyndFeedOutput();
output.output(feed, response.getWriter());
}
use of org.bimserver.interfaces.objects.SRevision in project BIMserver by opensourceBIM.
the class ServiceImpl method getAllRevisionsOfProject.
@Override
public List<SRevision> getAllRevisionsOfProject(Long poid) throws ServerException, UserException {
requireRealUserAuthentication();
DatabaseSession session = getBimServer().getDatabase().createSession();
try {
BimDatabaseAction<Set<Revision>> action = new GetAllRevisionsOfProjectDatabaseAction(session, getInternalAccessMethod(), poid);
List<SRevision> convertToSListRevision = getBimServer().getSConverter().convertToSListRevision(session.executeAndCommitAction(action));
Collections.sort(convertToSListRevision, new SRevisionComparator(true));
return convertToSListRevision;
} catch (Exception e) {
return handleException(e);
} finally {
session.close();
}
}
use of org.bimserver.interfaces.objects.SRevision in project BIMserver by opensourceBIM.
the class GetLogs method start.
private void start() {
try (JsonBimServerClientFactory factory = new JsonBimServerClientFactory(null, "[ADD]")) {
client = factory.create(new UsernamePasswordAuthenticationInfo("[ADD]", "[ADD]"));
List<SLogAction> logs = client.getAdminInterface().getLogs();
Path file = Paths.get("log.txt");
writer = new PrintWriter(file.toFile());
try {
for (SLogAction sLogAction : logs) {
if (sLogAction instanceof SDatabaseCreated) {
write(sLogAction, "Database created");
} else if (sLogAction instanceof SUserAddedToProject) {
SUserAddedToProject sUserAddedToProject = (SUserAddedToProject) sLogAction;
SProject project = getProject(sUserAddedToProject.getProjectId());
SUser user = getUser(sUserAddedToProject.getUserId());
write(sLogAction, "User " + user.getUsername() + " added to project " + project.getName());
} else if (sLogAction instanceof SUserRemovedFromProject) {
SUserRemovedFromProject sUserRemovedFromProject = (SUserRemovedFromProject) sLogAction;
SProject project = getProject(sUserRemovedFromProject.getProjectId());
SUser user = getUser(sUserRemovedFromProject.getUserId());
write(sLogAction, "User " + user.getUsername() + " removed from project " + project.getName());
} else if (sLogAction instanceof SNewUserAdded) {
SNewUserAdded sNewUserAdded = (SNewUserAdded) sLogAction;
SUser user = getUser(sNewUserAdded.getUserId());
write(sLogAction, "User " + user.getUsername() + " created");
} else if (sLogAction instanceof SNewProjectAdded) {
SNewProjectAdded sNewProject = (SNewProjectAdded) sLogAction;
SProject project = getProject(sNewProject.getProjectId());
write(sLogAction, "Project " + project.getName() + " created");
} else if (sLogAction instanceof SNewRevisionAdded) {
SNewRevisionAdded sNewRevisionAdded = (SNewRevisionAdded) sLogAction;
SProject project = getProject(sNewRevisionAdded.getProjectId());
SRevision revision = getRevision(sNewRevisionAdded.getRevisionId());
write(sLogAction, "Revision " + revision.getId() + " with comment " + revision.getComment() + " added to project " + project.getName());
} else if (sLogAction instanceof SProjectUpdated) {
SProjectUpdated sProjectUpdated = (SProjectUpdated) sLogAction;
SProject project = getProject(sProjectUpdated.getProjectId());
write(sLogAction, "Project " + project.getName() + " updated");
} else if (sLogAction instanceof SProjectDeleted) {
SProjectDeleted sProjectDeleted = (SProjectDeleted) sLogAction;
SProject project = getProject(sProjectDeleted.getProjectId());
write(sLogAction, "Project " + project.getName() + " deleted");
} else if (sLogAction instanceof SUserChanged) {
SUserChanged sUserChanged = (SUserChanged) sLogAction;
SUser user = getUser(sUserChanged.getUserId());
write(sLogAction, "User " + user.getUsername() + " updated");
} else if (sLogAction instanceof SServerStarted) {
write(sLogAction, "Server started");
} else {
write(sLogAction, "NOT IMPL " + sLogAction.getClass().getSimpleName());
}
}
} finally {
writer.close();
}
} catch (ServiceException | ChannelConnectionException e) {
e.printStackTrace();
} catch (PublicInterfaceNotFoundException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (BimServerClientException e) {
e.printStackTrace();
} catch (Exception e1) {
e1.printStackTrace();
}
}
use of org.bimserver.interfaces.objects.SRevision in project BIMserver by opensourceBIM.
the class RegenerateGeometry method start.
private void start() {
try {
BimServerClientInterface client = LocalDevSetup.setupJson("http://localhost:8080");
List<SProject> allProjects = client.getServiceInterface().getAllProjects(false, true);
Set<Long> croids = new HashSet<Long>();
for (SProject project : allProjects) {
for (Long roid : project.getRevisions()) {
SRevision revision = client.getServiceInterface().getRevision(roid);
for (long croid : revision.getConcreteRevisions()) {
croids.add(croid);
}
}
}
for (long croid : croids) {
client.getAdminInterface().regenerateGeometry(croid);
}
System.out.println("Done");
} catch (ServiceException e) {
e.printStackTrace();
} catch (PublicInterfaceNotFoundException e) {
e.printStackTrace();
}
}
Aggregations