The version of Apache log4j used by SoundHelix.
Clone
HTTPS:
git clone https://vervis.peers.community/repos/aEp6o
SSH:
git clone USERNAME@vervis.peers.community:aEp6o
Branches
Tags
- 1.3alpha-7
- CHAINSAW_2_SANDBOX_MERGE
- CORE_VERSION
- LEVEL_REPLACES_PRIORITY
- PREALPHA_1_3_AS_OF_2004_05_12
- PRE_CHAINSAW_MODEL_CONVERSION
- PRE_UGLI_MOVE
- TAG_CHAINSAW2_MOVE
- log4j-1.2.17
- log4j-1.2.17-rc1
- v1.3alpha8
- v1.3alpha8-temp
- v1_2_1
- v1_2_10-recalled
- v1_2_11
- v1_2_11_rc1
- v1_2_11rc3
- v1_2_12
- v1_2_12_rc1
- v1_2_12_rc2
- v1_2_12_rc3
- v1_2_12_rc4
- v1_2_12_rc5
- v1_2_12_rc6
- v1_2_13
- v1_2_13_rc1
- v1_2_13_rc2
- v1_2_13_site_update
- v1_2_14
- v1_2_14_maven
- v1_2_14_rc1
- v1_2_14_site_update
- v1_2_15
- v1_2_15_rc1
- v1_2_15_rc2
- v1_2_15_rc3
- v1_2_15_rc4
- v1_2_15_rc5
- v1_2_15_rc6
- v1_2_16
- v1_2_16_rc1
- v1_2_16_rc2
- v1_2_17
- v1_2_17-rc1
- v1_2_17_rc1
- v1_2_17_rc2
- v1_2_17_rc3
- v1_2_2
- v1_2_3
- v1_2_4
- v1_2_6
- v1_2_7
- v1_2_9
- v1_2_alpha0
- v1_2_alpha7
- v1_2beta1
- v1_2final
- v1_3alpha_1
- v1_3alpha_6
- v_1_0
- v_1_0_1
- v_1_0_4
- v_1_1
- v_1_1_1
- v_1_1_2
- v_1_1_3
- v_1_1_b1
- v_1_1b2
- v_1_1b3
- v_1_1b5
- v_1_1b6
- v_1_1b7
- v_1_2beta3
ExecutionContext.java
/*
* Copyright 1999,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.log4j.joran.spi;
//import org.apache.log4j.helpers.OptionConverter;
import org.apache.log4j.helpers.OptionConverter;
import org.apache.log4j.spi.ErrorItem;
import org.xml.sax.Locator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Stack;
import java.util.Vector;
/**
*
* The ExecutionContext contains the contextual state of a Joran parsing
* session. {@link org.apache.log4j.joran.action.Action Actions} depend on this
* context to exchange and store information.
*
* @author Ceki Gülcü
*/
public class ExecutionContext {
Stack objectStack;
Map objectMap;
Vector errorList;
Properties substitutionProperties;
Interpreter joranInterpreter;
public ExecutionContext(Interpreter joranInterpreter) {
this.joranInterpreter = joranInterpreter;
objectStack = new Stack();
objectMap = new HashMap(5);
errorList = new Vector();
substitutionProperties = new Properties();
}
// /**
// * Clear the internal structures for reuse of the execution context
// *
// */
// public void clear() {
// objectStack.clear();
// objectMap.clear();
// errorList.clear();
// substitutionProperties.clear();
// }
public void addError(ErrorItem errorItem) {
Locator locator = joranInterpreter.getLocator();
if (locator != null) {
errorItem.setLineNumber(locator.getLineNumber());
errorItem.setColNumber(locator.getColumnNumber());
}
errorList.add(errorItem);
}
public List getErrorList() {
return errorList;
}
public Locator getLocator() {
return joranInterpreter.getLocator();
}
public Interpreter getJoranInterpreter() {
return joranInterpreter;
}
public Stack getObjectStack() {
return objectStack;
}
public Object peekObject() {
return objectStack.peek();
}
public void pushObject(Object o) {
objectStack.push(o);
}
public Object popObject() {
return objectStack.pop();
}
public Object getObject(int i) {
return objectStack.get(i);
}
public Map getObjectMap() {
return objectMap;
}
/**
* Add a property to the properties of this execution context.
* If the property exists already, it is overwritten.
*/
public void addProperty(String key, String value) {
if(key == null || value == null) {
return;
}
// if (substitutionProperties.contains(key)) {
// LogLog.warn(
// "key [" + key
// + "] already contained in the EC properties. Overwriting.");
// }
// values with leading or trailing spaces are bad. We remove them now.
value = value.trim();
substitutionProperties.put(key, value);
}
public void addProperties(Properties props) {
if(props == null) {
return;
}
Iterator i = props.keySet().iterator();
while(i.hasNext()) {
String key = (String) i.next();
addProperty(key, props.getProperty(key));
}
}
public String getSubstitutionProperty(String key) {
return substitutionProperties.getProperty(key);
}
public String subst(String value) {
if(value == null) {
return null;
}
return OptionConverter.substVars(value, substitutionProperties);
}
}