Migrating from 1.4.0 to 1.5.2 errors

66 views
Skip to first unread message

Олег Рачаев

unread,
Apr 26, 2017, 1:50:42 AM4/26/17
to Mvp4g
I receive error after migrating from 1.4.0 to 1.5.2:

[ERROR] history : Encountered a reference to unknown element 'null'
com.mvp4g.rebind.exception.UnknownConfigurationElementException: history : Encountered a reference to unknown element 'null'
at com.mvp4g.rebind.config.Mvp4gConfiguration.getElement(Mvp4gConfiguration.java:2073)
at com.mvp4g.rebind.config.Mvp4gConfiguration.validateEvents(Mvp4gConfiguration.java:1706)
at com.mvp4g.rebind.config.Mvp4gConfiguration.load(Mvp4gConfiguration.java:247)
at com.mvp4g.rebind.Mvp4gGenerator.create(Mvp4gGenerator.java:146)
at com.mvp4g.rebind.Mvp4gGenerator.generateIncrementally(Mvp4gGenerator.java:110)
at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:739)
at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:103)
at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:78)
at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:262)
at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:251)
at com.google.gwt.dev.PrecompilationContextCreator$1.getAllPossibleRebindAnswers(PrecompilationContextCreator.java:86)
at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.createStaticRebindExpression(UnifyAst.java:519)
at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.createRebindExpression(UnifyAst.java:487)
at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.maybeHandleMagicMethodCall(UnifyAst.java:415)
at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.visit(UnifyAst.java:402)
at com.google.gwt.dev.jjs.ast.JMethodCall.traverse(JMethodCall.java:265)
at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:118)
at com.google.gwt.dev.jjs.ast.JCastOperation.traverse(JCastOperation.java:72)
at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:118)
at com.google.gwt.dev.jjs.ast.JCastOperation.traverse(JCastOperation.java:72)
at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:118)
at com.google.gwt.dev.jjs.ast.JBinaryOperation.traverse(JBinaryOperation.java:89)
at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:118)
at com.google.gwt.dev.jjs.ast.JExpressionStatement.traverse(JExpressionStatement.java:42)
at com.google.gwt.dev.jjs.ast.JModVisitor$ListContext.traverse(JModVisitor.java:88)
at com.google.gwt.dev.jjs.ast.JModVisitor.acceptWithInsertRemove(JModVisitor.java:331)
at com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.java:92)
at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:139)
at com.google.gwt.dev.jjs.ast.JIfStatement.traverse(JIfStatement.java:53)
at com.google.gwt.dev.jjs.ast.JModVisitor$ListContext.traverse(JModVisitor.java:88)
at com.google.gwt.dev.jjs.ast.JModVisitor.acceptWithInsertRemove(JModVisitor.java:331)
at com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.java:92)
at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:139)
at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:135)
at com.google.gwt.dev.jjs.ast.JMethodBody.traverse(JMethodBody.java:83)
at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
at com.google.gwt.dev.jjs.ast.JMethod.visitChildren(JMethod.java:786)
at com.google.gwt.dev.jjs.ast.JMethod.traverse(JMethod.java:778)
at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
at com.google.gwt.dev.jjs.impl.UnifyAst.mainLoop(UnifyAst.java:1401)
at com.google.gwt.dev.jjs.impl.UnifyAst.exec(UnifyAst.java:896)
at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.unifyJavaAst(JavaToJavaScriptCompiler.java:1410)
at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.constructJavaAst(JavaToJavaScriptCompiler.java:1222)
at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:1140)
at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:255)
at com.google.gwt.dev.Precompile.precompile(Precompile.java:255)
at com.google.gwt.dev.Precompile.precompile(Precompile.java:202)
at com.google.gwt.dev.Precompile.precompile(Precompile.java:143)
at com.google.gwt.dev.Compiler.compile(Compiler.java:204)
at com.google.gwt.dev.Compiler.compile(Compiler.java:155)
at com.google.gwt.dev.Compiler.compile(Compiler.java:144)
at com.google.gwt.dev.Compiler$1.run(Compiler.java:118)
at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:55)
at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:50)
at com.google.gwt.dev.Compiler.main(Compiler.java:125)

Олег Рачаев

unread,
Apr 26, 2017, 2:04:18 AM4/26/17
to Mvp4g
I've tried 1.5.1 - error still presents

1.5.0 - WHERE IS NO ERROR

Frank Hossfeld

unread,
Apr 26, 2017, 2:08:38 AM4/26/17
to Mvp4g
To dig into this error, set the logLevel to TRACE and look for "ERROR" in the console output of the compile. I suggest, that there are errors before.

Олег Рачаев

unread,
Apr 26, 2017, 3:20:53 AM4/26/17
to Mvp4g
I didn't found any other errors. I've attached compille log.

среда, 26 апреля 2017 г., 10:08:38 UTC+4 пользователь Frank Hossfeld написал:
error_compile_mvp4g_1_5_2.txt

Frank Hossfeld

unread,
Apr 26, 2017, 3:45:06 AM4/26/17
to Mvp4g
Can you provide the Module interface, the history converter and the eventbus.

Олег Рачаев

unread,
Apr 26, 2017, 5:10:40 AM4/26/17
to Mvp4g
history converters are absent

IRazReportsModule.java:

package nipi.raz4rn.client.mvp.reportsModule;

import com.mvp4g.client.Mvp4gModule;

public interface IRazReportsModule extends Mvp4gModule {

}

IRazReportsEventBus.java:
package nipi.raz4rn.client.mvp.reportsModule;

import com.mvp4g.client.annotation.Debug;
import com.mvp4g.client.annotation.Event;
import com.mvp4g.client.annotation.Events;
import com.mvp4g.client.annotation.Start;
import com.mvp4g.client.event.EventBus;

import nipi.raz4rn.client.mvp.api.IRazEventBus.SpravType;

@Debug
@Events(startPresenter = EntityReportPresenter.class, module = IRazReportsModule.class)
public interface IRazReportsEventBus extends EventBus {

    @Start
    @Event(handlers = EntityReportPresenter.class)
    public void start();
    
    @Event(handlers = EntityReportPresenter.class)
    public void showEntityReport(SpravType spravType);
}

Олег Рачаев

unread,
Apr 26, 2017, 5:12:26 AM4/26/17
to Mvp4g
EntityReportPresenter.java:
package nipi.raz4rn.client.mvp.reportsModule;

import com.google.gwt.core.shared.GWT;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.user.client.History;
import com.mvp4g.client.annotation.Event;
import com.mvp4g.client.annotation.Presenter;
import com.mvp4g.client.presenter.BasePresenter;

import nipi.raz4rn.client.Raz4rnApp;
import nipi.raz4rn.client.Raz4rnApp.HistoryToken;
import nipi.raz4rn.client.mvp.api.IRazEventBus.SpravType;

@Presenter(view = EntityReportView.class)
public class EntityReportPresenter extends BasePresenter<IEntityReportView, IRazReportsEventBus> implements IEntityReportPresenter {

    private static HandlerRegistration historyValueChangeHandler;

    public static String URL_PARAM_ENTITY_SPRAV_TYPE = "sprav_type";
    public static String URL_PARAM_ENTITY_ID = "id";

    public void bind() {
        GWT.log("EntityReportPresenter.bind()");
        historyValueChangeHandler = History.addValueChangeHandler(new ValueChangeHandler<String>() {

            @Override
            public void onValueChange(ValueChangeEvent<String> event) {
                GWT.log("EntityReportPresenter:handle history token");
                String historyToken = event.getValue();
                processHistoryToken(historyToken);
            }

        });

    }

    private void processHistoryToken(String historyToken) {
        GWT.log("processHistoryToken(" + historyToken + ")");
        if (historyToken != null && historyToken.toUpperCase().startsWith(HistoryToken.REPORTS.name())) {
            // go to reports module
            Raz4rnApp.createAndShowReports();
            //TODO set contents 
        }
    }

    public void onShowEntityReport(SpravType spravType) {
    }
    @Event
    public void onStart() {
        GWT.log("EntityReportPresenter.start()");
        processHistoryToken(History.getToken());
    }

}

Frank Hossfeld

unread,
Apr 26, 2017, 8:04:04 AM4/26/17
to Mvp4g
Does your main module have History implemented?

Олег Рачаев

unread,
Apr 26, 2017, 8:35:16 AM4/26/17
to Mvp4g
No. I use original History class of GWT to fire/handle history changes.

среда, 26 апреля 2017 г., 16:04:04 UTC+4 пользователь Frank Hossfeld написал:

Frank Hossfeld

unread,
Apr 27, 2017, 1:14:28 AM4/27/17
to Mvp4g
Using the original History class might be the problem. I will do some tests and come back to you.

Frank Hossfeld

unread,
Apr 27, 2017, 1:21:46 PM4/27/17
to Mvp4g
It looks like that there is a problem with mvp4g applications that does not use mvp4g history mechanism. I will dick into it and come back to you. 

It might be necessary to create a fix.

Are you willing to test a potential SNAPSHOT?

Олег Рачаев

unread,
Apr 27, 2017, 10:06:13 PM4/27/17
to Mvp4g
Thanks. I will test snapshot.

четверг, 27 апреля 2017 г., 21:21:46 UTC+4 пользователь Frank Hossfeld написал:

Frank Hossfeld

unread,
May 5, 2017, 10:52:12 AM5/5/17
to Mvp4g
I created a Snapshot. It can be downloaded from here:


Please test.

Олег Рачаев

unread,
May 10, 2017, 8:22:37 AM5/10/17
to Mvp4g
I've tested and attached compile error.

пятница, 5 мая 2017 г., 18:52:12 UTC+4 пользователь Frank Hossfeld написал:
error_compile_mvp4g_1_3_5-SNAPSHOT.txt

Frank Hossfeld

unread,
May 10, 2017, 9:00:08 AM5/10/17
to Mvp4g
Thanks! Which GWT version are you using?

Олег Рачаев

unread,
May 10, 2017, 11:49:21 PM5/10/17
to Mvp4g
GWT 2.8.0
GIN 2.1.2

среда, 10 мая 2017 г., 17:00:08 UTC+4 пользователь Frank Hossfeld написал:

Frank Hossfeld

unread,
May 12, 2017, 2:41:08 AM5/12/17
to Mvp4g
Please remove the gwt-unitcache, clean the brwoser cache, etc and try it again. 

Олег Рачаев

unread,
May 15, 2017, 12:41:29 AM5/15/17
to Mvp4g
It didn't help

пятница, 12 мая 2017 г., 10:41:08 UTC+4 пользователь Frank Hossfeld написал:

Frank Hossfeld

unread,
May 15, 2017, 12:09:30 PM5/15/17
to Mvp4g
I'll do some more tests and come back to you.
Reply all
Reply to author
Forward
0 new messages