/**
* Licensed to Apereo under one or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information regarding copyright ownership. Apereo
* 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 the
* following location:
*
* <p>http://www.apache.org/licenses/LICENSE-2.0
*
* <p>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.apereo.portal.url.xml;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.apereo.portal.portlet.om.IPortletWindowId;
import org.apereo.portal.url.IPortalUrlBuilder;
import org.apereo.portal.url.IPortletUrlBuilder;
import org.apereo.portal.url.ParameterMap;
import org.apereo.portal.url.UrlType;
/**
*/
class FailSafePortalUrlBuilder implements IPortalUrlBuilder {
private final Map<String, String[]> parameters = new ParameterMap();
private final Map<IPortletWindowId, IPortletUrlBuilder> portletUrlBuilders =
new LinkedHashMap<IPortletWindowId, IPortletUrlBuilder>();
/* (non-Javadoc)
* @see org.apereo.portal.url.IUrlBuilder#setParameter(java.lang.String, java.lang.String[])
*/
@Override
public void setParameter(String name, String... values) {
//NOOP
}
/* (non-Javadoc)
* @see org.apereo.portal.url.IUrlBuilder#setParameter(java.lang.String, java.util.List)
*/
@Override
public void setParameter(String name, List<String> values) {
//NOOP
}
/* (non-Javadoc)
* @see org.apereo.portal.url.IUrlBuilder#addParameter(java.lang.String, java.lang.String[])
*/
@Override
public void addParameter(String name, String... values) {
//NOOP
}
/* (non-Javadoc)
* @see org.apereo.portal.url.IUrlBuilder#setParameters(java.util.Map)
*/
@Override
public void setParameters(Map<String, List<String>> parameters) {
//NOOP
}
/* (non-Javadoc)
* @see org.apereo.portal.url.IUrlBuilder#getParameters()
*/
@Override
public Map<String, String[]> getParameters() {
return this.parameters;
}
/* (non-Javadoc)
* @see org.apereo.portal.url.IPortalUrlBuilder#getTargetFolderId()
*/
@Override
public String getTargetFolderId() {
//NOOP
return null;
}
/* (non-Javadoc)
* @see org.apereo.portal.url.IPortalUrlBuilder#getTargetPortletWindowId()
*/
@Override
public IPortletWindowId getTargetPortletWindowId() {
//NOOP
return null;
}
/* (non-Javadoc)
* @see org.apereo.portal.url.IPortalUrlBuilder#getUrlType()
*/
@Override
public UrlType getUrlType() {
//NOOP
return null;
}
/* (non-Javadoc)
* @see org.apereo.portal.url.IPortalUrlBuilder#getPortletUrlBuilder(org.apereo.portal.portlet.om.IPortletWindowId)
*/
@Override
public IPortletUrlBuilder getPortletUrlBuilder(IPortletWindowId portletWindowId) {
IPortletUrlBuilder portletUrlBuilder;
synchronized (this.portletUrlBuilders) {
portletUrlBuilder = this.portletUrlBuilders.get(portletWindowId);
if (portletUrlBuilder == null) {
portletUrlBuilder = new FailSafePortletUrlBuilder(portletWindowId, this);
this.portletUrlBuilders.put(portletWindowId, portletUrlBuilder);
}
}
return portletUrlBuilder;
}
/* (non-Javadoc)
* @see org.apereo.portal.url.IPortalUrlBuilder#getTargetedPortletUrlBuilder()
*/
@Override
public IPortletUrlBuilder getTargetedPortletUrlBuilder() {
//NOOP
return null;
}
/* (non-Javadoc)
* @see org.apereo.portal.url.IPortalUrlBuilder#getPortletUrlBuilders()
*/
@Override
public Map<IPortletWindowId, IPortletUrlBuilder> getPortletUrlBuilders() {
return Collections.unmodifiableMap(this.portletUrlBuilders);
}
/* (non-Javadoc)
* @see org.apereo.portal.url.IPortalUrlBuilder#getUrlString()
*/
@Override
public String getUrlString() {
return "#";
}
}