如何使函数首先在下面的代码上运行

问题描述 投票:0回答:1

[我有一个在另一个函数内部调用客户端函数的函数,并且我需要在其他函数之前运行它,我m a noob in java so I don对此不了解很多,这是调用客户端函数的那一行。

所以,主要问题是,我需要在所有代码之前运行此行,因此我尝试先放置但未运行

 callClientFunction("__jasperFechaAguarde", new Variant(url));

这里是函数,直到调用

protected void ebfJasperGenerateReport_copy(Variant jrxml, Variant exportFile, Variant paramsVar, Variant format, Variant update, Variant open, Variant connectionAdd) throws Exception {
    ebfJasperGenerateReport_copy(jrxml, exportFile, paramsVar, format, update, open, connectionAdd, Variant.VARIANT_NULL);
    }

    protected void ebfJasperGenerateReport_copy(Variant jrxml, Variant exportFile, Variant paramsVar, Variant format, Variant update, Variant open, Variant connectionAdd, Variant order) throws Exception {

    // Concatena caminho para o contexto do Webrun com o caminho relativo do
    // arquivo .jrxml ou absoluto passado como parâmetro
    if(new java.io.File(jrxml.getString()).isAbsolute()) {
    jrxml = new Variant(jrxml.getString());
    }else {
    jrxml = new Variant(wfr.util.WFRConfig.dir().toString() + java.io.File.separator + jrxml.getString());
    }

    // Gera uma URL que será utilizada caso o parâmetro "open" seja true
    String url = null;
    if (open.getBoolean()) {
    url = ebfRequestGetContextPath().getString() + "/" + exportFile.getString().replace("\\", "/");
    }

    // Concatena caminho para o contexto do Webrun com o caminho relativo do
    // arquivo de saída ou absoluto passado como parâmetro
    if(new java.io.File(exportFile.getString()).isAbsolute()) {
    exportFile = new Variant(exportFile.getString());
    }else {
    exportFile = new Variant(wfr.util.WFRConfig.dir().toString() + java.io.File.separator + exportFile.getString());
    }

    // Criar pastas caso não existam
    new java.io.File(org.apache.commons.io.FilenameUtils.getFullPathNoEndSeparator(
    exportFile.getString())).mkdirs();



    //Obtém o do Webrun para aplicar automaticamente o separadores decimais.
    Map < String, Object > map = new HashMap < String, Object > ();
    if (request != null) {
    java.util.Locale locale = wfr.util.Resources.getInstance(request).getLocale();
    if (paramsVar.getObject() != null) {
    map = (Map < String, Object > ) paramsVar.getObject();
    map.put(net.sf.jasperreports.engine.JRParameter.REPORT_LOCALE, locale);
    } else {
    map.put(net.sf.jasperreports.engine.JRParameter.REPORT_LOCALE, locale);
    }
    } else {
    if (paramsVar.getObject() != null) {
    map = (Map < String, Object > ) paramsVar.getObject();
    }
    }
    callClientFunction("__jasperFechaAguarde", new Variant(url));

我的问题是,如果我更改呼叫客户端功能,它将破坏程序,那么如何使它首先运行?

java jasper-reports
1个回答
0
投票

您可以使用库AspectJ来做到这一点。

© www.soinside.com 2019 - 2024. All rights reserved.