Java 类ch.qos.logback.core.joran.spi.ActionException 实例源码
项目:bartleby
文件:ThenOrElseActionBase.java
@Override
public void end(InterpretationContext ic, String name) throws ActionException {
if(!weAreActive(ic)) return;
ThenActionState state = stateStack.pop();
if (state.isRegistered) {
ic.removeInPlayListener(state);
Object o = ic.peekObject();
if (o instanceof IfAction) {
IfAction ifAction = (IfAction) o;
removeFirstAndLastFromList(state.eventList);
registerEventList(ifAction, state.eventList);
} else {
throw new IllegalStateException("Missing IfAction on top of stack");
}
}
}
项目:bartleby
文件:ShutdownHookAction.java
/**
* Once the children elements are also parsed, now is the time to activate the
* shutdown hook options.
*/
@Override
public void end(InterpretationContext ic, String name) throws ActionException {
if (inError) {
return;
}
Object o = ic.peekObject();
if (o != hook) {
addWarn("The object at the of the stack is not the hook pushed earlier.");
} else {
ic.popObject();
Thread hookThread = new Thread(hook, "Logback shutdown hook [" + context.getName() + "]");
context.putObject(CoreConstants.SHUTDOWN_HOOK_THREAD, hookThread);
Runtime.getRuntime().addShutdownHook(hookThread);
}
}
项目:bartleby
文件:FruitContextAction.java
@Override
public void end(InterpretationContext ec, String name) throws ActionException {
if (inError) {
return;
}
Object o = ec.peekObject();
if (o != context) {
addWarn(
"The object at the of the stack is not the context named ["
+ context.getName() + "] pushed earlier.");
} else {
addInfo(
"Popping context named [" + context.getName()
+ "] from the object stack");
ec.popObject();
}
}
项目:bartleby
文件:FruitShellAction.java
@Override
public void end(InterpretationContext ec, String name) throws ActionException {
if (inError) {
return;
}
Object o = ec.peekObject();
if (o != fruitShell) {
addWarn(
"The object at the of the stack is not the fruitShell named ["
+ fruitShell.getName() + "] pushed earlier.");
} else {
addInfo(
"Popping fruitSHell named [" + fruitShell.getName()
+ "] from the object stack");
ec.popObject();
FruitContext fruitContext = (FruitContext) ec.getContext();
fruitContext.addFruitShell(fruitShell);
}
}
项目:bartleby
文件:BadBeginAction.java
public void begin(InterpretationContext ec, String name, Attributes attributes) throws ActionException {
String exType = attributes.getValue(EXCEPTION_TYPE);
type = RUNTIME_EDXCEPTION;
if("ActionException".equals(exType)) {
type = ACTION_EXCEPTION;
}
switch(type) {
case ACTION_EXCEPTION:
throw new ActionException();
default:
throw new IllegalStateException("bad begin");
}
}
项目:bartleby
文件:ReceiverAction.java
@Override
public void end(InterpretationContext ic, String name)
throws ActionException {
if (inError) return;
ic.getContext().register(receiver);
receiver.start();
Object o = ic.peekObject();
if (o != receiver) {
addWarn("The object at the of the stack is not the remote " +
"pushed earlier.");
} else {
ic.popObject();
}
}
项目:bartleby
文件:LoggerContextListenerAction.java
@Override
public void end(InterpretationContext ec, String name) throws ActionException {
if (inError) {
return;
}
Object o = ec.peekObject();
if (o != lcl) {
addWarn("The object on the top the of the stack is not the LoggerContextListener pushed earlier.");
} else {
if (lcl instanceof LifeCycle) {
((LifeCycle) lcl).start();
addInfo("Starting LoggerContextListener");
}
((LoggerContext) context).addListener(lcl);
ec.popObject();
}
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot
文件:SpringPropertyAction.java
@Override
public void begin(InterpretationContext ic, String elementName, Attributes attributes)
throws ActionException {
String name = attributes.getValue(NAME_ATTRIBUTE);
String source = attributes.getValue(SOURCE_ATTRIBUTE);
Scope scope = ActionUtil.stringToScope(attributes.getValue(SCOPE_ATTRIBUTE));
String defaultValue = attributes.getValue(DEFAULT_VALUE_ATTRIBUTE);
if (OptionHelper.isEmpty(name) || OptionHelper.isEmpty(source)) {
addError(
"The \"name\" and \"source\" attributes of <springProperty> must be set");
}
ActionUtil.setProperty(ic, name, getValue(source, defaultValue), scope);
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot
文件:SpringProfileAction.java
@Override
public void begin(InterpretationContext ic, String name, Attributes attributes)
throws ActionException {
this.depth++;
if (this.depth != 1) {
return;
}
ic.pushObject(this);
this.acceptsProfile = acceptsProfiles(ic, attributes);
this.events = new ArrayList<SaxEvent>();
ic.addInPlayListener(this);
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot
文件:SpringProfileAction.java
@Override
public void end(InterpretationContext ic, String name) throws ActionException {
this.depth--;
if (this.depth != 0) {
return;
}
ic.removeInPlayListener(this);
verifyAndPop(ic);
if (this.acceptsProfile) {
addEventsToPlayer(ic);
}
}
项目:spring-boot-concourse
文件:SpringPropertyAction.java
@Override
public void begin(InterpretationContext ic, String elementName, Attributes attributes)
throws ActionException {
String name = attributes.getValue(NAME_ATTRIBUTE);
String source = attributes.getValue(SOURCE_ATTRIBUTE);
Scope scope = ActionUtil.stringToScope(attributes.getValue(SCOPE_ATTRIBUTE));
String defaultValue = attributes.getValue(DEFAULT_VALUE_ATTRIBUTE);
if (OptionHelper.isEmpty(name) || OptionHelper.isEmpty(source)) {
addError(
"The \"name\" and \"source\" attributes of <springProperty> must be set");
}
ActionUtil.setProperty(ic, name, getValue(source, defaultValue), scope);
}
项目:spring-boot-concourse
文件:SpringProfileAction.java
@Override
public void begin(InterpretationContext ic, String name, Attributes attributes)
throws ActionException {
this.depth++;
if (this.depth != 1) {
return;
}
ic.pushObject(this);
this.acceptsProfile = acceptsProfiles(ic, attributes);
this.events = new ArrayList<SaxEvent>();
ic.addInPlayListener(this);
}
项目:spring-boot-concourse
文件:SpringProfileAction.java
@Override
public void end(InterpretationContext ic, String name) throws ActionException {
this.depth--;
if (this.depth != 0) {
return;
}
ic.removeInPlayListener(this);
verifyAndPop(ic);
if (this.acceptsProfile) {
addEventsToPlayer(ic);
}
}
项目:bartleby
文件:IfAction.java
@Override
public void begin(InterpretationContext ic, String name, Attributes attributes)
throws ActionException {
IfState state = new IfState();
boolean emptyStack = stack.isEmpty();
stack.push(state);
if(!emptyStack) {
return;
}
ic.pushObject(this);
if(!EnvUtil.isJaninoAvailable()) {
addError(MISSING_JANINO_MSG);
addError(MISSING_JANINO_SEE);
return;
}
state.active = true;
Condition condition = null;
String conditionAttribute = attributes.getValue(CONDITION_ATTR);
if (!OptionHelper.isEmpty(conditionAttribute)) {
conditionAttribute = OptionHelper.substVars(conditionAttribute, ic, context);
PropertyEvalScriptBuilder pesb = new PropertyEvalScriptBuilder(ic);
pesb.setContext(context);
try {
condition = pesb.build(conditionAttribute);
} catch (Exception e) {
addError("Failed to parse condition ["+conditionAttribute+"]", e);
}
if(condition!=null) {
state.boolResult = condition.evaluate();
}
}
}
项目:bartleby
文件:ThenOrElseActionBase.java
@Override
public void begin(InterpretationContext ic, String name, Attributes attributes)
throws ActionException {
if(!weAreActive(ic)) return;
ThenActionState state = new ThenActionState();
if (ic.isListenerListEmpty()) {
ic.addInPlayListener(state);
state.isRegistered = true;
}
stateStack.push(state);
}
项目:bartleby
文件:IncludeAction.java
@Override
public void begin(InterpretationContext ec, String name, Attributes attributes)
throws ActionException {
SaxEventRecorder recorder = new SaxEventRecorder(context);
this.attributeInUse = null;
this.optional = OptionHelper.toBoolean(attributes.getValue(OPTIONAL_ATTR), false);
if (!checkAttributes(attributes)) {
return;
}
InputStream in = getInputStream(ec, attributes);
try {
if (in != null) {
parseAndRecord(in, recorder);
// remove the <included> tag from the beginning and </included> from the end
trimHeadAndTail(recorder);
// offset = 2, because we need to get past this element as well as the end element
ec.getJoranInterpreter().getEventPlayer().addEventsDynamically(recorder.saxEventList, 2);
}
} catch (JoranException e) {
addError("Error while parsing " + attributeInUse, e);
} finally {
close(in);
}
}
项目:bartleby
文件:StatusListenerAction.java
public void begin(InterpretationContext ec, String name, Attributes attributes) throws ActionException {
inError = false;
String className = attributes.getValue(CLASS_ATTRIBUTE);
if (OptionHelper.isEmpty(className)) {
addError("Missing class name for statusListener. Near ["
+ name + "] line " + getLineNumber(ec));
inError = true;
return;
}
try {
statusListener = (StatusListener) OptionHelper.instantiateByClassName(
className, StatusListener.class, context);
ec.getContext().getStatusManager().add(statusListener);
if (statusListener instanceof ContextAware) {
((ContextAware) statusListener).setContext(context);
}
addInfo("Added status listener of type [" + className + "]");
ec.pushObject(statusListener);
} catch (Exception e) {
inError = true;
addError(
"Could not create an StatusListener of type [" + className + "].", e);
throw new ActionException(e);
}
}
项目:bartleby
文件:ShutdownHookAction.java
/**
* Instantiates a shutdown hook of the given class and sets its name.
*
* The hook thus generated is placed in the {@link InterpretationContext}'s
* shutdown hook bag.
*/
@Override
public void begin(InterpretationContext ic, String name, Attributes attributes) throws ActionException {
hook = null;
inError = false;
String className = attributes.getValue(CLASS_ATTRIBUTE);
if (OptionHelper.isEmpty(className)) {
addError("Missing class name for shutdown hook. Near [" + name
+ "] line " + getLineNumber(ic));
inError = true;
return;
}
try {
addInfo("About to instantiate shutdown hook of type [" + className + "]");
hook = (ShutdownHookBase) OptionHelper.instantiateByClassName(className,
ShutdownHookBase.class, context);
hook.setContext(context);
ic.pushObject(hook);
}catch (Exception e) {
inError = true;
addError("Could not create a shutdown hook of type [" + className + "].", e);
throw new ActionException(e);
}
}
项目:bartleby
文件:TimestampAction.java
@Override
public void begin(InterpretationContext ec, String name, Attributes attributes)
throws ActionException {
String keyStr = attributes.getValue(KEY_ATTRIBUTE);
if (OptionHelper.isEmpty(keyStr)) {
addError("Attribute named [" + KEY_ATTRIBUTE + "] cannot be empty");
inError = true;
}
String datePatternStr = attributes.getValue(DATE_PATTERN_ATTRIBUTE);
if (OptionHelper.isEmpty(datePatternStr)) {
addError("Attribute named [" + DATE_PATTERN_ATTRIBUTE
+ "] cannot be empty");
inError = true;
}
String timeReferenceStr = attributes.getValue(TIME_REFERENCE_ATTRIBUTE);
long timeReference;
if (CONTEXT_BIRTH.equalsIgnoreCase(timeReferenceStr)) {
addInfo("Using context birth as time reference.");
timeReference = context.getBirthTime();
} else {
timeReference = System.currentTimeMillis();
addInfo("Using current interpretation time, i.e. now, as time reference.");
}
if (inError)
return;
String scopeStr = attributes.getValue(SCOPE_ATTRIBUTE);
Scope scope = ActionUtil.stringToScope(scopeStr);
CachingDateFormatter sdf = new CachingDateFormatter(datePatternStr);
String val = sdf.format(timeReference);
addInfo("Adding property to the context with key=\"" + keyStr
+ "\" and value=\"" + val + "\" to the " + scope + " scope");
ActionUtil.setProperty(ec, keyStr, val, scope);
}
项目:bartleby
文件:FruitContextAction.java
@Override
public void begin(InterpretationContext ec, String name, Attributes attributes)
throws ActionException {
inError = false;
try {
ec.pushObject(context);
} catch (Exception oops) {
inError = true;
addError(
"Could not push context", oops);
throw new ActionException(oops);
}
}
项目:bartleby
文件:FruitShellAction.java
@Override
public void begin(InterpretationContext ec, String name, Attributes attributes)
throws ActionException {
// We are just beginning, reset variables
fruitShell = new FruitShell();
inError = false;
try {
fruitShell.setContext(context);
String shellName = attributes.getValue(NAME_ATTRIBUTE);
if (OptionHelper.isEmpty(shellName)) {
addWarn(
"No appender name given for fruitShell].");
} else {
fruitShell.setName(shellName);
addInfo("FruitShell named as [" + shellName + "]");
}
ec.pushObject(fruitShell);
} catch (Exception oops) {
inError = true;
addError(
"Could not create an FruitShell", oops);
throw new ActionException(oops);
}
}
项目:bartleby
文件:FruitFactoryAction.java
@Override
public void end(InterpretationContext ec, String name) throws ActionException {
ec.removeInPlayListener(this);
Object o = ec.peekObject();
if(o instanceof FruitShell) {
FruitShell fs = (FruitShell) o;
FruitFactory fruitFactory = new FruitFactory();
fruitFactory.setEventList(new ArrayList<SaxEvent>(seList));
fs.setFruitFactory(fruitFactory);
}
}
项目:bartleby
文件:IncAction.java
/**
* Instantiates an layout of the given class and sets its name.
*
*/
public void begin(InterpretationContext ec, String name, Attributes attributes) throws ActionException {
//System.out.println("IncAction Begin called");
beginCount++;
String val = attributes.getValue("increment");
if(!"1".equals(val)) {
errorCount++;
throw new ActionException();
}
}
项目:bartleby
文件:BadEndAction.java
public void end(InterpretationContext ec, String name) throws ActionException {
switch(type) {
case ACTION_EXCEPTION:
throw new ActionException();
default:
throw new IllegalStateException("bad end");
}
}
项目:bartleby
文件:ConsolePluginAction.java
@Override
public void begin(InterpretationContext ec, String name, Attributes attributes)
throws ActionException {
String portStr = attributes.getValue(PORT_ATTR);
Integer port = null;
if (portStr == null) {
port = DEFAULT_PORT;
} else {
try {
port = Integer.valueOf(portStr);
} catch (NumberFormatException ex) {
addError("Port " + portStr
+ " in ConsolePlugin config is not a correct number");
}
}
LoggerContext lc = (LoggerContext)ec.getContext();
SocketAppender appender = new SocketAppender();
appender.setContext(lc);
appender.setIncludeCallerData(true);
appender.setRemoteHost("localhost");
appender.setPort(port.intValue());
appender.start();
Logger root = lc.getLogger(Logger.ROOT_LOGGER_NAME);
root.addAppender(appender);
addInfo("Sending LoggingEvents to the plugin using port " + port);
}
项目:bartleby
文件:ReceiverAction.java
@Override
public void begin(InterpretationContext ic, String name,
Attributes attributes) throws ActionException {
String className = attributes.getValue(CLASS_ATTRIBUTE);
if (OptionHelper.isEmpty(className)) {
addError("Missing class name for receiver. Near [" + name
+ "] line " + getLineNumber(ic));
inError = true;
return;
}
try {
addInfo("About to instantiate receiver of type [" + className + "]");
receiver = (ReceiverBase) OptionHelper.instantiateByClassName(
className, ReceiverBase.class, context);
receiver.setContext(context);
ic.pushObject(receiver);
}
catch (Exception ex) {
inError = true;
addError("Could not create a receiver of type [" + className + "].", ex);
throw new ActionException(ex);
}
}
项目:bartleby
文件:LoggerContextListenerAction.java
@Override
public void begin(InterpretationContext ec, String name, Attributes attributes)
throws ActionException {
inError = false;
String className = attributes.getValue(CLASS_ATTRIBUTE);
if (OptionHelper.isEmpty(className)) {
addError("Mandatory \"" + CLASS_ATTRIBUTE
+ "\" attribute not set for <loggerContextListener> element");
inError = true;
return;
}
try {
lcl = (LoggerContextListener) OptionHelper.instantiateByClassName(
className, LoggerContextListener.class, context);
if(lcl instanceof ContextAware) {
((ContextAware) lcl).setContext(context);
}
ec.pushObject(lcl);
addInfo("Adding LoggerContextListener of type [" + className
+ "] to the object stack");
} catch (Exception oops) {
inError = true;
addError("Could not create LoggerContextListener of type " + className + "].", oops);
}
}
项目:bartleby
文件:SiftAction.java
@Override
public void end(InterpretationContext ic, String name) throws ActionException {
ic.removeInPlayListener(this);
Object o = ic.peekObject();
if (o instanceof SiftingAppender) {
SiftingAppender sa = (SiftingAppender) o;
Map<String, String> propertyMap = ic.getCopyOfPropertyMap();
AppenderFactoryUsingJoran appenderFactory = new AppenderFactoryUsingJoran(seList, sa
.getDiscriminatorKey(), propertyMap);
sa.setAppenderFactory(appenderFactory);
}
}
项目:bartleby
文件:SiftAction.java
@Override
public void end(InterpretationContext ic, String name) throws ActionException {
ic.removeInPlayListener(this);
Object o = ic.peekObject();
if (o instanceof SiftingAppender) {
SiftingAppender siftingAppender = (SiftingAppender) o;
Map<String, String> propertyMap = ic.getCopyOfPropertyMap();
AppenderFactoryUsingJoran appenderFactory = new AppenderFactoryUsingJoran(seList, siftingAppender.getDiscriminatorKey(), propertyMap);
siftingAppender.setAppenderFactory(appenderFactory);
}
}
项目:contestparser
文件:SpringPropertyAction.java
@Override
public void begin(InterpretationContext ic, String elementName, Attributes attributes)
throws ActionException {
String name = attributes.getValue(NAME_ATTRIBUTE);
String source = attributes.getValue(SOURCE_ATTRIBUTE);
Scope scope = ActionUtil.stringToScope(attributes.getValue(SCOPE_ATTRIBUTE));
if (OptionHelper.isEmpty(name) || OptionHelper.isEmpty(source)) {
addError(
"The \"name\" and \"source\" attributes of <springProperty> must be set");
}
ActionUtil.setProperty(ic, name, getValue(source), scope);
}
项目:contestparser
文件:SpringProfileAction.java
@Override
public void begin(InterpretationContext ic, String name, Attributes attributes)
throws ActionException {
this.depth++;
if (this.depth != 1) {
return;
}
ic.pushObject(this);
this.acceptsProfile = acceptsProfiles(ic, attributes);
this.events = new ArrayList<SaxEvent>();
ic.addInPlayListener(this);
}
项目:contestparser
文件:SpringProfileAction.java
@Override
public void end(InterpretationContext ic, String name) throws ActionException {
this.depth--;
if (this.depth != 0) {
return;
}
ic.removeInPlayListener(this);
verifyAndPop(ic);
if (this.acceptsProfile) {
addEventsToPlayer(ic);
}
}
项目:logback-access-spring-boot-starter
文件:LogbackAccessJoranConfigurator.java
/** {@inheritDoc} */
@Override
public void begin(InterpretationContext ic, String name, Attributes attributes) throws ActionException {
depth++;
if (depth != 1) {
return;
}
String profiles = OptionHelper.substVars(attributes.getValue(NAME_ATTRIBUTE), ic, context);
String[] normalizedProfiles = StringUtils.commaDelimitedListToStringArray(profiles);
normalizedProfiles = StringUtils.trimArrayElements(normalizedProfiles);
accepts = normalizedProfiles.length > 0 && environment.acceptsProfiles(normalizedProfiles);
ic.addInPlayListener(this);
}
项目:logback-access-spring-boot-starter
文件:LogbackAccessJoranConfigurator.java
/** {@inheritDoc} */
@Override
public void end(InterpretationContext ic, String name) throws ActionException {
depth--;
if (depth != 0) {
return;
}
ic.removeInPlayListener(this);
if (accepts) {
events.remove(0);
events.remove(events.size() - 1);
ic.getJoranInterpreter().getEventPlayer().addEventsDynamically(events, 1);
}
events.clear();
}
项目:logback-access-spring-boot-starter
文件:LogbackAccessJoranConfigurator.java
/** {@inheritDoc} */
@Override
public void begin(InterpretationContext ic, String name, Attributes attributes) throws ActionException {
String key = attributes.getValue(NAME_ATTRIBUTE);
Scope scope = ActionUtil.stringToScope(attributes.getValue(SCOPE_ATTRIBUTE));
String source = attributes.getValue("source");
String defaultValue = attributes.getValue("defaultValue");
String value = environment.getProperty(source, defaultValue);
ActionUtil.setProperty(ic, key, value, scope);
}
项目:ammo-core
文件:LoggerConfigureAction.java
@Override
public void begin(InterpretationContext ic, String name,
Attributes attributes) throws ActionException {
final String loggerName = attributes.getValue(NAME_ATR);
// If we don't have a logger name then we can't do anything
if(loggerName == null) return;
// If that logger doesn't exist yet then we have no reason to configure it
if(!containsByName(lc.getLoggerList(), loggerName)) return;
final Logger logger = lc.getLogger(loggerName);
// Set the logger's level
final String levelStr = attributes.getValue(LEVEL_ATR);
if(levelStr != null) {
logger.setLevel(Level.toLevel(levelStr, null));
}
// Attach the appropriate appenders only if those appenders have been created
// by Joran from the logback config file
final String[] appenderNames = attributes.getValue(APPENDER_ATR).split(" ");
if (appenderNames != null) {
logger.detachAndStopAllAppenders();
for(int i=0; i<appenderNames.length; i++) {
//TODO: This will have to be made to work with a content provider
// final Appender<ILoggingEvent> appender = findMatchingAppender(
// AppenderStore.getInstance().getAppenders(), appenderNames[i]);
// if (appender != null)
// logger.addAppender(appender);
}
}
// Set the logger's additivity
final String additivityStr = attributes.getValue(ADDITIVITY_ATR);
if(additivityStr != null) logger.setAdditive(Boolean.valueOf(additivityStr));
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot
文件:SpringPropertyAction.java
@Override
public void end(InterpretationContext ic, String name) throws ActionException {
}
项目:spring-boot-concourse
文件:SpringPropertyAction.java
@Override
public void end(InterpretationContext ic, String name) throws ActionException {
}
项目:bartleby
文件:IfAction.java
@Override
public void end(InterpretationContext ic, String name) throws ActionException {
IfState state = stack.pop();
if(!state.active) {
return;
}
Object o = ic.peekObject();
if (o == null) {
throw new IllegalStateException("Unexpected null object on stack");
}
if (!(o instanceof IfAction)) {
throw new IllegalStateException("Unexpected object of type ["
+ o.getClass() + "] on stack");
}
if (o != this) {
throw new IllegalStateException(
"IfAction different then current one on stack");
}
ic.popObject();
if (state.boolResult == null) {
addError("Failed to determine \"if then else\" result");
return;
}
Interpreter interpreter = ic.getJoranInterpreter();
List<SaxEvent> listToPlay = state.thenSaxEventList;
if (!state.boolResult) {
listToPlay = state.elseSaxEventList;
}
// if boolResult==false & missing else, listToPlay may be null
if(listToPlay != null) {
// insert past this event
interpreter.getEventPlayer().addEventsDynamically(listToPlay, 1);
}
}
项目:bartleby
文件:Action.java
public abstract void end(InterpretationContext ic, String name)
throws ActionException;