/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.core.xslt.lib;
import java.util.Date;
import com.google.common.base.Joiner;
import com.enonic.cms.core.search.query.IndexValueConverter;
public class MockPortalFunctionsMediator
implements PortalFunctionsMediator
{
@Override
public String getInstanceKey()
{
return "instance-key";
}
@Override
public boolean isWindowEmpty( final String windowKey, final String[] params )
{
return true;
}
@Override
public boolean isWindowInline()
{
return true;
}
@Override
public String getPageKey()
{
return "page-key";
}
@Override
public String getWindowKey()
{
return "window-key";
}
private String toRepresentation( final String[] array )
{
return "(" + Joiner.on( ',' ).join( array ) + ")";
}
@Override
public String createWindowPlaceholder( final String windowKey, final String[] params )
{
final StringBuilder str = new StringBuilder();
str.append( "createWindowPlaceholder," );
str.append( windowKey ).append( "," ).append( toRepresentation( params ) );
return str.toString();
}
@Override
public String createUrl( final String local, final String[] params )
{
final StringBuilder str = new StringBuilder();
str.append( "createUrl," );
str.append( local ).append( "," ).append( toRepresentation( params ) );
return str.toString();
}
@Override
public String createWindowUrl( final String windowKey, final String[] params, final String outputFormat )
{
final StringBuilder str = new StringBuilder();
str.append( "createWindowUrl," );
str.append( windowKey ).append( "," ).append( toRepresentation( params ) );
str.append( "," ).append( outputFormat );
return str.toString();
}
@Override
public String createPageUrl( final String menuItemKey, final String[] params )
{
final StringBuilder str = new StringBuilder();
str.append( "createPageUrl," );
str.append( menuItemKey ).append( "," ).append( toRepresentation( params ) );
return str.toString();
}
@Override
public String createContentUrl( final String contentKey, final String[] params )
{
final StringBuilder str = new StringBuilder();
str.append( "createContentUrl," );
str.append( contentKey ).append( "," ).append( toRepresentation( params ) );
return str.toString();
}
@Override
public String createPermalink( final String contentKey, final String[] params )
{
final StringBuilder str = new StringBuilder();
str.append( "createPermalink," );
str.append( contentKey ).append( "," ).append( toRepresentation( params ) );
return str.toString();
}
@Override
public String createServicesUrl( final String handler, final String operation, final String[] params, final String redirect )
{
final StringBuilder str = new StringBuilder();
str.append( "createServicesUrl," );
str.append( handler ).append( "," ).append( operation );
str.append( "," ).append( toRepresentation( params ) ).append( "," ).append( redirect );
return str.toString();
}
@Override
public String createBinaryUrl( final String binaryKey, final String[] params )
{
final StringBuilder str = new StringBuilder();
str.append( "createBinaryUrl," );
str.append( binaryKey ).append( "," ).append( toRepresentation( params ) );
return str.toString();
}
@Override
public String createAttachmentUrl( final String nativeLinkKey, final String[] params )
{
final StringBuilder str = new StringBuilder();
str.append( "createAttachmentUrl," );
str.append( nativeLinkKey ).append( "," ).append( toRepresentation( params ) );
return str.toString();
}
@Override
public String createResourceUrl( final String resourcePath, final String[] params )
{
final StringBuilder str = new StringBuilder();
str.append( "createResourceUrl," );
str.append( resourcePath ).append( "," ).append( toRepresentation( params ) );
return str.toString();
}
@Override
public String createCaptchaImageUrl()
{
return "captcha-image-url";
}
@Override
public String createCaptchaFormInputName()
{
return "captcha-form-input-name";
}
@Override
public boolean isCaptchaEnabled( final String handler, final String operation )
{
return true;
}
@Override
public String localize( final String phrase, final String[] params, final String locale )
{
final StringBuilder str = new StringBuilder();
str.append( "localize," );
str.append( phrase ).append( "," ).append( toRepresentation( params ) );
str.append( "," ).append( locale );
return str.toString();
}
@Override
public String getLocale()
{
return "locale";
}
@Override
public String createImageUrl( final String key, final String filter, final String background, final String format,
final String quality )
{
final StringBuilder str = new StringBuilder();
str.append( "createImageUrl," );
str.append( key ).append( "," ).append( filter ).append( "," ).append( background );
str.append( "," ).append( format ).append( "," ).append( quality );
return str.toString();
}
@Override
public boolean imageExists( final String key )
{
return true;
}
@Override
public String md5( final String value )
{
return "md5," + value;
}
@Override
public String sha( final String value )
{
return "sha," + value;
}
@Override
public Date dateTime( final String date )
{
return IndexValueConverter.toDate( date ).toDateTime().toDate();
}
}