当前位置: 首页>>代码示例>>Java>>正文


Java ToolConfiguration类代码示例

本文整理汇总了Java中org.sakaiproject.site.api.ToolConfiguration的典型用法代码示例。如果您正苦于以下问题:Java ToolConfiguration类的具体用法?Java ToolConfiguration怎么用?Java ToolConfiguration使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ToolConfiguration类属于org.sakaiproject.site.api包,在下文中一共展示了ToolConfiguration类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: addSynopticTool

import org.sakaiproject.site.api.ToolConfiguration; //导入依赖的package包/类
private void addSynopticTool(SitePage page, String toolId,
		String toolTitle, String layoutHint, int position) {
	page.setLayout(SitePage.LAYOUT_DOUBLE_COL);
	
	// Add synoptic announcements tool
	ToolConfiguration tool = page.addTool();
	Tool reg = ToolManager.getTool(toolId);
	tool.setTool(toolId, reg);
	tool.setTitle(toolTitle);
	tool.setLayoutHints(layoutHint);
	
	// count how many synoptic tools in the second/right column
	int totalSynopticTools = 0;
	for (ToolConfiguration t : page.getTools())
	{
		if (t.getToolId() != null && SYNOPTIC_TOOL_ID_MAP.containsKey(t.getToolId()))
		{
			totalSynopticTools++;
		}
	}
	// now move the newly added synoptic tool to proper position
	for (int i=0; i< (totalSynopticTools-position-1);i++)
	{
		tool.moveUp();
	}
}
 
开发者ID:sakaiproject,项目名称:sakai,代码行数:27,代码来源:SiteAction.java

示例2: addToolToSiteIfMissing

import org.sakaiproject.site.api.ToolConfiguration; //导入依赖的package包/类
/**
 * Helper to add a tool to a site if the site does not contain an instance of the tool.
 * <p>
 * Note that it does NOT save the site. The caller must handle this.
 *
 * @param site   the site to check
 * @param toolId the tool to add (eg sakai.resources)
 * @return site the updated site object
 */
private Site addToolToSiteIfMissing(Site site, String toolId) {

    if (site.getToolForCommonId(toolId) != null) {
        return site;
    }

    log.debug("Adding tool to site: {}, tool: {}", site.getId(), toolId);

    SitePage page = site.addPage(); //inherit the tool's title.

    ToolConfiguration tool = page.addTool();
    tool.setTool(toolId, toolManager.getTool(toolId));
    tool.setTitle(toolManager.getTool(toolId).getTitle());

    return site;
}
 
开发者ID:sakaiproject,项目名称:sakai,代码行数:26,代码来源:SiteManageServiceImpl.java

示例3: addTools

import org.sakaiproject.site.api.ToolConfiguration; //导入依赖的package包/类
/**
 * Process tool adds
 * @return
 */
public String addTools () {    
    for (int i = 0; i < selectedTools.length; i++) {
        SitePage page;
        try {
            page = site.addPage();
            Tool tool = toolManager.getTool(selectedTools[i]);
            page.setTitle(tool.getTitle());
            ToolConfiguration placement = page.addTool(tool.getId());
            siteService.save(site);
            EventTrackingService.post(
                EventTrackingService.newEvent(PAGE_ADD, "/site/" + site.getId() +
                    "/page/" + page.getId() +
                    "/tool/" + selectedTools[i] +
                    "/placement/" + placement.getId(), false));
        }
        catch(Exception e) {
            throw UniversalRuntimeException.accumulate(e, "Error adding tool " + selectedTools[i]);
            }
    }
  
    return "success";
}
 
开发者ID:sakaiproject,项目名称:sakai,代码行数:27,代码来源:SitePageEditHandler.java

示例4: isVisible

import org.sakaiproject.site.api.ToolConfiguration; //导入依赖的package包/类
/**
 * Checks if users can see a page or not
 * 
 * @param page The SitePage whose visibility is in question
 * @return true if users can see the page
 */
public boolean isVisible(SitePage page) {
    List<ToolConfiguration> tools = page.getTools();
    Iterator<ToolConfiguration> iPt = tools.iterator();

    boolean visible = false;
    while( !visible && iPt.hasNext() ) 
    {
        ToolConfiguration placement = iPt.next();
        Properties roleConfig = placement.getConfig();
        String visibility = roleConfig.getProperty(PORTAL_VISIBLE);

        if ( ! "false".equals(visibility) ) visible = true;
    }
    
    return visible;
}
 
开发者ID:sakaiproject,项目名称:sakai,代码行数:23,代码来源:SitePageEditHandler.java

示例5: getCalendarReferences

import org.sakaiproject.site.api.ToolConfiguration; //导入依赖的package包/类
/**
 * JavaDoc can be found org.sakaiproject.calendar.api.CalendarService.
 * @param siteId
 * @return
 */
public List<String> getCalendarReferences(String siteId) {
	// get merged calendars channel refs
	String initMergeList = null;
	try {
		ToolConfiguration tc = m_siteService.getSite(siteId).getToolForCommonId("sakai.schedule");
		if (tc != null) {
			initMergeList = tc.getPlacementConfig().getProperty("mergedCalendarReferences");
		}
	} catch (IdUnusedException e){
		initMergeList = null;
	}
	
	// load all calendar channels (either primary or merged calendars)
	String primaryCalendarReference = calendarReference(siteId, SiteService.MAIN_CONTAINER);
	MergedList mergedCalendarList = loadChannels(siteId, primaryCalendarReference, initMergeList, null);
	
	// add external calendar subscriptions
	List referenceList = mergedCalendarList.getReferenceList();
	Set subscriptionRefList = externalCalendarSubscriptionService.getCalendarSubscriptionChannelsForChannels(primaryCalendarReference,referenceList);
	referenceList.addAll(subscriptionRefList);
	
	return referenceList;
}
 
开发者ID:sakaiproject,项目名称:sakai,代码行数:29,代码来源:BaseCalendarService.java

示例6: addPage

import org.sakaiproject.site.api.ToolConfiguration; //导入依赖的package包/类
/**
 * Adds a new single tool page to the current site
 * @param toolId
 * @param title
 * @return the newly added SitePage
 */
public SitePage addPage (String toolId, String title) {
    SitePage page;
    try {
        page = site.addPage();
        page.setTitle(title);
        ToolConfiguration placement = page.addTool(toolId);        
        siteService.save(site);
        EventTrackingService.post(
            EventTrackingService.newEvent(PAGE_ADD, "/site/" + site.getId() +
                "/page/" + page.getId() +
                "/tool/" + toolId +
                "/placement/" + placement.getId(), false));
    }
    catch (Exception e) {
        throw UniversalRuntimeException.accumulate(e, "Error adding page " + title);
    }
    init();
    
    return page;
}
 
开发者ID:sakaiproject,项目名称:sakai,代码行数:27,代码来源:SitePageEditHandler.java

示例7: resetTitle

import org.sakaiproject.site.api.ToolConfiguration; //导入依赖的package包/类
/**
 * Resets page title to the default and resets titleCustom flag
 * 
 * @param pageId The Id of the Page
 * @return reset page title
 * @throws IdUnusedException, PermissionException
 */
public String resetTitle(String pageId) throws IdUnusedException, PermissionException {
    SitePage page = site.getPage(pageId);
    String oldTitle = page.getTitle();
    page.setTitleCustom(false);
    String newTitle = page.getTitle();
    page.setTitle(newTitle);

    // TODO: Find a way to call each tool to ask what fields they need configured
    // and what methods to use to validate the input..
    if (page.getTools().size() == 1) {
        ToolConfiguration tool = page.getTools().get(0);
        tool.setTitle(newTitle);
    }

    saveSite(site);
    
    EventTrackingService.post(
        EventTrackingService.newEvent(PAGE_RENAME, "/site/" + site.getId() +
                                    "/page/" + page.getId() +
                                    "/old_title/" + oldTitle +
                                    "/new_title/" + page.getTitle(), false));
    
    
    return newTitle;
}
 
开发者ID:sakaiproject,项目名称:sakai,代码行数:33,代码来源:SitePageEditHandler.java

示例8: checkTool

import org.sakaiproject.site.api.ToolConfiguration; //导入依赖的package包/类
private void checkTool(Site site) {
	if(site != null)		
	{
		//check user can access the tool, it might be hidden
		Collection col = site.getTools(TOOL_COMMON_ID);			
		if(col == null || col.isEmpty())
			throw new EntityNotFoundException("No tool "+TOOL_COMMON_ID+" in site: " + site.getId(), site.getId());
			
		for(Object o : col)
		{
			ToolConfiguration toolConfig = (ToolConfiguration)o;
			if(!toolManager.isVisible(site, toolConfig))
				throw new EntityNotFoundException("No access to tool in site: " + site.getId(), site.getId());
		}
	}
	else
		throw new EntityNotFoundException("Invalid site", "-null-");
}
 
开发者ID:sakaiproject,项目名称:sakai,代码行数:19,代码来源:LessonsEntityProvider.java

示例9: channelReference

import org.sakaiproject.site.api.ToolConfiguration; //导入依赖的package包/类
/**
 * @inheritDoc
 */
@Override
public String channelReference(String context, String id)
{
    /* SAK-19516: for MOTD and Admin Workspace Announcements, the channel reference 
     * is not calculated based on the context and id, but pulled from SAKAI_TOOL_PROPERTY 'channel'.
     */
	String channelRef = null;
	try {
		ToolConfiguration tool = m_siteService.getSite(context).getToolForCommonId(SAKAI_ANNOUNCEMENT_TOOL_ID);
		if (tool != null) {
			channelRef = tool.getConfig().getProperty(ANNOUNCEMENT_CHANNEL_PROPERTY, null);
		}
	} catch (IdUnusedException e) {
	    // ignore the error, continue with the default method
	    log.debug("Could not find channelRef in channel property, falling back to default method...");
	}
	
	if (channelRef == null || channelRef.trim().length() == 0) {
		channelRef = super.channelReference(context, id);
	}
	return channelRef;

}
 
开发者ID:sakaiproject,项目名称:sakai,代码行数:27,代码来源:BaseAnnouncementService.java

示例10: sakaiInfo

import org.sakaiproject.site.api.ToolConfiguration; //导入依赖的package包/类
public static boolean sakaiInfo(Properties props, String context, String placementId, ResourceLoader rb)
{

	Site site = null;
	try {
		site = SiteService.getSite(context);
	} catch (Exception e) {
		log.error("No site/page associated with Launch context={}", context);
		return false;
	}

	// Add the generic information
	addGlobalData(site, props, null, rb);
	ToolConfiguration placement = SiteService.findTool(placementId);
	Properties config = placement.getConfig();
	String roleMapProp = toNull(getCorrectProperty(config, "rolemap", placement));
	addRoleInfo(props, null, context, roleMapProp);
	addSiteInfo(props, null, site);

	// Add Placement Information
	addPlacementInfo(props, placementId);
	return true;
}
 
开发者ID:sakaiproject,项目名称:sakai,代码行数:24,代码来源:SakaiBLTIUtil.java

示例11: postLaunchHTML

import org.sakaiproject.site.api.ToolConfiguration; //导入依赖的package包/类
public static String[] postLaunchHTML(String placementId, ResourceLoader rb)
{
	if ( placementId == null ) return postError("<p>" + getRB(rb, "error.missing" ,"Error, missing placementId")+"</p>" );
	ToolConfiguration placement = SiteService.findTool(placementId);
	if ( placement == null ) return postError("<p>" + getRB(rb, "error.load" ,"Error, cannot load placement=")+placementId+".</p>");

	// Add user, course, etc to the launch parameters
	Properties ltiProps = new Properties();
	if ( ! sakaiInfo(ltiProps, placement, rb) ) {
		return postError("<p>" + getRB(rb, "error.missing",
					"Error, cannot load Sakai information for placement=")+placementId+".</p>");
	}

	// Retrieve the launch detail
	Properties toolProps = new Properties();
	if ( ! loadFromPlacement(toolProps, ltiProps, placement) ) {
		return postError("<p>" + getRB(rb, "error.nolaunch" ,"Not Configured.")+"</p>");
	}
	return postLaunchHTML(toolProps, ltiProps, rb);
}
 
开发者ID:sakaiproject,项目名称:sakai,代码行数:21,代码来源:SakaiBLTIUtil.java

示例12: completeAddResourceEventValidations

import org.sakaiproject.site.api.ToolConfiguration; //导入依赖的package包/类
@Override
protected void completeAddResourceEventValidations(Event event, Map<String, Object> validationContext)
        throws IllegalArgumentException, IllegalStateException {
    final String resourceName = (String)validationContext.get(ADD_RESOURCE_VALIDATION_KEY_RESOURCE_NAME);
    final EntityContentProducer ecp = (EntityContentProducer)validationContext.get(ADD_RESOURCE_VALIDATION_KEY_CONTENT_PRODUCER);

    String siteId = ecp.getSiteId(resourceName);

    if (onlyIndexSearchToolSites) {
        try {
            Site s = siteService.getSite(siteId);
            ToolConfiguration t = s.getToolForCommonId(SEARCH_TOOL_ID);
            if (t == null) {
                throw new IllegalArgumentException("Resource name [" + resourceName + "] for event [" + event
                        + "] not indexable because it is not associated with a site that has the search tool");
            }
        } catch (Exception ex) {
            throw new IllegalArgumentException("Event [" + event
                    + "] not indexable because it is not associated with a site");
        }
    }
    validationContext.put(ADD_RESOURCE_VALIDATION_KEY_SITE_ID, siteId);
}
 
开发者ID:sakaiproject,项目名称:sakai,代码行数:24,代码来源:SiteElasticSearchIndexBuilder.java

示例13: getSiteIfCurrentUserCanAccessTool

import org.sakaiproject.site.api.ToolConfiguration; //导入依赖的package包/类
public Site getSiteIfCurrentUserCanAccessTool(String siteId) {

        Site site;
        try {
            site = siteService.getSiteVisit(siteId);
        } catch (Exception e) {
            return null;
        }

        //check user can access the tool, it might be hidden
        ToolConfiguration toolConfig = site.getToolForCommonId("sakai.commons");
        if(!toolManager.isVisible(site, toolConfig)) {
            return null;
        }

        return site;
    }
 
开发者ID:sakaiproject,项目名称:sakai,代码行数:18,代码来源:CommonsSecurityManagerImpl.java

示例14: setToolProperties

import org.sakaiproject.site.api.ToolConfiguration; //导入依赖的package包/类
private void setToolProperties(ToolConfiguration tool, String propList) {
    if(propList != null) {
        for(String prop : propList.split(",")) {
            if(StringUtils.isNotEmpty(prop)) {
                int index = prop.indexOf(":");
                if(index >= 0) {
                    try {
                        String propName = prop.substring(0, index);
                        String propValue = prop.substring(index+1);
                        
                        if(StringUtils.isNotEmpty(propValue)) {
                            Properties propsedit = tool.getPlacementConfig();
                            propsedit.setProperty(propName, propValue);
                        }
                    } catch(Exception e){
                        log.error("SakaiScript: setToolProperties(): " + e.getClass().getName() + " : " + e.getMessage());
                    }
                }
            }
        }
    }
}
 
开发者ID:sakaiproject,项目名称:sakai,代码行数:23,代码来源:SakaiScript.java

示例15: getTimezoneToolUrlForUser

import org.sakaiproject.site.api.ToolConfiguration; //导入依赖的package包/类
public String getTimezoneToolUrlForUser() {
    User thisUser = UserDirectoryService.getCurrentUser();
    String userid = thisUser.getId();

    // If there is no user (e.g. on the gateway site!) there's no timezone
    if(StringUtils.isEmpty(userid)) {
        return null;
    }

    try {
        Site userSite = SiteService.getSite("~" + userid);
        ToolConfiguration preferences = userSite.getToolForCommonId("sakai.preferences");
        return String.format("/portal/site/~%s/tool/%s/timezone", userid, preferences.getId());
    } catch (Exception e) {
        log.warn("Couldn't find a timezone tool for user {}", userid, e);
        return null;
    }
}
 
开发者ID:sakaiproject,项目名称:sakai,代码行数:19,代码来源:PASystemEntityProvider.java


注:本文中的org.sakaiproject.site.api.ToolConfiguration类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。