1 /****************************************************************
2 * Licensed to the Apache Software Foundation (ASF) under one *
3 * or more contributor license agreements. See the NOTICE file *
4 * distributed with this work for additional information *
5 * regarding copyright ownership. The ASF licenses this file *
6 * to you under the Apache License, Version 2.0 (the *
7 * "License"); you may not use this file except in compliance *
8 * with the License. You may obtain a copy of the License at *
9 * *
10 * http://www.apache.org/licenses/LICENSE-2.0 *
11 * *
12 * Unless required by applicable law or agreed to in writing, *
13 * software distributed under the License is distributed on an *
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
15 * KIND, either express or implied. See the License for the *
16 * specific language governing permissions and limitations *
17 * under the License. *
18 ****************************************************************/
19 package org.apache.james.container.spring.adaptor;
20
21 import org.apache.avalon.framework.context.Context;
22 import org.apache.avalon.framework.context.ContextException;
23 import org.apache.avalon.phoenix.BlockContext;
24
25 import java.io.File;
26
27 /**
28 * mimmicks the behavior of an Avalon context. note: the Avalon context is in the process of being removed from James
29 * by as well be needed for some Avalon/Cornerstone components
30 */
31 public class AvalonContext implements Context {
32
33 private String applicationHome = null;
34 private String applicationName = null;
35
36 public void setApplicationHome(String applicationHome) {
37 this.applicationHome = applicationHome;
38 }
39
40 public void setApplicationName(String applicationName) {
41 this.applicationName = applicationName;
42 }
43
44 public Object get(Object key) throws ContextException {
45 if( BlockContext.APP_NAME.equals( key ) )
46 {
47 return applicationName;
48 }
49 else if( BlockContext.APP_HOME_DIR.equals( key ) )
50 {
51 return new File(applicationHome);
52 }
53 else if( BlockContext.NAME.equals( key ) )
54 {
55 return "Avalon Context";
56 }
57 else
58 {
59 throw new ContextException( "Unknown key: " + key );
60 }
61 }
62 }