/*
* Copyright 2000-2001,2004 The Apache Software Foundation.
*
* Licensed 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.apache.jetspeed.services;
import java.util.Iterator;
import org.apache.jetspeed.capability.CapabilityMap;
import org.apache.jetspeed.om.profile.Portlets;
import org.apache.jetspeed.om.profile.Profile;
import org.apache.jetspeed.om.profile.ProfileException;
import org.apache.jetspeed.om.profile.ProfileLocator;
import org.apache.jetspeed.om.profile.QueryLocator;
import org.apache.jetspeed.services.profiler.ProfilerService;
import org.apache.jetspeed.util.MimeType;
import org.apache.turbine.services.TurbineServices;
import org.apache.turbine.util.DynamicURI;
import org.apache.turbine.util.RunData;
/**
* <P>
* This is a commodity static accessor class around the
* <code>ProfilerService</code> interface
* </P>
*
* @see org.apache.jetspeed.services.Profiler
* @see org.apache.jetspeed.services.profiler.ProfilerService
* @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
* @author <a href="mailto:morciuch@apache.org">Mark Orciuch</a>
*/
public class Profiler {
public final static String PARAM_ORG = "org";
public final static String PARAM_MEDIA_TYPE = "media-type";
public final static String PARAM_ROLE = "role";
public final static String PARAM_GROUP = "group";
public final static String PARAM_PAGE = "page";
public final static String PARAM_USER = "user";
public final static String PARAM_ANON = "anon";
public final static String PARAM_LANGUAGE = "language";
public final static String PARAM_COUNTRY = "country";
public final static String DEFAULT_PROFILE = "default";
public final static String FULL_DEFAULT_PROFILE = "default.psml";
public final static String DEFAULT_EXTENSION = ".psml";
/**
* Commodity method for getting a reference to the service singleton
*/
private static ProfilerService getService() {
return (ProfilerService) TurbineServices.getInstance().getService(
ProfilerService.SERVICE_NAME);
}
/**
* get the Profile object using the Rundata state and capability map this is
* the mapping functionality of the profiler
*
* @param rundata
* The rundata object for the current request.
* @param cm
* The device capability map for the current request.
* @return a Profile object if found by the manager or null
*/
public static Profile getProfile(RunData rundata, CapabilityMap cm)
throws ProfileException {
return getService().getProfile(rundata, cm);
}
/**
* @see ProfilerService#getProfile
*/
public static Profile getProfile(RunData rundata) throws ProfileException {
return getService().getProfile(rundata);
}
/**
* @see ProfilerService#getProfile
* @deprecated Do not use a profiler method based on MimeType
*/
public static Profile getProfile(RunData data, MimeType mt)
throws ProfileException {
return getService().getProfile(data, mt);
}
/**
* get the Profile object using a profile locator
*
* @param locator
* The locator containing criteria describing the profile.
* @return a new Profile object
*/
public static Profile getProfile(ProfileLocator locator)
throws ProfileException {
return getService().getProfile(locator);
}
/**
* @see ProfilerService#makeDynamicURI
*/
public static DynamicURI makeDynamicURI(RunData data, ProfileLocator locator)
throws ProfileException {
return getService().makeDynamicURI(data, locator);
}
/**
* @see ProfilerService#createProfile
*/
public static Profile createProfile() {
return getService().createProfile();
}
/**
* @see ProfilerService#createProfile
*/
public static Profile createProfile(ProfileLocator locator) {
return getService().createProfile(locator);
}
/**
* @see ProfilerService#createProfile
*/
public static ProfileLocator createLocator() {
return getService().createLocator();
}
/**
* @see ProfilerService#createProfile
*/
public static Profile createProfile(RunData data, Profile profile)
throws ProfileException {
return getService().createProfile(data, profile);
}
/**
* @see ProfilerService#createProfile
*/
public static Profile createProfile(RunData data, Profile profile, MimeType mt)
throws ProfileException {
return getService().createProfile(data, profile, mt);
}
/**
* @see ProfilerService#createProfile
*/
public static Profile createProfile(ProfileLocator locator, Portlets portlets)
throws ProfileException {
return getService().createProfile(locator, portlets);
}
/**
* @see ProfilerService#removeProfile
*/
public static void removeProfile(ProfileLocator locator)
throws ProfileException {
getService().removeProfile(locator);
}
/**
* @see ProfilerService#query
*/
public static Iterator query(QueryLocator locator) {
return getService().query(locator);
}
/**
* @see ProfilerService#useRoleProfileMerging
*/
public static boolean useRoleProfileMerging() {
return getService().useRoleProfileMerging();
}
}