01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one
03: * or more contributor license agreements. See the NOTICE file
04: * distributed with this work for additional information
05: * regarding copyright ownership. The ASF licenses this file
06: * to you under the Apache License, Version 2.0 (the
07: * "License"); you may not use this file except in compliance
08: * with the License. You may obtain a copy of the License at
09: *
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:
20: package org.apache.axis2.wsdl.codegen.extension;
21:
22: import org.apache.axis2.util.URLProcessor;
23: import org.apache.axis2.wsdl.codegen.CodeGenConfiguration;
24:
25: public class PackageFinder extends AbstractCodeGenerationExtension {
26:
27: public void engage(CodeGenConfiguration configuration) {
28: String packageName = configuration.getPackageName();
29: if (packageName == null
30: || URLProcessor.DEFAULT_PACKAGE.equals(packageName)) {
31:
32: //use the target namespace from the axis service to form a package name
33: // since all the services are in same name space
34: String targetNameSpace = configuration.getTargetNamespace();
35:
36: // if this target name space exists in the ns2p then we have to get that package
37: if ((configuration.getUri2PackageNameMap() != null)
38: && configuration.getUri2PackageNameMap()
39: .containsKey(targetNameSpace.trim())) {
40: packageName = (String) configuration
41: .getUri2PackageNameMap().get(targetNameSpace);
42: } else {
43: // i.e. user have not given any ns2p information for this name space
44: packageName = URLProcessor
45: .makePackageName(configuration
46: .getTargetNamespace());
47: if (packageName != null) {
48: packageName = packageName.toLowerCase();
49: }
50: }
51:
52: }
53:
54: if ((packageName == null) || "".equals(packageName)) {
55: packageName = URLProcessor.DEFAULT_PACKAGE;
56: }
57:
58: configuration.setPackageName(packageName);
59: }
60:
61: }
|