}
}
if (!view.hasRole(viewerRole) && isPublic) {
try {
ViewService viewService = ServiceProvider.getViewService(getLoggedInUser(sessionId));
try {
viewService.add(viewerRole, view);
} catch (OperationFailedException e) {
e.printStackTrace();
}
} catch (SessionExpiredException e) {
e.printStackTrace();
}
} else if (view.hasRole(viewerRole) && !isPublic) {
try {
ViewService viewService = ServiceProvider.getViewService(getLoggedInUser(sessionId));
try {
viewService.remove(viewerRole, view);
} catch (OperationFailedException e) {
e.printStackTrace();
}
} catch (SessionExpiredException e) {
e.printStackTrace();
}
}
if (!view.hasRole(editorRole) && isEditable) {
try {
ViewService viewService = ServiceProvider.getViewService(getLoggedInUser(sessionId));
try {
viewService.add(editorRole, view);
} catch (OperationFailedException e) {
e.printStackTrace();
}
} catch (SessionExpiredException e) {
e.printStackTrace();
}
} else if (view.hasRole(editorRole) && !isEditable) {
try {
ViewService viewService = ServiceProvider.getViewService(getLoggedInUser(sessionId));
try {
viewService.remove(editorRole, view);
} catch (OperationFailedException e) {
e.printStackTrace();
}
} catch (SessionExpiredException e) {
e.printStackTrace();