blob: 340de2a8b5230a6bcfac0bfd26ac023bf7de1b86 [file] [log] [blame]
/*
* 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.apache.axis2.tools.bean;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.vfs.VirtualFile;
import org.apache.axis2.description.java2wsdl.Java2WSDLConstants;
import org.apache.ws.java2wsdl.Java2WSDLCodegenEngine;
import org.apache.ws.java2wsdl.utils.Java2WSDLCommandLineOption;
import java.util.HashMap;
import java.util.Map;
public class WsdlgenBean {
private String ClassName;
private String[] ClassPathList;
private String TargetNamespace;
private String TargetNamespacePrefix;
private String SchemaTargetNamespace;
private String ServiceName;
private String SchemaTargetNamespacePrefix;
private String OutputLocation ;
private String OutputWSDLName ;
private Project project;
public String getClassName() {
return ClassName ;
}
public void setClassName(String className){
this.ClassName=className ;
}
public String[] getClassPathList(){
return ClassPathList ;
}
public void setClassPathList(String[] classPathList) {
this.ClassPathList = classPathList;
}
public String getTargetNamespace() {
return TargetNamespace ;
}
public void setTargetNamespace(String targetNamespace) {
this.TargetNamespace = targetNamespace;
}
public String getTargetNamespacePrefix() {
return TargetNamespacePrefix ;
}
public void setTargetNamespacePrefix(String targetNamespacePrefix) {
this.TargetNamespacePrefix = targetNamespacePrefix;
}
public String getSchemaTargetNamespace() {
return SchemaTargetNamespace ;
}
public void setSchemaTargetNamespace (String schemaTargetNameSpace) {
this.SchemaTargetNamespace = schemaTargetNameSpace ;
}
public String getSchemaTargetNamespacePrefix () {
return SchemaTargetNamespacePrefix ;
}
public void setSchemaTargetNamespacePrefix (String schemaTargetNameSpacePrefix) {
this.SchemaTargetNamespacePrefix = schemaTargetNameSpacePrefix ;
}
public String getOutputLocation(){
return OutputLocation ;
}
public void setOutputLocation(String outputLoaction){
this.OutputLocation =outputLoaction ;
}
public String getOutputWSDLName(){
return OutputWSDLName ;
}
public void setOutputWSDLName(String outputWSDLName){
this.OutputWSDLName =outputWSDLName ;
}
public String getServiceName(){
return ServiceName ;
}
public void setServiceName(String serviceName){
this.ServiceName =serviceName ;
}
public Map fillOptionMap() {
Map optionMap = new HashMap();
optionMap.put(Java2WSDLConstants .CLASSNAME_OPTION ,
new Java2WSDLCommandLineOption(Java2WSDLConstants.CLASSNAME_OPTION ,
new String[]{getClassName() })
);
optionMap.put(Java2WSDLConstants.CLASSPATH_OPTION ,
new Java2WSDLCommandLineOption(Java2WSDLConstants .CLASSPATH_OPTION ,
getClassPathList())
);
optionMap.put(Java2WSDLConstants .TARGET_NAMESPACE_OPTION ,
new Java2WSDLCommandLineOption(Java2WSDLConstants .TARGET_NAMESPACE_OPTION ,
new String[]{getTargetNamespace() })
);
optionMap.put(Java2WSDLConstants .TARGET_NAMESPACE_PREFIX_OPTION ,
new Java2WSDLCommandLineOption(Java2WSDLConstants .TARGET_NAMESPACE_PREFIX_OPTION ,
new String[]{getTargetNamespacePrefix()})
);
optionMap.put(Java2WSDLConstants .SCHEMA_TARGET_NAMESPACE_OPTION ,
new Java2WSDLCommandLineOption(Java2WSDLConstants .SCHEMA_TARGET_NAMESPACE_OPTION ,
new String[]{getSchemaTargetNamespace() })
);
optionMap.put(Java2WSDLConstants .SERVICE_NAME_OPTION ,
new Java2WSDLCommandLineOption(Java2WSDLConstants .SERVICE_NAME_OPTION ,
new String[]{getServiceName() })
);
optionMap.put(Java2WSDLConstants .SCHEMA_TARGET_NAMESPACE_PREFIX_OPTION ,
new Java2WSDLCommandLineOption(Java2WSDLConstants .SCHEMA_TARGET_NAMESPACE_PREFIX_OPTION ,
new String[]{getSchemaTargetNamespacePrefix() })
);
optionMap.put(Java2WSDLConstants .OUTPUT_LOCATION_OPTION ,
new Java2WSDLCommandLineOption(Java2WSDLConstants .OUTPUT_LOCATION_OPTION ,
new String[]{getOutputLocation()})
);
optionMap.put(Java2WSDLConstants .OUTPUT_FILENAME_OPTION ,
new Java2WSDLCommandLineOption(Java2WSDLConstants .OUTPUT_FILENAME_OPTION ,
new String[]{getOutputWSDLName()})
);
return optionMap;
}
public void generate() throws Exception {
try {
Java2WSDLCodegenEngine java2WSDL=new Java2WSDLCodegenEngine(fillOptionMap());
java2WSDL.generate();
} catch (Throwable e) {
throw new Exception("Code generation failed due to " + e.getLocalizedMessage());
}
}
public Project getActiveProject() {
return project;
}
public void setProject(Project project) {
this.project = project;
}
public Module[] getModules() {
Project project = getActiveProject();
if (project != null) {
return ModuleManager.getInstance(project).getModules();
}
return null;
}
public String[] getModuleSrc(String name) {
Project project = getActiveProject();
if (project != null) {
Module module = ModuleManager.getInstance(project).findModuleByName(name);
ModuleRootManager moduleRootManager = ModuleRootManager.getInstance(module);
VirtualFile virtualFiles[] = moduleRootManager.getSourceRoots();
String src[] = new String[virtualFiles.length];
for (int count = 0; count < src.length; count++) {
src[count] = virtualFiles[count].getPresentableUrl();
}
return src;
}
return null;
}
}