use of org.bimserver.interfaces.objects.SLogAction in project BIMserver by opensourceBIM.
the class AdminServiceImpl method getLogs.
@Override
public List<SLogAction> getLogs() throws ServerException, UserException {
requireRealUserAuthentication();
DatabaseSession session = getBimServer().getDatabase().createSession();
try {
BimDatabaseAction<List<LogAction>> action = new GetLogsDatabaseAction(session, getInternalAccessMethod(), getAuthorization());
List<LogAction> logs = session.executeAndCommitAction(action);
List<SLogAction> convertToSListLogAction = getBimServer().getSConverter().convertToSListLogAction(logs);
Collections.sort(convertToSListLogAction, new SLogComparator(true));
return convertToSListLogAction;
} catch (Exception e) {
return handleException(e);
} finally {
session.close();
}
}
use of org.bimserver.interfaces.objects.SLogAction in project BIMserver by opensourceBIM.
the class ServiceImpl method getUserRelatedLogs.
@Override
public List<SLogAction> getUserRelatedLogs(Long uoid) throws ServerException, UserException {
DatabaseSession session = getBimServer().getDatabase().createSession();
try {
List<LogAction> logActions = new ArrayList<LogAction>();
User user = session.get(getAuthorization().getUoid(), OldQuery.getDefault());
IfcModelInterface projectsModel = session.getAllOfType(StorePackage.eINSTANCE.getProject(), OldQuery.getDefault());
logActions.addAll(user.getLogs());
for (IdEObject idEObject : projectsModel.getValues()) {
if (idEObject instanceof Project) {
Project project = (Project) idEObject;
if ((user.getUserType() == UserType.ADMIN || (project.getState() == ObjectState.ACTIVE) && getAuthorization().hasRightsOnProjectOrSuperProjectsOrSubProjects(user, project))) {
logActions.addAll(project.getLogs());
}
}
}
Collections.sort(logActions, new Comparator<LogAction>() {
@Override
public int compare(LogAction o1, LogAction o2) {
return o1.getDate().compareTo(o2.getDate());
}
});
return getBimServer().getSConverter().convertToSListLogAction(logActions);
} catch (Exception e) {
return handleException(e);
} finally {
session.close();
}
}
use of org.bimserver.interfaces.objects.SLogAction 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();
}
}
Aggregations