public Map<String, ProfileLocator> getDefaultProfileLocators(RequestContext context) throws ProfilerException { // get default profile locators Map<String, ProfileLocator> locators = new HashMap<String, ProfileLocator>(); Collection<PrincipalRule> rules = getRulesForPrincipal(DEFAULT_RULE_PRINCIPAL); for (PrincipalRule pr : rules) { locators.put(pr.getLocatorName(), getDefaultProfile(context, pr.getLocatorName())); } return locators; }
public Map<String, ProfileLocator> getProfileLocators(RequestContext context, Principal principal) throws ProfilerException { // setup/maintain profiler context for session end notification setupProfilerContext(context); // get profile locators Map<String, ProfileLocator> locators = new HashMap<String, ProfileLocator>(); Collection<PrincipalRule> rules = getRulesForPrincipal(principal); for (PrincipalRule pr : rules) { locators.put(pr.getLocatorName(), getProfile(context, pr.getLocatorName())); } return locators; }
/** * Evict cached profiler rule information for principal. * * @param principalName cached profiler rule key * @param force force eviction of guest and default rules */ private void evictCachedPrincipalRules(String principalName, boolean force) { if (principalName != null) { // do not evict guest and default principal profiler rules by // default since they would be evicted all too frequently if (force || (!principalName.equals(getGuestPrincipalName()) && !principalName.equals(DEFAULT_RULE_PRINCIPAL_NAME))) { // evict cached profiler rules Collection<PrincipalRule> rules = allRulesPerPrincipal.remove(principalName); if (rules != null) { rulesPerPrincipal.remove(principalName); for (PrincipalRule rule : rules) { String key = this.makePrincipalRuleKey(rule.getPrincipalName(), rule.getLocatorName()); principalRules.remove(key); } } } } }
protected String getProfilingRuleForUser(User user) { Collection<PrincipalRule> userRules = profiler.getRulesForPrincipal(user); for (PrincipalRule userRule : userRules) { if (userRule.getLocatorName().equals(ProfileLocator.PAGE_LOCATOR)) { return userRule.getProfilingRule().getId(); } } return ""; }
public void deletePrincipalRule(PrincipalRule rule) throws ProfilerException { getPersistenceBrokerTemplate().delete(rule); // reset persistent rules per principal rulesPerPrincipal.remove(rule.getPrincipalName()); String key = this.makePrincipalRuleKey(rule.getPrincipalName(), rule.getLocatorName()); // remove individual rule principalRules.remove(key); // track cached principal rules trackCachedPrincipalRulesRemoved(rule.getPrincipalName(), rule); }
public String[] getLocatorNamesForPrincipal(Principal principal) { Criteria c = new Criteria(); c.addEqualTo("principalName", principal.getName()); Collection<PrincipalRule> result = getPersistenceBrokerTemplate() .getCollectionByQuery( QueryFactory.newQuery(getPrincipalRuleClass(), c)); if (result.size() == 0) { return new String[]{}; } String[] names = new String[result.size()]; int ix = 0; for (PrincipalRule pr : result) { names[ix] = pr.getLocatorName(); pr.getProfilingRule().setResolvers(resolvers); ix++; } return names; }
PrincipalRule deleteRule = null; for (PrincipalRule userRule : userRules) { if (userRule.getLocatorName().equals(ProfileLocator.PAGE_LOCATOR)) { deleteRule = userRule; break;
private void exportUserPrincipalRules(JSSnapshot snapshot, Map<String,Object> settings, Logger log) throws SerializerException { // get Rules for each user for (JSPrincipal _user : snapshot.getPrincipals()) { if (JetspeedPrincipalType.USER.equals(_user.getType())) { Principal principal = _user.getPrincipal(); if (principal != null) { for (PrincipalRule p1 : pm.getRulesForPrincipal(principal)) { JSPrincipalRule pr = new JSPrincipalRule(p1.getLocatorName(), p1.getProfilingRule().getId()); _user.getRules().add(pr); } } } } }