Search in sources :

Example 61 with UserId

use of edu.stanford.bmir.protege.web.shared.user.UserId in project webprotege by protegeproject.

the class TermSynonymsManager method setSynonyms.

public void setSynonyms(@Nonnull UserId userId, @Nonnull OWLEntity term, @Nonnull Collection<OBOTermSynonym> synonyms) {
    List<OWLOntologyChange> changes = new ArrayList<>();
    rootOntology.getAnnotationAssertionAxioms(term.getIRI()).stream().filter(ax -> getSynonymScope(ax) != null).map(ax -> new RemoveAxiom(rootOntology, ax)).forEach(changes::add);
    for (OBOTermSynonym synonym : synonyms) {
        OWLAnnotationProperty synonymProperty = getSynonymAnnoationProperty(df, synonym.getScope());
        OWLLiteral synonymNameLiteral = df.getOWLLiteral(synonym.getName());
        Set<OWLAnnotation> synonymXRefs = synonym.getXRefs().stream().filter(x -> !x.isEmpty()).map(xRefConverter::toAnnotation).collect(Collectors.toSet());
        OWLAnnotationAssertionAxiom synonymAnnotationAssertion = df.getOWLAnnotationAssertionAxiom(synonymProperty, term.getIRI(), synonymNameLiteral, synonymXRefs);
        changes.add(new AddAxiom(rootOntology, synonymAnnotationAssertion));
    }
    if (!changes.isEmpty()) {
        changeManager.applyChanges(userId, new FixedChangeListGenerator<>(changes, term, "Edited term synonyms"));
    }
}
Also used : FixedChangeListGenerator(edu.stanford.bmir.protege.web.server.change.FixedChangeListGenerator) ChangeManager(edu.stanford.bmir.protege.web.server.project.ChangeManager) java.util(java.util) org.semanticweb.owlapi.model(org.semanticweb.owlapi.model) OboUtil.getStringValue(edu.stanford.bmir.protege.web.server.obo.OboUtil.getStringValue) OBOFormatConstants(org.obolibrary.oboformat.parser.OBOFormatConstants) Collectors(java.util.stream.Collectors) Inject(javax.inject.Inject) OBOTermSynonymScope(edu.stanford.bmir.protege.web.shared.obo.OBOTermSynonymScope) UserId(edu.stanford.bmir.protege.web.shared.user.UserId) Obo2OWLConstants(org.obolibrary.obo2owl.Obo2OWLConstants) OboUtil.getIRI(edu.stanford.bmir.protege.web.server.obo.OboUtil.getIRI) OBOTermSynonym(edu.stanford.bmir.protege.web.shared.obo.OBOTermSynonym) Nonnull(javax.annotation.Nonnull) Nullable(javax.annotation.Nullable) OBOTermSynonym(edu.stanford.bmir.protege.web.shared.obo.OBOTermSynonym)

Example 62 with UserId

use of edu.stanford.bmir.protege.web.shared.user.UserId in project webprotege by protegeproject.

the class IssueEventReadConverter method convert.

@Override
public IssueEvent convert(BasicDBObject dbObject) {
    String eventClass = dbObject.getString("_class");
    UserId userId = UserId.getUserId(dbObject.getString("userId"));
    long timestamp = dbObject.getLong("timestamp");
    if ("IssueAssigned".equals(eventClass)) {
        UserId assignee = UserId.getUserId(dbObject.getString("assignee"));
        return new IssueAssigned(userId, timestamp, assignee);
    } else if ("IssueUnassigned".equals(eventClass)) {
        UserId assignee = UserId.getUserId(dbObject.getString("assignee"));
        return new IssueUnassigned(userId, timestamp, assignee);
    } else if ("IssueLabelled".equals(eventClass)) {
        return new IssueLabelled(userId, timestamp, dbObject.getString("label"));
    } else if ("IssueUnlabelled".equals(eventClass)) {
        return new IssueUnlabelled(userId, timestamp, dbObject.getString("label"));
    } else if ("IssueMilestoned".equals(eventClass)) {
        return new IssueMilestoned(userId, timestamp, new Milestone(dbObject.getString("milestone")));
    } else if ("IssueDemilestoned".equals(eventClass)) {
        return new IssueDemilestoned(userId, timestamp, new Milestone(dbObject.getString("milestone")));
    } else if ("IssueLocked".equals(eventClass)) {
        return new IssueLocked(userId, timestamp);
    } else if ("IssueUnlocked".equals(eventClass)) {
        return new IssueUnlocked(userId, timestamp);
    } else if ("IssueRenamed".equals(eventClass)) {
        String from = dbObject.getString("from");
        String to = dbObject.getString("to");
        return new IssueRenamed(userId, timestamp, from, to);
    } else if ("IssueClosed".equals(eventClass)) {
        return new IssueClosed(userId, timestamp);
    } else if ("IssueReopened".equals(eventClass)) {
        return new IssueReopened(userId, timestamp);
    } else if ("IssueTargetAdded".equals(eventClass)) {
        OWLEntity targetEntity = entityReadConverter.convert((DBObject) dbObject.get("entity"));
        return new IssueTargetAdded(userId, timestamp, targetEntity);
    } else if ("IssueTargetRemoved".equals(eventClass)) {
        OWLEntity targetEntity = entityReadConverter.convert((DBObject) dbObject.get("entity"));
        return new IssueTargetRemoved(userId, timestamp, targetEntity);
    } else if ("IssueReferenced".equals(eventClass)) {
        int issueNumber = dbObject.getInt("issueNumber");
        int referencedByIssueNumber = dbObject.getInt("referencedByIssueNumber");
        return new IssueReferenced(userId, timestamp, issueNumber, referencedByIssueNumber);
    }
    // }
    throw new RuntimeException("Unknown IssueEvent class: " + eventClass);
}
Also used : Milestone(edu.stanford.bmir.protege.web.shared.issues.Milestone) OWLEntity(org.semanticweb.owlapi.model.OWLEntity) DBObject(com.mongodb.DBObject) BasicDBObject(com.mongodb.BasicDBObject) UserId(edu.stanford.bmir.protege.web.shared.user.UserId)

Example 63 with UserId

use of edu.stanford.bmir.protege.web.shared.user.UserId in project webprotege by protegeproject.

the class SetEmailAddressActionHandler method execute.

@Nonnull
@Override
public SetEmailAddressResult execute(@Nonnull SetEmailAddressAction action, @Nonnull ExecutionContext executionContext) {
    String emailAddress = action.getEmailAddress();
    Optional<UserId> userId = userDetailsManager.getUserIdByEmailAddress(new EmailAddress(emailAddress));
    if (userId.isPresent()) {
        if (userId.get().equals(action.getUserId())) {
            // Same user, same address
            return new SetEmailAddressResult(ADDRESS_UNCHANGED);
        } else {
            // Already exists
            return new SetEmailAddressResult(ADDRESS_ALREADY_EXISTS);
        }
    } else {
        userDetailsManager.setEmail(action.getUserId(), emailAddress);
        return new SetEmailAddressResult(ADDRESS_CHANGED);
    }
}
Also used : UserId(edu.stanford.bmir.protege.web.shared.user.UserId) EmailAddress(edu.stanford.bmir.protege.web.shared.user.EmailAddress) SetEmailAddressResult(edu.stanford.bmir.protege.web.shared.mail.SetEmailAddressResult) Nonnull(javax.annotation.Nonnull)

Example 64 with UserId

use of edu.stanford.bmir.protege.web.shared.user.UserId in project webprotege by protegeproject.

the class ProjectDetailsTestCase method builderSetOwnerChangesOwner.

@Test
public void builderSetOwnerChangesOwner() {
    UserId userId = mock(UserId.class);
    ProjectDetails details = projectDetails.builder().setOwner(userId).build();
    assertThat(details.getOwner(), is(equalTo(userId)));
}
Also used : UserId(edu.stanford.bmir.protege.web.shared.user.UserId) Test(org.junit.Test)

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