use of edu.stanford.bmir.protege.web.shared.user.UserId in project webprotege by protegeproject.
the class ChangeEmailAddressPresenter method showDialog.
private void showDialog(Optional<EmailAddress> emailAddress) {
final UserId userId = loggedInUserProvider.getCurrentUserId();
ChangeEmailAddressDialogController controller = new ChangeEmailAddressDialogController();
emailAddress.ifPresent(controller::setValue);
controller.setDialogButtonHandler(DialogButton.OK, (data, closer) -> {
if (data.isPresent()) {
dispatchServiceManager.execute(new SetEmailAddressAction(userId, data.get().getEmailAddress()), result -> {
if (result.getResult() == ADDRESS_ALREADY_EXISTS) {
MessageBox.showMessage("Address already taken", "The email address that you have specified is taken by another user. " + "Please specify a different email address.");
} else {
closer.hide();
}
});
} else {
MessageBox.showAlert("The specified email addresses do not match.");
}
});
WebProtegeDialog<Optional<EmailAddress>> dlg = new WebProtegeDialog<Optional<EmailAddress>>(controller);
dlg.setVisible(true);
}
use of edu.stanford.bmir.protege.web.shared.user.UserId in project webprotege by protegeproject.
the class RevisionStoreImpl method load.
public void load() {
try {
writeLock.lock();
if (!changeHistoryFile.exists()) {
changeHistoryFile.getParentFile().mkdirs();
return;
}
final ImmutableList.Builder<Revision> revisionsBuilder = ImmutableList.builder();
try {
logger.info("{} Loading change history", projectId);
Stopwatch stopwatch = Stopwatch.createStarted();
BinaryOWLOntologyChangeLog changeLog = new BinaryOWLOntologyChangeLog();
final BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(changeHistoryFile));
final Interner<OWLAxiom> axiomInterner = Interners.newStrongInterner();
final Interner<String> metadataInterner = Interners.newStrongInterner();
changeLog.readChanges(inputStream, dataFactory, (list, skipSetting, l) -> {
BinaryOWLMetadata metadata = list.getMetadata();
String userName = metadataInterner.intern(metadata.getStringAttribute(RevisionSerializationVocabulary.USERNAME_METADATA_ATTRIBUTE.getVocabularyName(), ""));
Long revisionNumberValue = metadata.getLongAttribute(RevisionSerializationVocabulary.REVISION_META_DATA_ATTRIBUTE.getVocabularyName(), 0L);
RevisionNumber revisionNumber = RevisionNumber.getRevisionNumber(revisionNumberValue);
String description = metadataInterner.intern(metadata.getStringAttribute(RevisionSerializationVocabulary.DESCRIPTION_META_DATA_ATTRIBUTE.getVocabularyName(), ""));
// RevisionType type = RevisionType.valueOf(metadata.getStringAttribute(RevisionSerializationVocabulary.REVISION_TYPE_META_DATA_ATTRIBUTE.getVocabularyName(), RevisionType.EDIT.name()));
final UserId userId = UserId.getUserId(userName);
final List<OWLOntologyChangeRecord> changeRecords = internChangeRecords(list, axiomInterner);
Revision revision = new Revision(userId, revisionNumber, ImmutableList.copyOf(changeRecords), list.getTimestamp(), description);
revisionsBuilder.add(revision);
}, SkipSetting.SKIP_NONE);
inputStream.close();
stopwatch.stop();
revisions = revisionsBuilder.build();
logger.info("{} Change history loading complete. Loaded {} revisions in {} ms.", projectId, revisions.size(), stopwatch.elapsed(TimeUnit.MILLISECONDS));
} catch (Exception e) {
logger.error("{} Failed to load change history for project. Cause: {}", projectId, e.getMessage(), e);
}
} finally {
writeLock.unlock();
}
}
use of edu.stanford.bmir.protege.web.shared.user.UserId in project webprotege by protegeproject.
the class ProjectDetailsConverter method fromDocument.
@Override
public ProjectDetails fromDocument(@Nonnull Document document) {
ProjectId projectId = ProjectId.get(document.getString(PROJECT_ID));
String displayName = document.getString(DISPLAY_NAME);
String description = Optional.ofNullable(document.getString(DESCRIPTION)).orElse("");
UserId owner = UserId.getUserId(document.getString(OWNER));
boolean inTrash = document.getBoolean(IN_TRASH, false);
long createdAt = Optional.ofNullable(document.getDate(CREATED_AT)).map(Date::getTime).orElse(0L);
UserId createdBy = UserId.getUserId(Optional.ofNullable(document.getString(CREATED_BY)).orElse(owner.getUserName()));
long lastModifiedAt = Optional.ofNullable(document.getDate(MODIFIED_AT)).map(Date::getTime).orElse(0L);
UserId lastModifiedBy = UserId.getUserId(Optional.ofNullable(document.getString(MODIFIED_BY)).orElse(owner.getUserName()));
return new ProjectDetails(projectId, displayName, description, owner, inTrash, createdAt, createdBy, lastModifiedAt, lastModifiedBy);
}
use of edu.stanford.bmir.protege.web.shared.user.UserId in project webprotege by protegeproject.
the class ResetPerspectiveLayoutActionHandler method execute.
@Nonnull
@Override
public ResetPerspectiveLayoutResult execute(@Nonnull ResetPerspectiveLayoutAction action, @Nonnull ExecutionContext executionContext) {
ProjectId projectId = action.getProjectId();
PerspectiveId perspectiveId = action.getPerspectiveId();
PerspectiveLayout defaultLayout = store.getPerspectiveLayout(projectId, perspectiveId);
// Only reset the perspective if there is a default for it
UserId userId = executionContext.getUserId();
if (defaultLayout.getRootNode().isPresent()) {
store.clearPerspectiveLayout(projectId, userId, perspectiveId);
}
PerspectiveLayout perspectiveLayout = store.getPerspectiveLayout(projectId, userId, perspectiveId);
return new ResetPerspectiveLayoutResult(perspectiveLayout);
}
use of edu.stanford.bmir.protege.web.shared.user.UserId in project webprotege by protegeproject.
the class GetProjectEventsActionHandler method execute.
@Nonnull
@Override
public GetProjectEventsResult execute(@Nonnull GetProjectEventsAction action, @Nonnull ExecutionContext executionContext) {
EventTag sinceTag = action.getSinceTag();
ProjectId projectId = action.getProjectId();
UserId userId = executionContext.getUserId();
if (!accessManager.hasPermission(forUser(userId), forProject(action.getProjectId()), VIEW_PROJECT)) {
return getEmptyResult(projectId, sinceTag);
}
if (!projectManager.isActive(projectId)) {
return getEmptyResult(projectId, sinceTag);
}
Optional<Project> project = projectManager.getProjectIfActive(projectId);
if (!project.isPresent()) {
return getEmptyResult(projectId, sinceTag);
}
EventManager<ProjectEvent<?>> eventManager = project.get().getEventManager();
EventList<ProjectEvent<?>> eventList = eventManager.getEventsFromTag(sinceTag);
ProjectEventList projectEventList = ProjectEventList.builder(eventList.getStartTag(), projectId, eventList.getEndTag()).addEvents(eventList.getEvents()).build();
return new GetProjectEventsResult(projectEventList);
}
Aggregations