|
Author: adrianc
Date: Sun Jan 3 04:48:35 2010 New Revision: 895333 URL: http://svn.apache.org/viewvc?rev=895333&view=rev Log: Small class and folder fixups - no functional change. Added: ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/AbstractExecutionContext.java (with props) Removed: ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/ExecutionContextImpl.java Modified: ofbiz/branches/executioncontext20091231/framework/api/ (props changed) ofbiz/branches/executioncontext20091231/framework/context/ (props changed) ofbiz/branches/executioncontext20091231/framework/context/src/org/ofbiz/context/ExecutionContextImpl.java Propchange: ofbiz/branches/executioncontext20091231/framework/api/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sun Jan 3 04:48:35 2010 @@ -0,0 +1 @@ +build Added: ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/AbstractExecutionContext.java URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/AbstractExecutionContext.java?rev=895333&view=auto ============================================================================== --- ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/AbstractExecutionContext.java (added) +++ ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/AbstractExecutionContext.java Sun Jan 3 04:48:35 2010 @@ -0,0 +1,175 @@ +/******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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.ofbiz.api.context; + +import java.util.Locale; +import java.util.Map; +import java.util.TimeZone; + +import javolution.util.FastList; +import javolution.util.FastMap; + +import org.ofbiz.base.util.Debug; +import org.ofbiz.base.util.UtilProperties; + +/** Implementation of the ExecutionContext interface. */ +public abstract class AbstractExecutionContext implements ExecutionContext { + + public static final String module = AbstractExecutionContext.class.getName(); + + protected final FastList<ExecutionArtifact> artifactStack = FastList.newInstance(); + protected String currencyUom = null; + protected Locale locale = Locale.getDefault(); + protected TimeZone timeZone = TimeZone.getDefault(); + protected final Map<String, Object> properties; + // Temporary - will be removed later + protected boolean verbose = false; + + protected AbstractExecutionContext() { + this.properties = FastMap.newInstance(); + this.verbose = "true".equals(UtilProperties.getPropertyValue("api.properties", "executionContext.verbose")); + } + + protected AbstractExecutionContext(Map<String, Object> properties) { + this.properties = properties; + this.verbose = "true".equals(UtilProperties.getPropertyValue("api.properties", "executionContext.verbose")); + } + + @Override + protected void finalize() throws Throwable { + if (this.artifactStack.size() > 0) { + // This check is temporary - it will be removed when implementation is complete + Debug.logError(new Exception("finalize() called with a stack that is not empty"), module); + return; + } + super.finalize(); + } + + public String getCurrencyUom() { + return this.currencyUom; + } + + public String getExecutionPath() { + StringBuilder sb = new StringBuilder("ofbiz"); + for (ExecutionArtifact artifact : this.artifactStack) { + sb.append("/"); + sb.append(artifact.getName() == null ? "null" : artifact.getName()); + } + return sb.toString(); + } + + public Locale getLocale() { + return this.locale; + } + + public Map<String, ? extends Object> getParameters() { + for (int i = this.artifactStack.size() - 1; i >= 0; i--) { + try { + ParametersArtifact artifact = (ParametersArtifact) this.artifactStack.get(i); + return artifact.getParameters(); + } catch (Exception e) {} + } + return null; + } + + public Object getProperty(String key) { + return this.properties.get(key); + } + + public TimeZone getTimeZone() { + return this.timeZone; + } + + public void popExecutionArtifact() { + if (this.artifactStack.size() == 0) { + // This check is temporary - it will be removed when implementation is complete + Debug.logError(new Exception("Attempt to pop an empty stack"), module); + return; + } + ExecutionArtifact artifact = this.artifactStack.removeLast(); + if (this.verbose) { + Debug.logInfo("Popping artifact [" + artifact.getClass().getName() + + "] location = " + artifact.getLocation() + + ", name = " + artifact.getName(), module); + } + } + + public void pushExecutionArtifact(ExecutionArtifact artifact) { + this.artifactStack.addLast(artifact); + if (this.verbose) { + Debug.logInfo("Pushing artifact [" + artifact.getClass().getName() + + "] location = " + artifact.getLocation() + + ", name = " + artifact.getName(), module); + } + } + + public void reset() { + if (this.verbose) { + Debug.logInfo("Resetting ExecutionContext", module); + } + this.artifactStack.clear(); + this.currencyUom = ""; + this.locale = Locale.getDefault(); + this.properties.clear(); + this.timeZone = TimeZone.getDefault(); + } + + public void setCurrencyUom(String currencyUom) { + if (currencyUom != null) { + this.currencyUom = currencyUom; + } + } + + public void setLocale(Locale locale) { + if (locale != null) { + this.locale = locale; + } + } + + protected void setLocale(String locale) { + if (locale != null) { + this.locale = new Locale(locale); + } else { + this.locale = Locale.getDefault(); + } + } + + public Object setProperty(String key, Object value) { + return this.properties.put(key, value); + } + + public void setTimeZone(TimeZone timeZone) { + if (timeZone != null) { + this.timeZone = timeZone; + } + } + + protected void setTimeZone(String timeZone) { + if (timeZone != null) { + this.timeZone = TimeZone.getTimeZone(timeZone); + } else { + this.timeZone = TimeZone.getDefault(); + } + } + + @Override + public String toString() { + return this.getExecutionPath(); + } +} Propchange: ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/AbstractExecutionContext.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/AbstractExecutionContext.java ------------------------------------------------------------------------------ svn:keywords = Date Rev Author URL Id Propchange: ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/AbstractExecutionContext.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Propchange: ofbiz/branches/executioncontext20091231/framework/context/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Sun Jan 3 04:48:35 2010 @@ -0,0 +1 @@ +build Modified: ofbiz/branches/executioncontext20091231/framework/context/src/org/ofbiz/context/ExecutionContextImpl.java URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20091231/framework/context/src/org/ofbiz/context/ExecutionContextImpl.java?rev=895333&r1=895332&r2=895333&view=diff ============================================================================== --- ofbiz/branches/executioncontext20091231/framework/context/src/org/ofbiz/context/ExecutionContextImpl.java (original) +++ ofbiz/branches/executioncontext20091231/framework/context/src/org/ofbiz/context/ExecutionContextImpl.java Sun Jan 3 04:48:35 2010 @@ -35,7 +35,7 @@ import org.ofbiz.service.LocalDispatcher; /** An implementation of the <code>ExecutionContext</code> interface. */ -public class ExecutionContextImpl extends org.ofbiz.api.context.ExecutionContextImpl implements ExecutionContext { +public class ExecutionContextImpl extends org.ofbiz.api.context.AbstractExecutionContext implements ExecutionContext { public static final String module = ExecutionContextImpl.class.getName(); protected Delegator delegator = null; @@ -65,6 +65,9 @@ if (this.security == null) { ClassLoader loader = Thread.currentThread().getContextClassLoader(); String className = UtilProperties.getPropertyValue("api.properties", "authorizationManager.class"); + if (this.verbose) { + Debug.logInfo("Loading Authorization Manager " + className, module); + } try { this.security = (AuthorizationManager) loader.loadClass(className).newInstance(); } catch (Exception e) { |
| Free forum by Nabble | Edit this page |
