/* * 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.web.component.util.Editable; import com.evolveum.midpoint.web.component.util.Selectable; import com.evolveum.midpoint.xml.ns._public.common.common_3.LoggingComponentType; import com.evolveum.midpoint.xml.ns._public.common.common_3.LoggingLevelType; import com.evolveum.midpoint.xml.ns._public.common.common_3.SubSystemLoggerConfigurationType; import org.apache.commons.lang.Validate; import java.util.ArrayList; import java.util.List; /** * @author lazyman */ public class FilterConfiguration extends Selectable implements Editable { private boolean editing; private LoggingLevelType level; private List<String> appenders = new ArrayList<String>(); private LoggingComponentType component; public FilterConfiguration(SubSystemLoggerConfigurationType config) { Validate.notNull(config, "Subsystem logger configuration must not be null."); component = config.getComponent(); setLevel(config.getLevel()); setAppenders(config.getAppender()); } public List<String> getAppenders() { return appenders; } public void setAppenders(List<String> appenders) { this.appenders = appenders; } public LoggingLevelType getLevel() { return level; } public void setLevel(LoggingLevelType level) { this.level = level; } public boolean isEditing() { return editing; } public void setEditing(boolean editing) { this.editing = editing; } public String getName() { if (component == null) { return null; } return component.value(); } public LoggingComponentType getComponent() { return component; } public void setName(String name) { this.component = LoggingComponentType.valueOf(name); } public SubSystemLoggerConfigurationType toXmlType() { SubSystemLoggerConfigurationType type = new SubSystemLoggerConfigurationType(); type.setComponent(component); type.setLevel(getLevel()); type.getAppender().addAll(getAppenders()); return type; } }