public class MoodleServiceClient extends PluginActivator implements PostLoginUserListener
bundle, dms
Constructor and Description |
---|
MoodleServiceClient() |
Modifier and Type | Method and Description |
---|---|
private void |
assignToMoodleWorkspace(Topic topic) |
private boolean |
associationExists(String edge_type,
Topic item,
Topic user) |
private String |
callMoodle(String key,
String functionName,
String params)
Do a HTTP/S request to the configured moodle endpoint.
|
private Topic |
checkAuthorization() |
private void |
createAggregatingCourseEdge(Topic courseTopic,
Topic sectionTopic) |
private void |
createAggregatingSectionEdge(Topic sectionTopic,
Topic itemTopic) |
private Topic |
createMoodleCourseItemTopic(org.codehaus.jettison.json.JSONObject object,
List<Topic> hashtags) |
private Topic |
createMoodleCourseTopic(org.codehaus.jettison.json.JSONObject object) |
private Topic |
createMoodleSectionTopic(org.codehaus.jettison.json.JSONObject object,
int nr) |
private void |
createParticipantEdge(Topic courseTopic,
Topic userAccount) |
private void |
fetchAndSetMoodleUserId(Topic userAccount)
Fetches and relates the internal moodle-user-id to our currently logged-in user-account.
|
private void |
fetchMoodleCourseItems(long topicId,
String token,
List<Topic> hashtags) |
private void |
fetchMoodleCourses(Topic userAccount,
long moodleUserId,
String token) |
private Topic |
getJavaKeyStorePass() |
private Topic |
getJavaKeyStorePath() |
private Topic |
getMoodleCourseItemTopic(long itemId) |
private Topic |
getMoodleCourseTopic(long courseId) |
private ResultList<RelatedTopic> |
getMoodleCourseTopicsByUser(Topic user) |
private Topic |
getMoodleEndpointUrl() |
private Topic |
getMoodleSectionTopic(long sectionId) |
String |
getMoodleSecurityKey()
Delivers the moodle security key for the logged in user to the requesting client.
|
private String |
getMoodleSecurityKeyWithoutAuthCheck(Topic userAccount) |
private long |
getMoodleUserId(Topic userAccount) |
private Topic |
getUserAccountTopic(String username) |
private boolean |
hasAggregatingCourseParentEdge(Topic child,
Topic parent) |
private boolean |
hasAggregatingSectionParentEdge(Topic child,
Topic parent) |
private boolean |
hasAnyWorkspace(Topic topic) |
private boolean |
hasParticipantEdge(Topic course,
Topic user) |
void |
init() |
private boolean |
isHTTPSConfigured() |
private ChildTopicsModel |
parseGenericsToItemModel(org.codehaus.jettison.json.JSONObject object) |
private ChildTopicsModel |
parseResourceToItemModel(ChildTopicsModel model,
org.codehaus.jettison.json.JSONObject resource) |
private ChildTopicsModel |
parseTimestampsToItemModel(ChildTopicsModel model,
org.codehaus.jettison.json.JSONObject item) |
private String |
parseYoutubeEmbedUrl(String fileUrl) |
void |
postInstall() |
void |
postLoginUser(String username) |
private DeepaMehtaObject |
setDefaultMoodleAdminACLEntries(DeepaMehtaObject item) |
private DeepaMehtaObject |
setDefaultMoodleGroupACLEntries(DeepaMehtaObject item) |
String |
setMoodleSecurityKey(int id,
String input)
Relates the moodle-security-key to our currently logged-in user-account.
|
private void |
setMoodleUserId(Topic userAccount,
long moodleUserId) |
String |
startMoodleSynchronization(String username) |
private void |
startSynchronizationThreadFor(Topic user) |
private Topic |
updateMoodleCourseItemTopic(Topic item,
org.codehaus.jettison.json.JSONObject object) |
private Topic |
updateMoodleCourseTopic(Topic course,
org.codehaus.jettison.json.JSONObject object) |
private Topic |
updateMoodleSectionTopic(Topic section,
org.codehaus.jettison.json.JSONObject object) |
getBundleContext, getPluginName, getStaticResource, getUri, publishDirectory, serviceArrived, serviceGone, setCoreService, shutdown, start, stop, toString
public static final String WS_MOODLE_NAME
public static final String WS_MOODLE_URI
public static final String MOODLE_PARTICIPANT_EDGE
public static final String MOODLE_COURSE_URI
public static final String MOODLE_COURSE_NAME_URI
public static final String MOODLE_COURSE_SHORT_NAME_URI
public static final String MOODLE_SECTION_URI
public static final String MOODLE_SECTION_NAME_URI
public static final String MOODLE_SECTION_SUMMARY_URI
public static final String MOODLE_SECTION_ORDINAL_NR
public static final String MOODLE_ITEM_URI
public static final String MOODLE_ITEM_NAME_URI
public static final String MOODLE_ITEM_ICON_URI
public static final String MOODLE_ITEM_REMOTE_URL_URI
public static final String MOODLE_ITEM_MEDIA_TYPE_URI
public static final String MOODLE_ITEM_DESC_URI
public static final String MOODLE_ITEM_HREF_URI
public static final String MOODLE_ITEM_TYPE_URI
public static final String MOODLE_ITEM_MODIFIED_URI
public static final String MOODLE_ITEM_CREATED_URI
public static final String MOODLE_ITEM_AUTHOR_URI
public static final String MOODLE_ITEM_LICENSE_URI
public static final String MOODLE_ITEM_SIZE_URI
public static final String ISIS_COURSE_URI_PREFIX
public static final String ISIS_SECTION_URI_PREFIX
public static final String ISIS_ITEM_URI_PREFIX
private final String WEBSERVICE_CLIENT_OPTION_OPTION
private final String CLIENT_OPTION_ENDPOINT_URL_URI
private final String CLIENT_OPTION_USE_HTTPS
private final String CLIENT_OPTION_JAVA_KEY_STORE_PATH
private final String CLIENT_OPTION_JAVA_KEY_STORE_PASS
private final String USERNAME_OF_SETTINGS_ADMINISTRATOR
private final String MOODLE_SECURITY_KEY_URI
private final String MOODLE_USER_ID_URI
private final String MOODLE_SERVICE_NAME
private final String MOODLE_SERVICE_FORMAT
private final int MOODLE_SECURITY_KEY_LENGTH
private final String URI_URI
private final String DEFAULT_ROLE_TYPE_URI
private final String CHILD_ROLE_TYPE_URI
private final String PARENT_ROLE_TYPE_URI
private final String AGGREGATION_TYPE_URI
private final String COMPOSITION_TYPE_URI
private final String USER_ACCOUNT_TYPE_URI
private final String USER_NAME_TYPE_URI
private final String CHILD_URI
private final String PARENT_URI
private final String TAG_URI
private final String REVIEW_SCORE_URI
private AccessControlService aclService
public MoodleServiceClient()
public void init()
init
in interface PluginContext
init
in class PluginActivator
public void postInstall()
postInstall
in interface PluginContext
postInstall
in class PluginActivator
public void postLoginUser(String username)
postLoginUser
in interface PostLoginUserListener
public String startMoodleSynchronization(String username)
public String getMoodleSecurityKey()
public String setMoodleSecurityKey(int id, String input)
id
- topicId of userAccountinput
- JSON payload containing { "moodle_key": yourkey }private void startSynchronizationThreadFor(Topic user)
private void fetchAndSetMoodleUserId(Topic userAccount) throws javax.ws.rs.WebApplicationException
javax.ws.rs.WebApplicationException
private void fetchMoodleCourses(Topic userAccount, long moodleUserId, String token)
private void fetchMoodleCourseItems(long topicId, String token, List<Topic> hashtags)
private void createParticipantEdge(Topic courseTopic, Topic userAccount)
private boolean hasParticipantEdge(Topic course, Topic user)
private void createAggregatingCourseEdge(Topic courseTopic, Topic sectionTopic)
private boolean hasAggregatingCourseParentEdge(Topic child, Topic parent)
private void createAggregatingSectionEdge(Topic sectionTopic, Topic itemTopic)
private boolean hasAggregatingSectionParentEdge(Topic child, Topic parent)
private Topic createMoodleCourseTopic(org.codehaus.jettison.json.JSONObject object)
private Topic updateMoodleCourseTopic(Topic course, org.codehaus.jettison.json.JSONObject object)
private Topic getMoodleCourseTopic(long courseId)
private ResultList<RelatedTopic> getMoodleCourseTopicsByUser(Topic user)
private Topic createMoodleSectionTopic(org.codehaus.jettison.json.JSONObject object, int nr)
private Topic updateMoodleSectionTopic(Topic section, org.codehaus.jettison.json.JSONObject object)
private Topic getMoodleSectionTopic(long sectionId)
private Topic createMoodleCourseItemTopic(org.codehaus.jettison.json.JSONObject object, List<Topic> hashtags)
private Topic updateMoodleCourseItemTopic(Topic item, org.codehaus.jettison.json.JSONObject object)
private Topic getMoodleCourseItemTopic(long itemId)
private void setMoodleUserId(Topic userAccount, long moodleUserId)
private long getMoodleUserId(Topic userAccount)
private ChildTopicsModel parseGenericsToItemModel(org.codehaus.jettison.json.JSONObject object) throws org.codehaus.jettison.json.JSONException
org.codehaus.jettison.json.JSONException
private ChildTopicsModel parseResourceToItemModel(ChildTopicsModel model, org.codehaus.jettison.json.JSONObject resource) throws org.codehaus.jettison.json.JSONException
org.codehaus.jettison.json.JSONException
private ChildTopicsModel parseTimestampsToItemModel(ChildTopicsModel model, org.codehaus.jettison.json.JSONObject item) throws org.codehaus.jettison.json.JSONException
org.codehaus.jettison.json.JSONException
private String parseYoutubeEmbedUrl(String fileUrl)
private String callMoodle(String key, String functionName, String params) throws MoodleConnectionException
MoodleConnectionException
private Topic checkAuthorization()
private Topic getUserAccountTopic(String username)
private String getMoodleSecurityKeyWithoutAuthCheck(Topic userAccount)
private Topic getMoodleEndpointUrl()
private Topic getJavaKeyStorePath()
private Topic getJavaKeyStorePass()
private boolean isHTTPSConfigured()
private void assignToMoodleWorkspace(Topic topic)
private boolean hasAnyWorkspace(Topic topic)
private boolean associationExists(String edge_type, Topic item, Topic user)
private DeepaMehtaObject setDefaultMoodleGroupACLEntries(DeepaMehtaObject item)
private DeepaMehtaObject setDefaultMoodleAdminACLEntries(DeepaMehtaObject item)
Copyright © 2016. All Rights Reserved.