Search in sources :

Example 6 with SRevision

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());
}
Also used : SyndEntry(com.rometools.rome.feed.synd.SyndEntry) SyndContentImpl(com.rometools.rome.feed.synd.SyndContentImpl) SUser(org.bimserver.interfaces.objects.SUser) ArrayList(java.util.ArrayList) SyndFeedOutput(com.rometools.rome.io.SyndFeedOutput) SProject(org.bimserver.interfaces.objects.SProject) SyndFeed(com.rometools.rome.feed.synd.SyndFeed) SRevision(org.bimserver.interfaces.objects.SRevision) SyndContent(com.rometools.rome.feed.synd.SyndContent) ServiceException(org.bimserver.shared.exceptions.ServiceException) SyndEntryImpl(com.rometools.rome.feed.synd.SyndEntryImpl) SyndFeedImpl(com.rometools.rome.feed.synd.SyndFeedImpl) SRevisionIdComparator(org.bimserver.shared.comparators.SRevisionIdComparator)

Example 7 with SRevision

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();
    }
}
Also used : SRevision(org.bimserver.interfaces.objects.SRevision) Set(java.util.Set) LinkedHashSet(java.util.LinkedHashSet) DatabaseSession(org.bimserver.database.DatabaseSession) GetAllRevisionsOfProjectDatabaseAction(org.bimserver.database.actions.GetAllRevisionsOfProjectDatabaseAction) IOException(java.io.IOException) BimserverDatabaseException(org.bimserver.BimserverDatabaseException) SerializerException(org.bimserver.plugins.serializers.SerializerException) BcfException(org.opensourcebim.bcf.BcfException) UserException(org.bimserver.shared.exceptions.UserException) CannotBeScheduledException(org.bimserver.longaction.CannotBeScheduledException) DeserializeException(org.bimserver.plugins.deserializers.DeserializeException) ServerException(org.bimserver.shared.exceptions.ServerException) MessagingException(javax.mail.MessagingException) AddressException(javax.mail.internet.AddressException) UnsupportedEncodingException(java.io.UnsupportedEncodingException) MalformedURLException(java.net.MalformedURLException) SRevisionComparator(org.bimserver.webservices.SRevisionComparator)

Example 8 with SRevision

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();
    }
}
Also used : UsernamePasswordAuthenticationInfo(org.bimserver.shared.UsernamePasswordAuthenticationInfo) JsonBimServerClientFactory(org.bimserver.client.json.JsonBimServerClientFactory) SUser(org.bimserver.interfaces.objects.SUser) FileNotFoundException(java.io.FileNotFoundException) SProject(org.bimserver.interfaces.objects.SProject) SNewUserAdded(org.bimserver.interfaces.objects.SNewUserAdded) SUserChanged(org.bimserver.interfaces.objects.SUserChanged) SDatabaseCreated(org.bimserver.interfaces.objects.SDatabaseCreated) PrintWriter(java.io.PrintWriter) Path(java.nio.file.Path) SUserRemovedFromProject(org.bimserver.interfaces.objects.SUserRemovedFromProject) ChannelConnectionException(org.bimserver.shared.ChannelConnectionException) SProjectUpdated(org.bimserver.interfaces.objects.SProjectUpdated) SProjectDeleted(org.bimserver.interfaces.objects.SProjectDeleted) BimServerClientException(org.bimserver.shared.exceptions.BimServerClientException) ChannelConnectionException(org.bimserver.shared.ChannelConnectionException) ServiceException(org.bimserver.shared.exceptions.ServiceException) PublicInterfaceNotFoundException(org.bimserver.shared.exceptions.PublicInterfaceNotFoundException) BimServerClientException(org.bimserver.shared.exceptions.BimServerClientException) FileNotFoundException(java.io.FileNotFoundException) UserException(org.bimserver.shared.exceptions.UserException) ServerException(org.bimserver.shared.exceptions.ServerException) SUserAddedToProject(org.bimserver.interfaces.objects.SUserAddedToProject) SRevision(org.bimserver.interfaces.objects.SRevision) SNewRevisionAdded(org.bimserver.interfaces.objects.SNewRevisionAdded) ServiceException(org.bimserver.shared.exceptions.ServiceException) PublicInterfaceNotFoundException(org.bimserver.shared.exceptions.PublicInterfaceNotFoundException) SLogAction(org.bimserver.interfaces.objects.SLogAction) SServerStarted(org.bimserver.interfaces.objects.SServerStarted) SNewProjectAdded(org.bimserver.interfaces.objects.SNewProjectAdded)

Example 9 with SRevision

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();
    }
}
Also used : SRevision(org.bimserver.interfaces.objects.SRevision) ServiceException(org.bimserver.shared.exceptions.ServiceException) PublicInterfaceNotFoundException(org.bimserver.shared.exceptions.PublicInterfaceNotFoundException) BimServerClientInterface(org.bimserver.plugins.services.BimServerClientInterface) SProject(org.bimserver.interfaces.objects.SProject) HashSet(java.util.HashSet)

Aggregations

SRevision (org.bimserver.interfaces.objects.SRevision)9 UserException (org.bimserver.shared.exceptions.UserException)6 SProject (org.bimserver.interfaces.objects.SProject)5 ServerException (org.bimserver.shared.exceptions.ServerException)5 IOException (java.io.IOException)4 DatabaseSession (org.bimserver.database.DatabaseSession)4 SUser (org.bimserver.interfaces.objects.SUser)4 UnsupportedEncodingException (java.io.UnsupportedEncodingException)3 MalformedURLException (java.net.MalformedURLException)3 MessagingException (javax.mail.MessagingException)3 AddressException (javax.mail.internet.AddressException)3 BimserverDatabaseException (org.bimserver.BimserverDatabaseException)3 CannotBeScheduledException (org.bimserver.longaction.CannotBeScheduledException)3 ServiceException (org.bimserver.shared.exceptions.ServiceException)3 SyndContent (com.rometools.rome.feed.synd.SyndContent)2 SyndContentImpl (com.rometools.rome.feed.synd.SyndContentImpl)2 SyndEntry (com.rometools.rome.feed.synd.SyndEntry)2 SyndEntryImpl (com.rometools.rome.feed.synd.SyndEntryImpl)2 SyndFeed (com.rometools.rome.feed.synd.SyndFeed)2 SyndFeedImpl (com.rometools.rome.feed.synd.SyndFeedImpl)2