ofbiz-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From adri...@apache.org
Subject svn commit: r895333 - in /ofbiz/branches/executioncontext20091231/framework: api/ api/src/org/ofbiz/api/context/ context/ context/src/org/ofbiz/context/
Date Sun, 03 Jan 2010 04:48:35 GMT
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) {



Mime
View raw message