Search in sources :

Example 1 with UserId

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

the class UserInSessionDecoder method decode.

@Override
public UserInSession decode(JSONValue json) {
    JSONObject object = json.isObject();
    if (object == null) {
        throw new RuntimeException("Expected json object");
    }
    JSONValue userNameValue = object.get(USER_NAME);
    if (userNameValue == null) {
        throw new RuntimeException("Expected userName attribute");
    }
    JSONString userNameStringValue = userNameValue.isString();
    if (userNameStringValue == null) {
        throw new RuntimeException("Expected userName value to be string");
    }
    String displayName = object.get(DISPLAY_NAME).isString().stringValue();
    String userEmail = object.get(USER_EMAIL).isString().stringValue();
    JSONArray actionArray = object.get(APPLICATION_ACTIONS).isArray();
    Set<ActionId> allowedActions = new HashSet<>();
    if (actionArray != null) {
        for (int i = 0; i < actionArray.size(); i++) {
            ActionId actionId = new ActionId(actionArray.get(i).isString().stringValue());
            allowedActions.add(actionId);
        }
    }
    UserId userId = UserId.getUserId(userNameStringValue.stringValue());
    UserDetails userDetails;
    if (userId.isGuest()) {
        userDetails = UserDetails.getGuestUserDetails();
    } else {
        userDetails = UserDetails.getUserDetails(userId, displayName, userEmail);
    }
    return new UserInSession(userDetails, allowedActions);
}
Also used : JSONArray(com.google.gwt.json.client.JSONArray) JSONString(com.google.gwt.json.client.JSONString) UserInSession(edu.stanford.bmir.protege.web.shared.app.UserInSession) JSONValue(com.google.gwt.json.client.JSONValue) ActionId(edu.stanford.bmir.protege.web.shared.access.ActionId) UserDetails(edu.stanford.bmir.protege.web.shared.user.UserDetails) JSONObject(com.google.gwt.json.client.JSONObject) UserId(edu.stanford.bmir.protege.web.shared.user.UserId) JSONString(com.google.gwt.json.client.JSONString) HashSet(java.util.HashSet)

Example 2 with UserId

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

the class LoginPresenter method handleSignIn.

private void handleSignIn(SignInDetails signInDetails) {
    final UserId userId = UserId.getUserId(signInDetails.getUserName());
    loginExecutor.execute(userId, signInDetails.getClearTextPassword(), new PerformLoginActionFactory(), new AuthenticatedDispatchServiceCallback<PerformLoginResult>() {

        @Override
        public void handleAuthenticationResponse(@Nonnull AuthenticationResponse authenticationResponse) {
            if (authenticationResponse == AuthenticationResponse.FAIL) {
                view.showLoginFailedErrorMessage();
            }
        }

        @Override
        public void handleSuccess(@Nonnull PerformLoginResult result) {
            handlePerformLoginResult(result);
        }

        @Override
        public String getProgressDisplayTitle() {
            return "Logging in";
        }

        @Override
        public String getProgressDisplayMessage() {
            return "Please wait.";
        }
    });
}
Also used : UserId(edu.stanford.bmir.protege.web.shared.user.UserId)

Example 3 with UserId

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

the class CommentAutoCompleter method handleAutocomplete.

public void handleAutocomplete(@Nonnull String query, @Nonnull EditorPosition caretPosition, int caretPos, @Nonnull AutoCompletionCallback callback) {
    String upToCarent = query.substring(0, caretPos);
    MatchResult result = nameRegExp.exec(upToCarent);
    if (result == null) {
        handleAttemptAtEntityCompletions(upToCarent, caretPosition, callback);
    } else {
        String matchedPartialName = result.getGroup(NAME_GROUP);
        EditorPosition replaceTextFrom = new EditorPosition(caretPosition.getLineNumber(), caretPosition.getColumnNumber() - result.getGroup(0).length());
        dispatchServiceManager.execute(new GetUserIdCompletionsAction(matchedPartialName), userIdsResult -> {
            List<AutoCompletionChoice> suggestions = new ArrayList<>();
            List<UserId> userIds = userIdsResult.getPossibleItemCompletions();
            for (UserId userId : userIds) {
                String userName = userId.getUserName();
                String replacement = getReplacementStringFromUserName(userName);
                EditorPosition replaceTextTo = new EditorPosition(caretPosition.getLineNumber(), caretPosition.getColumnNumber());
                suggestions.add(new AutoCompletionChoice(replacement, userName, "", replaceTextFrom, replaceTextTo));
            }
            callback.completionsReady(new AutoCompletionResult(suggestions, replaceTextFrom));
        });
    }
}
Also used : EditorPosition(edu.stanford.bmir.gwtcodemirror.client.EditorPosition) GetUserIdCompletionsAction(edu.stanford.bmir.protege.web.shared.itemlist.GetUserIdCompletionsAction) UserId(edu.stanford.bmir.protege.web.shared.user.UserId) ArrayList(java.util.ArrayList) AutoCompletionResult(edu.stanford.bmir.gwtcodemirror.client.AutoCompletionResult) AutoCompletionChoice(edu.stanford.bmir.gwtcodemirror.client.AutoCompletionChoice) MatchResult(com.google.gwt.regexp.shared.MatchResult)

Example 4 with UserId

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

the class LoadProjectInNewWindowRequestHandlerImpl method handleLoadProjectInNewWindow.

@Override
public void handleLoadProjectInNewWindow(final ProjectId projectId) {
    UserId userId = loggedInUserProvider.getCurrentUserId();
    dispatchServiceManager.execute(new GetPerspectivesAction(projectId, userId), new DispatchServiceCallback<GetPerspectivesResult>() {

        @Override
        public void handleSuccess(GetPerspectivesResult result) {
            ImmutableList<PerspectiveId> perspectives = result.getPerspectives();
            handleOpenInNewWindow(perspectives, projectId);
        }
    });
}
Also used : GetPerspectivesResult(edu.stanford.bmir.protege.web.shared.perspective.GetPerspectivesResult) UserId(edu.stanford.bmir.protege.web.shared.user.UserId) ImmutableList(com.google.common.collect.ImmutableList) GetPerspectivesAction(edu.stanford.bmir.protege.web.shared.perspective.GetPerspectivesAction)

Example 5 with UserId

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

the class LoggedInUserPresenter method updateView.

private void updateView() {
    UserId user = loggedInUserProvider.getCurrentUserId();
    view.setLoggedInUserName(user.getUserName());
}
Also used : UserId(edu.stanford.bmir.protege.web.shared.user.UserId)

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