Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
   *
   * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
   *
   * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
   * Other names may be trademarks of their respective owners.
   *
   * The contents of this file are subject to the terms of either the GNU
  * General Public License Version 2 only ("GPL") or the Common
  * Development and Distribution License("CDDL") (collectively, the
  * "License"). You may not use this file except in compliance with the
  * License. You can obtain a copy of the License at
  * http://www.netbeans.org/cddl-gplv2.html
  * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
  * specific language governing permissions and limitations under the
  * License.  When distributing the software, include this License Header
  * Notice in each file and include the License file at
  * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
  * particular file as subject to the "Classpath" exception as provided
  * by Oracle in the GPL Version 2 section of the License file that
  * accompanied this code. If applicable, add the following below the
  * License Header, with the fields enclosed by brackets [] replaced by
  * your own identifying information:
  * "Portions Copyrighted [year] [name of copyright owner]"
  * 
  * Contributor(s):
  * 
  * The Original Software is NetBeans. The Initial Developer of the Original
  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
  * Microsystems, Inc. All Rights Reserved.
  * 
  * If you wish your version of this file to be governed by only the CDDL
  * or only the GPL Version 2, indicate your decision by adding
  * "[Contributor] elects to include this software in this distribution
  * under the [CDDL or GPL Version 2] license." If you do not indicate a
  * single choice of license, a recipient has the option to distribute
  * your version of this file under either the CDDL, the GPL Version 2 or
  * to extend the choice of license to its licensees as provided above.
  * However, if you add GPL Version 2 code and therefore, elected the GPL
  * Version 2 license, then the option applies only if the new code is
  * made subject to such option by the copyright holder.
  */
 package org.netbeans.modules.websvc.saas.codegen.java;
 
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
Code generator for Accessing Saas services.

Author(s):
nam
 
     
     private JavaSource targetSource;  
     private FileObject serviceFolder;
     
     public CustomClientPojoCodeGenerator() {
     }
     
     @Override
     public boolean canAccept(SaasMethod methodDocument doc) {
         if (SaasBean.canAccept(methodCustomSaasMethod.classgetDropFileType()) &&
                 Util.isJava(doc)) {
             return true;
         }
         return false;
     }
    
    @Override
    public void init(SaasMethod mDocument docthrows IOException {
        init(mnew CustomClientSaasBean((CustomSaasMethodmfalse), doc); 
    }
    
    @Override 
    protected void preGenerate() throws IOException {
        
        //add JAXB Classes, etc, if available
        if(getBean().getMethod().getSaas().getLibraryJars().size() > 0)
            JavaUtil.addClientJars(getBean(), getProject(), null);
        
            public void run() throws IOException {
                try {
                    /*
                      Already taken care by Util.addClientJars()
                     List<String> libs = getBean().getArtifactLibs(); 
                    for(String lib: libs) {
                        //TODO - Fix the copyFile method
                        copyFile(lib, FileUtil.toFile(getTargetFolder()));
                    }*/
                    Map<StringStringtemplates = getBean().getArtifactTemplates(...prefix());
                    for(Map.Entry etemplates.entrySet()) {
                        String id = (Stringe.getKey();
                        String template = (Stringe.getValue();
                        Util.createDataObjectFromTemplate(templategetSaasServiceFolder(), id);
                    }
                } finally {
                }
            }
        });
    }
    
    public void init(SaasMethod mCustomClientSaasBean saasBeanDocument docthrows IOException {
        super.init(mdoc);
        setBean(saasBean);
        this. = JavaSource.forFileObject(getTargetFile());
        String packageName = JavaSourceHelper.getPackageName(getTargetSource());
        getBean().setPackageName(packageName);
        
        this. = null;
        
        this..setDropFileType(getDropFileType());
    }
    @Override
    public CustomClientSaasBean getBean() {
        return (CustomClientSaasBeansuper.getBean();
    }
        return ;
    }
        
    protected JavaSource getTargetSource() {
        return this.;
    }
    public FileObject getSaasServiceFolder() throws IOException {
        if ( == null) {
            SourceGroup[] srcGrps = SourceGroupSupport.getJavaSourceGroups(getProject());
             = SourceGroupSupport.getFolderForPackage(srcGrps[0],
                    getBean().getSaasServicePackageName(), true);
        }
        return ;
    }
    
    @Override
    public Set<FileObjectgenerate() throws IOException {
        preGenerate();
        //Create Authenticator classes
        
        //Create Authorization classes
                
        //Modify Authenticator class
        
        //execute this block before insertSaasServiceAccessCode() 
        setJaxbWrapper();
        addImportsToTargetFile();
        
        finishProgressReporting();
        return new HashSet<FileObject>(.);
    }
    
    private void setJaxbWrapper() {
        //TODO
//        List<QName> repTypesFromWadl = getBean().findRepresentationTypes(getBean().getMethod());
//        if(!repTypesFromWadl.isEmpty()) {
//            getBean().setOutputWrapperName(repTypesFromWadl.get(0).getLocalPart());
//            getBean().setOutputWrapperPackageName(
//                    (getBean().getGroupName()+"."+
//                        getBean().getDisplayName()).toLowerCase());
//        }
    }
    
    @Override
    protected String getCustomMethodBody() throws IOException {
        String paramUse = "";
        String paramDecl = "";
        //Evaluate parameters (query(not fixed or apikey), header, template,...)
        String indent = "        ";
        String indent2 = "             ";
        List<ParameterInfoparams = getServiceMethodParameters();
        clearVariablePatterns();
        updateVariableNames(params);
        List<ParameterInforenamedParams = renameParameterNames(params);
        paramUse += Util.getHeaderOrParameterUsage(renamedParams);
        paramDecl += getHeaderOrParameterDeclaration(renamedParams);
        String methodBody = "\n"+indent + "try {\n";
        methodBody += paramDecl + "\n";
        methodBody += indent2 +  + " "+getResultPattern()+" = " + getBean().getSaasServiceName() +
                "." + getBean().getSaasServiceMethodName() + "(" + paramUse + ");\n";
        methodBody += Util.createPrintStatement(
                getBean().getOutputWrapperPackageNames(),
                getBean().getOutputWrapperNames(),
                getDropFileType(),
                getBean().getHttpMethod(),
                getBean().canGenerateJAXBUnmarshaller(), getResultPattern(), indent2);
        methodBody += indent+"} catch (Exception ex) {\n";
        methodBody += indent2+"ex.printStackTrace();\n";
        methodBody += indent+"}\n";
        return methodBody;
    }
    
    
Insert the Saas client call
    protected void insertSaasServiceAccessCode(boolean isInBlockthrows IOException {
        try {
            String code = "";
            if (isInBlock) {
                code = getCustomMethodBody();
            } else {
                code = "\nprivate String call" + getBean().getName() + "Service() {\n"// NOI18n
                code += getCustomMethodBody() + "\n";
                code += "return "+getResultPattern()+";\n";
                code += "}\n";
            }
            insert(codetrue);
        } catch (BadLocationException ex) {
            throw new IOException(ex.getMessage());
        }
    }
    protected void addImportsToTargetFile() throws IOException {
        List<Stringimports = new ArrayList<String>();
        imports.add(getBean().getSaasServicePackageName() + "." + getBean().getSaasServiceName());
            imports.add(getBean().getSaasServicePackageName() + "." + getBean().getAuthenticatorClassName());
        imports.add( + "." + );
        JavaUtil.addImportsToSource(getTargetSource(), imports);
    }
    
                new ParamFilter[]{.}));
        HttpMethodType httpMethod = getBean().getHttpMethod();
        
        if (httpMethod == . || httpMethod == .) {
            
            ParameterInfo contentTypeParam = Util.findParameter(getBean().getInputParameters(), .);
            Class contentType = InputStream.class;
            
            if (contentTypeParam == null) {
                params.add(new ParameterInfo(.String.class));
            } else {
                if (!contentTypeParam.isFixed() && !params.contains(contentTypeParam)) {
                    params.add(contentTypeParam);
                } else {
                    String value = Util.findParamValue(contentTypeParam);
                    if (value.equals("text/plain") || value.equals("application/xml") ||
                            value.equals("text/xml")) {     //NOI18N
                        contentType = String.class;
                    }
                }
            }
            params.add(new ParameterInfo(.contentType));
        }
        return params;
    }
    
            String indent) {
        if (indent == null) {
            indent = " ";
        }
        String paramDecl = "";
        for (ParameterInfo param : params) {
            String name = getVariableName(param.getName());
            String paramVal = Util.findParamValue(param);
            if (param.getType() != String.class) {
                paramDecl += indent + param.getType().getName() + " " + name + " = " + paramVal + ";\n";
            } else {
                if (paramVal != null) {
                    paramDecl += indent + "String " + name + " = \"" + paramVal + "\";\n";
                } else {
                    paramDecl += indent + "String " + name + " = null;\n";
                }
            }
        }
        return paramDecl;
    }
        String indent = "                 ";
        return getHeaderOrParameterDeclaration(paramsindent);
    }
    
        List<ParameterInfoparams = new ArrayList<ParameterInfo>();
                .));
                .));
        return params;
    }
        List<ParameterInfoparams = new ArrayList<ParameterInfo>();
        params.addAll(bean.filterParametersByAuth(bean.filterParameters(
                new ParamFilter[]{.})));
        return params;
    }
    
        return Collections.emptyList();
    }
    protected String getLoginArguments() {
        return "";
    }
    
    protected void createRestConnectionFile(Project projectthrows IOException {
        SourceGroup[] srcGrps = SourceGroupSupport.getJavaSourceGroups(project);
        String pkg = ;
        FileObject targetFolder = SourceGroupSupport.getFolderForPackage(srcGrps[0],pkg , true);
        JavaSourceHelper.createJavaSource(targetFolderpkg);
        String restResponseTemplate = ;
        JavaSource restResponseJS = JavaSourceHelper.createJavaSource(restResponseTemplatetargetFolderpkg);
    }
New to GrepCode? Check out our FAQ X