/**********************************************************************************
* $URL: https://source.sakaiproject.org/svn/osp/trunk/matrix/api-impl/src/java/org/theospi/portfolio/matrix/model/impl/WizardPageDefinitionEntityImpl.java $
* $Id: WizardPageDefinitionEntityImpl.java 74703 2010-03-16 15:54:31Z chmaurer@iupui.edu $
***********************************************************************************
*
* Copyright (c) 2008 The Sakai Foundation.
*
* Licensed under the Educational Community License, Version 1.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.opensource.org/licenses/ecl1.php
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
**********************************************************************************/
package org.theospi.portfolio.matrix.model.impl;
import java.util.Stack;
import org.sakaiproject.component.cover.ServerConfigurationService;
import org.sakaiproject.entity.api.ResourceProperties;
import org.sakaiproject.exception.IdUnusedException;
import org.sakaiproject.site.api.Site;
import org.sakaiproject.site.api.ToolConfiguration;
import org.sakaiproject.site.cover.SiteService;
import org.sakaiproject.spring.util.SpringTool;
import org.sakaiproject.taggable.api.TagList;
import org.sakaiproject.util.BaseResourcePropertiesEdit;
import org.theospi.portfolio.matrix.WizardPageDefinitionEntity;
import org.theospi.portfolio.matrix.model.WizardPageDefinition;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
public class WizardPageDefinitionEntityImpl implements WizardPageDefinitionEntity
{
private WizardPageDefinition wpd;
private String parentTitle;
public WizardPageDefinitionEntityImpl() {
}
public WizardPageDefinitionEntityImpl(WizardPageDefinition wpd, String parentTitle)
{
this.wpd = wpd;
this.parentTitle = parentTitle;
}
public ResourceProperties getProperties()
{
ResourceProperties rp = new BaseResourcePropertiesEdit();
rp.addProperty(TagList.PARENT, parentTitle);
rp.addProperty(TagList.CRITERIA, wpd.getTitle());
String server = ServerConfigurationService.getServerUrl();
String foo = "<script type=\"text/javascript\" language=\"JavaScript\" src=\"" + server + "/library/js/jquery-ui-latest/js/jquery.min.js\"></script>" +
"<script type=\"text/javascript\" language=\"JavaScript\"" +
"src=\"" + server + "/osp-common-tool/js/thickbox.js\"></script>" +
"<link href=\"" + server + "/osp-common-tool/css/thickbox.css\" type=\"text/css\"" +
"rel=\"stylesheet\" media=\"all\" />";
rp.addProperty(TagList.THICKBOX_INCLUDE, foo);
return rp;
}
public String getReference(String rootProperty)
{
return wpd.getReference();
}
public String getUrl()
{
return getUrl(null);
}
public String getUrl(String rootProperty)
{
String url = null;
String page_def_id = wpd.getId().getValue();
try {
Site site = SiteService.getSite(wpd.getSiteId());
//try matrix first
ToolConfiguration toolConfig;
if(wpd.getType().equals(WizardPageDefinition.WPD_MATRIX_TYPE)){
toolConfig = site.getToolForCommonId("osp.matrix");
}else{
toolConfig = site.getToolForCommonId("osp.wizard");
}
if(toolConfig != null){
String placement = toolConfig.getId();
url = ServerConfigurationService.getToolUrl() + "/" + placement +
"/osp.matrix.cell.info.helper/viewCellInformation.osp?sCell_id=" + page_def_id + "&override." + SpringTool.LAST_VIEW_VISITED + "=/viewCell.osp";
}
} catch (IdUnusedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return url;
}
public Element toXml(Document doc, Stack stack)
{
// TODO Auto-generated method stub
return null;
}
public String getId()
{
return wpd.getId().getValue();
}
public String getReference()
{
return wpd.getReference();
}
public WizardPageDefinition getWpd()
{
return wpd;
}
public void setWpd(WizardPageDefinition wpd)
{
this.wpd = wpd;
}
public String getParentTitle()
{
return parentTitle;
}
public void setParentTitle(String parentTitle)
{
this.parentTitle = parentTitle;
}
}