Search in sources :

Example 31 with UserId

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);
}
Also used : Optional(java.util.Optional) UserId(edu.stanford.bmir.protege.web.shared.user.UserId) WebProtegeDialog(edu.stanford.bmir.protege.web.client.library.dlg.WebProtegeDialog) SetEmailAddressAction(edu.stanford.bmir.protege.web.shared.mail.SetEmailAddressAction) EmailAddress(edu.stanford.bmir.protege.web.shared.user.EmailAddress)

Example 32 with UserId

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();
    }
}
Also used : ImmutableList(com.google.common.collect.ImmutableList) Stopwatch(com.google.common.base.Stopwatch) RevisionNumber(edu.stanford.bmir.protege.web.shared.revision.RevisionNumber) FileInputStream(java.io.FileInputStream) IOException(java.io.IOException) BinaryOWLMetadata(org.semanticweb.binaryowl.BinaryOWLMetadata) BufferedInputStream(java.io.BufferedInputStream) BinaryOWLOntologyChangeLog(org.semanticweb.binaryowl.BinaryOWLOntologyChangeLog) UserId(edu.stanford.bmir.protege.web.shared.user.UserId) AtomicLong(java.util.concurrent.atomic.AtomicLong) OWLAxiom(org.semanticweb.owlapi.model.OWLAxiom)

Example 33 with UserId

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);
}
Also used : ProjectDetails(edu.stanford.bmir.protege.web.shared.project.ProjectDetails) UserId(edu.stanford.bmir.protege.web.shared.user.UserId) ProjectId(edu.stanford.bmir.protege.web.shared.project.ProjectId)

Example 34 with UserId

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);
}
Also used : UserId(edu.stanford.bmir.protege.web.shared.user.UserId) ProjectId(edu.stanford.bmir.protege.web.shared.project.ProjectId) PerspectiveId(edu.stanford.bmir.protege.web.shared.perspective.PerspectiveId) PerspectiveLayout(edu.stanford.bmir.protege.web.shared.perspective.PerspectiveLayout) ResetPerspectiveLayoutResult(edu.stanford.bmir.protege.web.shared.perspective.ResetPerspectiveLayoutResult) Nonnull(javax.annotation.Nonnull)

Example 35 with UserId

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);
}
Also used : Project(edu.stanford.bmir.protege.web.server.project.Project) ProjectResource.forProject(edu.stanford.bmir.protege.web.server.access.ProjectResource.forProject) UserId(edu.stanford.bmir.protege.web.shared.user.UserId) ProjectId(edu.stanford.bmir.protege.web.shared.project.ProjectId) Nonnull(javax.annotation.Nonnull)

Aggregations

UserId (edu.stanford.bmir.protege.web.shared.user.UserId)64 Nonnull (javax.annotation.Nonnull)20 Test (org.junit.Test)14 ProjectId (edu.stanford.bmir.protege.web.shared.project.ProjectId)13 Inject (javax.inject.Inject)6 OWLEntity (org.semanticweb.owlapi.model.OWLEntity)6 List (java.util.List)5 ImmutableList (com.google.common.collect.ImmutableList)4 AccessManager (edu.stanford.bmir.protege.web.server.access.AccessManager)4 WebProtegeSession (edu.stanford.bmir.protege.web.server.session.WebProtegeSession)4 WebProtegeSessionImpl (edu.stanford.bmir.protege.web.server.session.WebProtegeSessionImpl)4 OWLEntityData (edu.stanford.bmir.protege.web.shared.entity.OWLEntityData)4 EventTag (edu.stanford.bmir.protege.web.shared.event.EventTag)4 ArrayList (java.util.ArrayList)4 DispatchServiceCallback (edu.stanford.bmir.protege.web.client.dispatch.DispatchServiceCallback)3 Subject.forUser (edu.stanford.bmir.protege.web.server.access.Subject.forUser)3 Optional (java.util.Optional)3 Stopwatch (com.google.common.base.Stopwatch)2 ImmutableSet (com.google.common.collect.ImmutableSet)2 ProjectResource (edu.stanford.bmir.protege.web.server.access.ProjectResource)2