Hi Isomorphic,
I just got this error message (v9.1p_2014-05-25). Most likely it is related to my Relogin Window (because of the PasswordItem in the logs).
Eclipse error messages:
Chrome 35 error messages (deployed app, Developer Console):
My ReloginWindow is:
It's called in onModuleLoad with
For me, everything works, but I think you might like to know about the error.
Best regards,
Blama
I just got this error message (v9.1p_2014-05-25). Most likely it is related to my Relogin Window (because of the PasswordItem in the logs).
Eclipse error messages:
Code:
Uncaught JavaScript exception [ReferenceError: bubbleTheseKeys is not defined] in http://localhost:8080/myproj/myproj/sc/modules/ISC_Forms.js?isc_version=v9.1p_2014-05-25.js, line 1084
Code:
[ERROR] [myproj] - 17:39:55.814:KPR3:WARN:Log:ReferenceError: bubbleTheseKeys is not defined Stack from error.stack: FormItem.shouldStopKeyPressBubbling() @ myproj/sc/modules/ISC_Forms.js?isc_version=v9.1p_2014-05-25.js:1084 FormItem.handleKeyPress() @ myproj/sc/modules/ISC_Forms.js?isc_version=v9.1p_2014-05-25.js:1083 [a]MathFunction.invokeSuper() @ myproj/sc/modules/ISC_Core.js?isc_version=v9.1p_2014-05-25.js:273 [a]MathFunction.Super() @ myproj/sc/modules/ISC_Core.js?isc_version=v9.1p_2014-05-25.js:265 TextItem.handleKeyPress() @ myproj/sc/modules/ISC_Forms.js?isc_version=v9.1p_2014-05-25.js:1422 [c]EventHandler.bubbleEvent() @ myproj/sc/modules/ISC_Core.js?isc_version=v9.1p_2014-05-25.js:1381 [c]EventHandler.handleKeyPress() @ myproj/sc/modules/ISC_Core.js?isc_version=v9.1p_2014-05-25.js:1185 EventHandler._handleNativeKeyPress() @ myproj/sc/modules/ISC_Core.js?isc_version=v9.1p_2014-05-25.js:1182 [c]EventHandler.dispatch() @ myproj/sc/modules/ISC_Core.js?isc_version=v9.1p_2014-05-25.js:1454 anonymous() @ myproj/sc/modules/ISC_Core.js?isc_version=v9.1p_2014-05-25.js:73 unnamed() @
Chrome 35 error messages (deployed app, Developer Console):
Code:
16:41:27.355:INFO:Log:initialized 16:41:28.363:INFO:Log:isc.Page is loaded 17:53:12.050:KPR9:WARN:Log:ReferenceError: bubbleTheseKeys is not defined Stack from error.stack: PasswordItem.shouldStopKeyPressBubbling(<no args: exited>) @ ISC_Forms.js:1084:247 PasswordItem.handleKeyPress(<no args: exited>) @ ISC_Forms.js:1083:85 [a]Class._invokeSuper(<no args: exited>) @ ISC_Core.js:273:93 [a]Class._Super(<no args: exited>) @ ISC_Core.js:265:170 PasswordItem.handleKeyPress(<no args: exited>) @ ISC_Forms.js:1422:404 EventHandler._bubbleEvent(<no args: exited>) @ ISC_Core.js:1381:139 EventHandler._handleKeyPress(<no args: exited>) @ ISC_Core.js:1185:122 EventHandler.__handleNativeKeyPress(<no args: exited>) @ ISC_Core.js:1182:11 EventHandler._dispatch(_1=>[c]EventHandler.$kd(), _2=>[object KeyboardEvent]) @ ISC_Core.js:1454:155 HTMLDocument.eval(event=>[object KeyboardEvent]) @ [no file]:3:123
Code:
import java.util.HashMap; import java.util.Map; import com.lmscompany.lms.client.util.User; import com.smartgwt.client.rpc.RPCCallback; import com.smartgwt.client.rpc.RPCManager; import com.smartgwt.client.rpc.RPCRequest; import com.smartgwt.client.rpc.RPCResponse; import com.smartgwt.client.types.Alignment; import com.smartgwt.client.util.SC; import com.smartgwt.client.widgets.IButton; import com.smartgwt.client.widgets.Window; import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.events.SubmitValuesEvent; import com.smartgwt.client.widgets.form.events.SubmitValuesHandler; import com.smartgwt.client.widgets.form.fields.PasswordItem; import com.smartgwt.client.widgets.form.fields.TextItem; import com.smartgwt.client.widgets.form.validator.IsOneOfValidator; import com.smartgwt.client.widgets.layout.HLayout; public final class ReloginWindow extends Window { private DynamicForm loginform; public DynamicForm getLoginform() { return loginform; } public ReloginWindow() { setAutoCenter(true); setTitle("Relogin"); setShowCloseButton(false); setShowMinimizeButton(false); setShowMaximizeButton(false); setWidth(340); setIsModal(true); setShowModalMask(true); setHeight(130); loginform = new DynamicForm() { { setIsGroup(false); setAlign(Alignment.CENTER); setSaveOnEnter(true); } }; TextItem benutzernameTI = new TextItem("j_username", "Benutzername") { { setRequired(true); // Make sure that the relogin-form doesn't allow change of user setCanEdit(false); setDisabled(true); setValidators(new IsOneOfValidator() { { setList(new String[] { User.getUserLoginname() }); setErrorMessage("Bitte verwenden Sie den Loginnamen, den Sie auch beim Start der Anwendung verwendet haben!"); } }); } }; PasswordItem passwortPI = new PasswordItem("password_display", "Passwort") { { setRequired(true); } }; final IButton einloggenButton = new IButton("Re-Login") { { setWidth(100); addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { executeLogin(); } }); } }; final IButton beendenButton = new IButton("Beenden") { { setWidth(100); addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { User.logUserOut(); } }); } }; HLayout buttonsHL = new HLayout(10) { { setPadding(10); setMembers(einloggenButton, beendenButton); } }; loginform.setFields(benutzernameTI, passwortPI); loginform.addSubmitValuesHandler(new SubmitValuesHandler() { public void onSubmitValues(final SubmitValuesEvent submitValuesEvent) { executeLogin(); } }); addItem(loginform); addItem(buttonsHL); } private void executeLogin() { if (!loginform.validate()) return; String passwd = loginform.getValueAsString("password_display") + "salt"; for (int i = 1; i <= 999; i++) passwd = SHA1.calcSHA1(passwd); loginform.setValue("j_password", passwd); RPCRequest request = new RPCRequest() { { setActionURL("loginSuccessMarker.html"); } }; RPCManager.sendRequest(request); validateLogin(loginform.getValueAsString("j_username"), loginform.getValueAsString("j_password")); } private void validateLogin(String j_username, String j_password) { RPCRequest request = new RPCRequest(); request.setContainsCredentials(true); request.setActionURL("j_security_check"); request.setUseSimpleHttp(true); request.setShowPrompt(false); Map<String, String> params = new HashMap<String, String>(); params.put("j_username", j_username); params.put("j_password", j_password); request.setParams(params); RPCManager.sendRequest(request, new RPCCallback() { public void execute(RPCResponse response, Object rawData, RPCRequest request) { String data = String.valueOf(rawData); if (data.contains("invalidlogin")) { SC.warn("Ungültiger Benutzername und/oder Passwort. Bitte versuchen Sie erneut, sich anzumelden."); } else { RPCRequest reauthenticateUserRequest = new RPCRequest() { { setActionURL("ServletLogin"); } }; RPCManager.sendRequest(reauthenticateUserRequest, new RPCCallback() { public void execute(RPCResponse response, Object rawData, RPCRequest request) { User.setData(rawData.toString()); RPCManager.resendTransaction(); } }); ReloginWindow.this.hide(); } } }); } public void showWindow() { if ((!isDrawn()) || (!isVisible())) { loginform.clearValues(); loginform.setValue("j_username", User.getUserLoginname()); loginform.focusInItem("j_username"); redraw(); show(); } } }
Code:
RPCManager.setLoginRequiredCallback(new LoginRequiredCallback() { @Override public void loginRequired(int transactionNum, RPCRequest request, RPCResponse response) { if (windowRelogin == null) windowRelogin = new ReloginWindow(); windowRelogin.showWindow(); } });
Best regards,
Blama
Comment