/**
* Licensed to Jasig under one or more contributor license
* agreements. See the NOTICE file distributed with this work
* for additional information regarding copyright ownership.
* Jasig licenses this file to you under the Apache License,
* Version 2.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.apache.org/licenses/LICENSE-2.0
*
* 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.jasig.portal.layout.dlm;
import java.io.StringWriter;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.regex.Pattern;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
import net.sf.ehcache.Ehcache;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.dom4j.Namespace;
import org.dom4j.io.DOMReader;
import org.dom4j.io.DOMWriter;
import org.dom4j.io.DocumentSource;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import org.jasig.portal.AuthorizationException;
import org.jasig.portal.EntityIdentifier;
import org.jasig.portal.IUserIdentityStore;
import org.jasig.portal.IUserProfile;
import org.jasig.portal.PortalException;
import org.jasig.portal.RDBMServices;
import org.jasig.portal.i18n.LocaleManager;
import org.jasig.portal.io.xml.IPortalDataHandlerService;
import org.jasig.portal.layout.LayoutStructure;
import org.jasig.portal.layout.StructureParameter;
import org.jasig.portal.layout.StylesheetUserPreferencesImpl;
import org.jasig.portal.layout.dao.IStylesheetUserPreferencesDao;
import org.jasig.portal.layout.om.IStylesheetDescriptor;
import org.jasig.portal.layout.om.IStylesheetUserPreferences;
import org.jasig.portal.layout.simple.RDBMUserLayoutStore;
import org.jasig.portal.portlet.dao.IPortletEntityDao;
import org.jasig.portal.portlet.dao.jpa.PortletPreferenceImpl;
import org.jasig.portal.portlet.om.IPortletDefinition;
import org.jasig.portal.portlet.om.IPortletDefinitionId;
import org.jasig.portal.portlet.om.IPortletDefinitionParameter;
import org.jasig.portal.portlet.om.IPortletDescriptorKey;
import org.jasig.portal.portlet.om.IPortletEntity;
import org.jasig.portal.portlet.om.IPortletPreference;
import org.jasig.portal.portlet.om.IPortletType;
import org.jasig.portal.portlet.om.PortletLifecycleState;
import org.jasig.portal.portlet.registry.IPortletEntityRegistry;
import org.jasig.portal.properties.PropertiesManager;
import org.jasig.portal.security.IPerson;
import org.jasig.portal.security.provider.BrokenSecurityContext;
import org.jasig.portal.security.provider.PersonImpl;
import org.jasig.portal.utils.DocumentFactory;
import org.jasig.portal.utils.MapPopulator;
import org.jasig.portal.utils.Tuple;
import org.jasig.portal.xml.XmlUtilities;
import org.jasig.portal.xml.XmlUtilitiesImpl;
import org.jasig.portal.xml.xpath.XPathOperations;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.dao.DataRetrievalFailureException;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.transaction.annotation.Transactional;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import com.google.common.cache.Cache;
/**
* This class extends RDBMUserLayoutStore and implements instantiating and
* storing layouts that conform to the design of the distribute layout
* management system. These layouts consist of two types: layout fragments
* that are the layouts owned by a user specified in dlm.xml, and composite
* view layouts which represent regular users with zero or more UI elements
* incorporated from layout fragments. Only a user's personal layout fragment
* is
*
* @version $Revision$ $Date$
* @since uPortal 2.5
*/
public class RDBMDistributedLayoutStore extends RDBMUserLayoutStore {
public static final String RCS_ID = "@(#) $Header$";
private static final Log LOG = LogFactory.getLog(RDBMDistributedLayoutStore.class);
private static final Pattern VALID_PATHREF_PATTERN = Pattern.compile(".+\\:/.+");
private static final String BAD_PATHREF_MESSAGE = "## DLM: ORPHANED DATA ##";
private String systemDefaultUser = null;
private boolean systemDefaultUserLoaded = false;
private ConfigurationLoader configurationLoader;
private FragmentActivator fragmentActivator;
private Ehcache fragmentNodeInfoCache;
private boolean errorOnMissingPortlet = true;
private boolean errorOnMissingUser = true;
static final String TEMPLATE_USER_NAME = "org.jasig.portal.services.Authentication.defaultTemplateUserName";
// Used in Import/Export operations
private final org.dom4j.DocumentFactory fac = new org.dom4j.DocumentFactory();
private final ThreadLocal<DOMReader> reader = new ThreadLocal<DOMReader>() {
@Override
protected DOMReader initialValue() {
return new DOMReader();
}
};
private final ThreadLocal<DOMWriter> writer = new ThreadLocal<DOMWriter>() {
@Override
protected DOMWriter initialValue() {
return new DOMWriter();
}
};
private IUserIdentityStore userIdentityStore;
private IStylesheetUserPreferencesDao stylesheetUserPreferencesDao;
private XPathOperations xPathOperations;
private XmlUtilities xmlUtilities;
private IPortletEntityRegistry portletEntityRegistry;
private IPortletEntityDao portletEntityDao;
private IPortalDataHandlerService portalDataHandlerService;
@Autowired
private NodeReferenceFactory nodeReferenceFactory;
@Autowired
public void setPortletEntityRegistry(IPortletEntityRegistry portletEntityRegistry) {
this.portletEntityRegistry = portletEntityRegistry;
}
@Autowired
public void setPortalDataHandlerService(IPortalDataHandlerService portalDataHandlerService) {
this.portalDataHandlerService = portalDataHandlerService;
}
@Autowired
public void setPortletEntityDao(@Qualifier("transient")
IPortletEntityDao portletEntityDao) {
this.portletEntityDao = portletEntityDao;
}
@Autowired
public void setXmlUtilities(XmlUtilities xmlUtilities) {
this.xmlUtilities = xmlUtilities;
}
@Autowired
public void setXPathOperations(XPathOperations xPathOperations) {
this.xPathOperations = xPathOperations;
}
@Autowired
public void setIdentityStore(IUserIdentityStore identityStore) {
this.userIdentityStore = identityStore;
}
@Autowired
public void setStylesheetUserPreferencesDao(IStylesheetUserPreferencesDao stylesheetUserPreferencesDao) {
this.stylesheetUserPreferencesDao = stylesheetUserPreferencesDao;
}
@Autowired
public void setFragmentNodeInfoCache(
@Qualifier("org.jasig.portal.layout.dlm.RDBMDistributedLayoutStore.fragmentNodeInfoCache")
Ehcache fragmentNodeInfoCache) {
this.fragmentNodeInfoCache = fragmentNodeInfoCache;
没有合适的资源?快使用搜索试试~ 我知道了~
单点登录源码实例demo
共2000个文件
java:1446个
xml:492个
gif:344个
需积分: 20 45 下载量 57 浏览量
2018-04-27
15:36:15
上传
评论 1
收藏 12.93MB ZIP 举报
温馨提示
单点登录源码实例demo(单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。)
资源推荐
资源详情
资源评论
收起资源包目录
单点登录源码实例demo (2000个子文件)
portal.css 67KB
portal.css 67KB
portal.css 66KB
portal.css 66KB
jqm.theme.css 58KB
portal.css 36KB
layout-portal.css 35KB
portlet.css 31KB
jquery-ui-1.7.2.custom.css 28KB
layout-portlet.css 19KB
fluid.layout.css 12KB
portal.css 11KB
cas.css 7KB
fluid.components.uploader.css 7KB
fluid.text.css 6KB
legacy.css 6KB
jsr168.css 5KB
fluid.theme.hc.css 4KB
ie6.css 4KB
fluid.theme.mist.css 4KB
fluid.theme.rust.css 3KB
legacy.css 3KB
legacy.css 3KB
legacy.css 3KB
token-input.css 3KB
fluid.ui.dialog.css 3KB
ImageReorderer.css 2KB
fluid.reset.css 2KB
FSSDemo.css 2KB
fluid.theme.debug.css 2KB
fluid.states.css 2KB
fluid.components.ui-options.css 2KB
portlet.css 1KB
portlet.css 1KB
portlet.css 1KB
portlet.css 1KB
fluid.fss.css 1KB
fluid.components.ui-options.preview.css 1KB
fluid.components.pager.css 956B
portal.css 929B
jquery.tooltip.css 908B
jquerymobile.accordion.listview.css 874B
print.css 817B
uportal.html 109KB
uportal_filtered.html 109KB
500.html 14KB
defaultImages.html 5KB
servlet_help.html 3KB
num_help.html 3KB
releaseNotes.html 3KB
sass_test.html 2KB
package.html 1KB
servlet_edit.html 1KB
num_edit.html 1KB
servlet_info.html 1KB
num_info.html 1KB
package.html 956B
package.html 937B
package.html 879B
package.html 877B
RDBMDistributedLayoutStore.java 92KB
RDBMUserLayoutStore.java 68KB
DistributedLayoutManager.java 63KB
UrlSyntaxProviderImpl.java 59KB
RDBMEntityGroupStore.java 54KB
GroupsTester.java 50KB
StylesheetUserPreferencesServiceImpl.java 50KB
UrlSyntaxProviderImplTest.java 49KB
PortletExecutionManager.java 45KB
PortletEntityRegistryImpl.java 45KB
JaxbPortalDataHandlerService.java 44KB
PortletRendererImpl.java 41KB
PortletEntityRegistryImplTest.java 41KB
PortletRendererImplTest.java 40KB
PortletWindowRegistryImpl.java 40KB
PortalRawEventsAggregatorImpl.java 37KB
AuthorizationImpl.java 37KB
PortletAdministrationHelper.java 36KB
RDBMUserIdentityStore.java 35KB
JpaBaseAggregationDaoTest.java 33KB
UpdatePreferencesServlet.java 31KB
SmartLdapGroupStore.java 31KB
FileSystemGroupStore.java 30KB
PortletCacheControlServiceImpl.java 29KB
PositionManager.java 28KB
PortalEventFactoryImpl.java 27KB
AuthorizationTester.java 27KB
RDBMPermissionImpl.java 27KB
FileSystemGroupsTest.java 26KB
GrouperEntityGroupStore.java 26KB
ReferenceIndividualGroupService.java 26KB
QualityOfServiceBlockingQueue.java 25KB
PropertiesManager.java 24KB
LDAPGroupStore.java 24KB
PortletEventCoordinatationService.java 23KB
PermissionsRESTController.java 23KB
RDBMEntityLockStore.java 22KB
PortletDefinitionImporterExporter.java 21KB
EntityGroupImpl.java 21KB
FragmentActivator.java 20KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
wangliang0817
- 粉丝: 9
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 1040g0cg310ravpiu6ibg5pg00tsipsln3ju2d0g 2
- 基于Python的SAR图像去噪CNN-NLM设计源码
- redhat6升级到redhat7,过程redhat6.x-> redhat6.10->rehat7.9 主版本最高版本
- 基于Django的流程引擎设计源码
- 基于Node.js的Express框架与MySQL的后台管理系统设计源码
- 基于Java的Flink流批一体数据处理快速集成开发框架设计源码
- FirstFilterOrderCompare
- Screenshot_2024-03-28-19-17-25-020_com.ss.android.lark.jpg
- 基于Java的车辆违章信息查询系统设计源码
- wqeAFSDADWDAESD
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功