/* * Copyright (c) 2010-2013 Evolveum * * 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 com.evolveum.midpoint.web.page.admin.configuration.dto; import com.evolveum.midpoint.xml.ns._public.common.common_3.LoggingLevelType; /** * @author lazyman */ public enum ProfilingLevel { OFF("pageLogging.subsystem.level.off"), ENTRY_EXIT("pageLogging.subsystem.level.entryExit"), ARGUMENTS("pageLogging.subsystem.level.arguments"); private String localizationKey; private ProfilingLevel(String localizationKey) { this.localizationKey = localizationKey; } public String getLocalizationKey() { return localizationKey; } public static LoggingLevelType toLoggerLevelType(ProfilingLevel level) { if (level == null) { return null; } switch (level) { case ENTRY_EXIT: return LoggingLevelType.DEBUG; case ARGUMENTS: return LoggingLevelType.TRACE; case OFF: return LoggingLevelType.OFF; default: return null; } } public static ProfilingLevel fromLoggerLevelType(LoggingLevelType level) { if (level == null) { return ProfilingLevel.OFF; } switch (level) { case OFF: return ProfilingLevel.OFF; case DEBUG: return ProfilingLevel.ENTRY_EXIT; case TRACE: case ALL: return ProfilingLevel.ARGUMENTS; default: return ProfilingLevel.OFF; } } }