You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by tv...@apache.org on 2012/10/10 02:06:49 UTC
svn commit: r1396427 - in /openejb/trunk/openejb/tomee:
tomee-plus-webapp/src/main/assembly/
tomee-webapp/src/main/java/org/apache/tomee/webapp/command/
tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/
tomee-webapp/src/main/java/org/apa...
Author: tveronezi
Date: Wed Oct 10 00:06:48 2012
New Revision: 1396427
URL: http://svn.apache.org/viewvc?rev=1396427&view=rev
Log:
https://issues.apache.org/jira/browse/TOMEE-447
Added:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/Login.java
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-console-sample.handlebars
Removed:
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/SampleScript.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Storage.js
Modified:
openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/assembly/war.xml
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/CommandSession.java
openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/ApplicationSocketConnection.java
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/Application.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationChannel.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationController.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationModel.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationTemplates.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-log.handlebars
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-toolbar.handlebars
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/I18N.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Log.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Obj.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Sequence.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationToolbarView.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/console.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/log.js
openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/index.html
openejb/trunk/openejb/tomee/tomee-webapp/src/test/java/org/apache/tomee/webapp/test/RunScriptTest.java
openejb/trunk/openejb/tomee/tomee-webapp/src/test/java/org/apache/tomee/webapp/test/TestCommandExecution.java
Modified: openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/assembly/war.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/assembly/war.xml?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/assembly/war.xml (original)
+++ openejb/trunk/openejb/tomee/tomee-plus-webapp/src/main/assembly/war.xml Wed Oct 10 00:06:48 2012
@@ -67,6 +67,7 @@
<include>**/*.png</include>
<include>**/*.js</include>
<include>**/*.html</include>
+ <include>**/*.handlebars</include>
<include>images/*.gif</include>
<include>lib/*.jar</include>
</includes>
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/CommandSession.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/CommandSession.java?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/CommandSession.java (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/CommandSession.java Wed Oct 10 00:06:48 2012
@@ -19,6 +19,7 @@ package org.apache.tomee.webapp.command;
public interface CommandSession {
+ boolean login(String user, String password);
Object get(String key);
void set(String key, Object value);
Added: openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/Login.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/Login.java?rev=1396427&view=auto
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/Login.java (added)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/command/impl/Login.java Wed Oct 10 00:06:48 2012
@@ -0,0 +1,43 @@
+/*
+ * 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.tomee.webapp.command.impl;
+
+import org.apache.tomee.webapp.command.Command;
+import org.apache.tomee.webapp.command.CommandSession;
+
+import java.util.Map;
+
+public class Login implements Command {
+
+ @Override
+ public Object execute(CommandSession session, Map<String, Object> params) throws Exception {
+ final String user = (String) params.get("user");
+ final String pass = (String) params.get("pass");
+ final boolean result = session.login(user, pass);
+
+ if (result) {
+ session.set("user", user);
+ session.set("pass", pass);
+ } else {
+ session.set("user", null);
+ session.set("pass", null);
+ }
+
+ return result;
+ }
+}
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/ApplicationSocketConnection.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/ApplicationSocketConnection.java?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/ApplicationSocketConnection.java (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/java/org/apache/tomee/webapp/servlet/ApplicationSocketConnection.java Wed Oct 10 00:06:48 2012
@@ -23,12 +23,16 @@ import org.apache.catalina.websocket.WsO
import org.apache.tomee.webapp.command.CommandExecutor;
import org.apache.tomee.webapp.command.CommandSession;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import java.nio.CharBuffer;
import java.util.HashMap;
import java.util.Map;
+import java.util.Properties;
public class ApplicationSocketConnection extends StreamInbound implements CommandSession {
private Gson gson = new Gson();
@@ -71,6 +75,21 @@ public class ApplicationSocketConnection
}
@Override
+ public boolean login(String user, String password) {
+ Properties props = new Properties();
+ props.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory");
+ props.put("java.naming.provider.url", "http://127.0.0.1:8080/openejb/ejb");
+ props.setProperty(Context.SECURITY_PRINCIPAL, user);
+ props.setProperty(Context.SECURITY_CREDENTIALS, password);
+ try {
+ new InitialContext(props);
+ return true;
+ } catch (NamingException e) {
+ return false;
+ }
+ }
+
+ @Override
public Object get(String key) {
return this.attributes.get(key);
}
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/Application.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/Application.js?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/Application.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/Application.js Wed Oct 10 00:06:48 2012
@@ -26,8 +26,3 @@ var TOMEE = {};
$(document).ready(function () {
TOMEE.ApplicationController();
});
-
-TOMEE.baseURL = function (url) {
- return '/tomee/' + url;
-};
-
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationChannel.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationChannel.js?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationChannel.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationChannel.js Wed Oct 10 00:06:48 2012
@@ -28,6 +28,8 @@
*/
TOMEE.ApplicationChannel = (function () {
+ var channels = {};
+
function createChannel(channelName) {
"use strict";
@@ -122,10 +124,6 @@ TOMEE.ApplicationChannel = (function ()
};
}
- ;
-
- var channels = {};
-
function getChannel(name) {
if (!channels[name]) {
channels[name] = createChannel(name);
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationController.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationController.js?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationController.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationController.js Wed Oct 10 00:06:48 2012
@@ -29,27 +29,35 @@ TOMEE.ApplicationController = function (
view.render();
model.sendMessage({
- cmdName: 'GetLog',
- aNumber: 1
+ cmdName:'GetLog',
+ aNumber:1
});
- channel.bind('ui-actions', 'execute-script', function(data) {
+ channel.bind('ui-actions', 'execute-script', function (data) {
model.sendMessage({
- cmdName: 'RunScript',
- scriptCode: data.text
+ cmdName:'RunScript',
+ scriptCode:data.text
+ });
+ });
+
+ channel.bind('ui-actions', 'login-btn-click', function (data) {
+ model.sendMessage({
+ cmdName:'Login',
+ user:data.user,
+ pass:data.pass
});
});
channel.bind('ui-actions', 'log-file-selected', function (param) {
model.sendMessage({
- cmdName: 'GetLog',
- file: param.file
+ cmdName:'GetLog',
+ file:param.file
});
});
- channel.bind('server-callback', 'RunScript', function(data) {
+ channel.bind('server-command-callback', 'RunScript', function (data) {
$.meow({
- message: TOMEE.I18N.get('application.console.done')
+ message:TOMEE.I18N.get('application.console.done')
});
});
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationModel.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationModel.js?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationModel.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationModel.js Wed Oct 10 00:06:48 2012
@@ -87,9 +87,14 @@ TOMEE.ApplicationModel = function () {
var data = JSON.parse(message.data);
if (data.cmdName) {
// Commands callback calls
- channel.send('server-callback', data.cmdName, {
- data:data
- });
+ channel.send('server-command-callback', data.cmdName, data);
+
+ if (data.success) {
+ channel.send('server-command-callback-success', data.cmdName, data);
+ } else {
+ channel.send('server-command-callback-error', data.cmdName, data);
+ }
+
} else {
channel.send('server-callback', 'socket-message-received', {
data:data
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationTemplates.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationTemplates.js?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationTemplates.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/ApplicationTemplates.js Wed Oct 10 00:06:48 2012
@@ -32,7 +32,6 @@ TOMEE.ApplicationTemplates = (function (
}
}
);
-
});
return {
@@ -48,6 +47,7 @@ TOMEE.ApplicationTemplates = (function (
'application',
'application-toolbar',
'application-tab-console',
+ 'application-tab-console-sample',
'application-tab-console-output-line',
'application-tab-log',
'application-tab-log-file',
Added: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-console-sample.handlebars
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-console-sample.handlebars?rev=1396427&view=auto
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-console-sample.handlebars (added)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-console-sample.handlebars Wed Oct 10 00:06:48 2012
@@ -0,0 +1,14 @@
+// Sample script
+var myImports = new JavaImporter(
+ java.util.Properties,
+ javax.naming.InitialContext
+);
+
+with (myImports) {
+ var p = new Properties();
+ p.put("java.naming.factory.initial", "org.apache.openejb.client.LocalInitialContextFactory");
+
+ var ctx = new InitialContext(p);
+ var myBean = ctx.lookup("openejb/DeployerBusinessRemote");
+ myBean.getUniqueFile();
+}
\ No newline at end of file
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-log.handlebars
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-log.handlebars?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-log.handlebars (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-tab-log.handlebars Wed Oct 10 00:06:48 2012
@@ -4,11 +4,16 @@
<div class="navbar-inner">
<div class="container" style="width: auto; padding: 0 20px;">
<ul class="nav pull-right">
- <li class="dropdown open">
- <a href="#" class="dropdown-toggle"
- data-toggle="dropdown">
- <span class="log-file-name">{{i18n "application.log.select.a.file"}}</span></a>
- <ul class="dropdown-menu tomee-log-files"></ul>
+ <li class="dropdown">
+ <div class="btn-group">
+ <button class="btn btn-primary">
+ <span class="log-file-name">{{i18n "application.log.select.a.file"}}</span>
+ </button>
+ <button class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
+ <span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu tomee-log-files"></ul>
+ </div>
</li>
</ul>
</div>
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-toolbar.handlebars
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-toolbar.handlebars?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-toolbar.handlebars (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/templates/application-toolbar.handlebars Wed Oct 10 00:06:48 2012
@@ -1,21 +1,25 @@
- <div class="navbar navbar-inverse navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container-fluid">
- <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </a>
- <a class="brand" href="#">{{i18n "application.name"}}</a>
- <div class="nav-collapse collapse">
- <p class="navbar-text pull-right">
- Logged in as <a href="#" class="navbar-link">Username</a>
- </p>
+<div class="navbar navbar-fixed-top">
+ <div class="navbar-inner">
+ <div class="container" style="width: auto; padding: 0 20px;">
+ <a class="brand" href="#">{{i18n "application.name"}}</a>
<ul class="nav">
- <li class="toolbar-item active console"><a href="#">{{i18n "application.console"}}</a></li>
- <li class="toolbar-item log"><a href="#">{{i18n "application.log"}}</a></li>
+ <li class="toolbar-item active console"><a href="#">{{i18n "application.console"}}</a></li>
+ <li class="toolbar-item log"><a href="#">{{i18n "application.log"}}</a></li>
+ </ul>
+ <ul class="nav pull-right">
+ <li class="dropdown">
+ <a class="dropdown-toggle tomee-user-name" href="#" data-toggle="dropdown">{{i18n "application.sign.in"}}</a>
+ <div class="dropdown-menu" style="padding: 15px; padding-bottom: 0px;">
+ <form>
+ <input type="text" class="span3 tomee-login" placeholder="{{i18n 'application.log.in'}}">
+ <input type="password" class="span3 tomee-password" placeholder="{{i18n 'application.password'}}">
+ <button type="button" class="btn btn-primary pull-right tomee-login-btn">
+ {{i18n "application.sign.in"}}
+ </button>
+ </form>
+ </div>
+ </li>
</ul>
- </div><!--/.nav-collapse -->
</div>
- </div>
- </div>
\ No newline at end of file
+ </div>
+</div>
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/I18N.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/I18N.js?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/I18N.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/I18N.js Wed Oct 10 00:06:48 2012
@@ -22,17 +22,21 @@ TOMEE.I18N = (function () {
var messages = {
'application.name':'Apache TomEE',
- 'ms': 'ms',
+ 'ms':'ms',
'application.console':'Console',
- 'application.console.run': 'Execute',
- 'application.console.clear.output': 'Clear output',
- 'application.console.done': 'Script executed.',
- 'application.console.run.time': 'Time',
- 'application.console.run.output.empty': 'Empty',
+ 'application.console.run':'Execute',
+ 'application.console.clear.output':'Clear output',
+ 'application.console.done':'Script executed.',
+ 'application.console.run.time':'Time',
+ 'application.console.run.output.empty':'Empty',
'application.log':'Log',
- 'application.log.select.a.file': 'Select a file',
+ 'application.log.select.a.file':'Select a file',
+
+ 'application.sign.in':'Sign In',
+ 'application.log.in':'Login',
+ 'application.password':'Password',
'dummy':'dummy'
};
@@ -46,7 +50,7 @@ TOMEE.I18N = (function () {
return result;
};
- Handlebars.registerHelper('i18n', function(key) {
+ Handlebars.registerHelper('i18n', function (key) {
return get(key);
});
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Log.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Log.js?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Log.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Log.js Wed Oct 10 00:06:48 2012
@@ -14,31 +14,30 @@
* 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.
- "use strict";
+ "use strict";
*/
-(function() {
+(function () {
var winConsole = window.console,
- // These are the available methods.
- // Add more to this list if necessary.
+ // These are the available methods. Add more to this list if necessary.
consoleEmpty = {
- error: function() {},
- log: function() {}
+ error:function () {},
+ log:function () {}
},
- consoleProxy = (function() {
+ consoleProxy = (function () {
// This object wraps the "window.console"
var consoleWrapper = {};
function buildMethodProxy(key) {
if (winConsole[key] && typeof winConsole[key] === 'function') {
- consoleWrapper[key] = function() {
+ consoleWrapper[key] = function () {
var cFunc = winConsole[key];
cFunc.call(winConsole, arguments);
};
} else {
- consoleWrapper[key] = function() {
+ consoleWrapper[key] = function () {
consoleEmpty[key]();
};
}
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Obj.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Obj.js?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Obj.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Obj.js Wed Oct 10 00:06:48 2012
@@ -19,7 +19,7 @@
TOMEE.utils = (function () {
- var isPrimitive = function (value) {
+ function isPrimitive(value) {
if ('number' === (typeof value)) {
return true;
}
@@ -33,9 +33,9 @@ TOMEE.utils = (function () {
}
return false;
- };
+ }
- var getSafe = function (obj, defaultValue) {
+ function getSafe(obj, defaultValue) {
if (obj instanceof Function) {
try {
return obj();
@@ -49,9 +49,9 @@ TOMEE.utils = (function () {
return obj;
}
return defaultValue;
- };
+ }
- var toArray = function (obj, objBuilder) {
+ function toArray(obj, objBuilder) {
if (!obj) {
return [];
}
@@ -66,9 +66,9 @@ TOMEE.utils = (function () {
}
return result;
- };
+ }
- var getArray = function (obj) {
+ function getArray(obj) {
if (!obj) {
return [];
}
@@ -78,30 +78,30 @@ TOMEE.utils = (function () {
}
return [obj];
- };
+ }
- var getObject = function (obj) {
+ function getObject(obj) {
if (!obj) {
return {};
}
return obj;
- };
+ }
- var stringFormat = function (str, values) {
+ function stringFormat(str, values) {
var result = str;
for (var key in values) {
var reg = new RegExp("\\{" + key + "\\}", "gm");
result = result.replace(reg, values[key]);
}
return result;
- };
+ }
- var forEach = function (value, callback) {
+ function forEach(value, callback) {
var arr = getArray(value);
- for(var i = 0; i < arr.length; i++) {
+ for (var i = 0; i < arr.length; i++) {
callback(arr[i], i);
}
- };
+ }
return {
isPrimitive:isPrimitive,
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Sequence.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Sequence.js?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Sequence.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/util/Sequence.js Wed Oct 10 00:06:48 2012
@@ -21,7 +21,7 @@ TOMEE.Sequence = (function () {
var sequenceMap = {};
- var next = function (prefix) {
+ function next(prefix) {
var myPrefix = prefix;
if (!myPrefix || myPrefix === '') {
myPrefix = 'TOMEE';
@@ -35,9 +35,9 @@ TOMEE.Sequence = (function () {
sequenceMap[myPrefix] = sequence + 1;
return myPrefix + '-' + sequence;
- };
+ }
return {
- next: next
+ next:next
};
})();
\ No newline at end of file
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationToolbarView.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationToolbarView.js?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationToolbarView.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationToolbarView.js Wed Oct 10 00:06:48 2012
@@ -22,25 +22,42 @@ TOMEE.ApplicationToolbarView = function
var channel = TOMEE.ApplicationChannel,
el = $(TOMEE.ApplicationTemplates.getValue('application-toolbar', {}));
- (function(keys) {
- TOMEE.utils.forEach(keys, function(key) {
- el.find('.' + key).bind('click', (function() {
+ (function (keys) {
+ TOMEE.utils.forEach(keys, function (key) {
+ el.find('.' + key).bind('click', (function () {
updateSelected(key);
}));
});
})(['home', 'console', 'log']);
- var updateSelected = function(key) {
+ el.find('.tomee-login-btn').on('click', function () {
+ var user = el.find('.tomee-login').val(),
+ pass = el.find('.tomee-password').val(),
+ btn = el.find('.tomee-login-btn');
+
+ channel.send('ui-actions', 'login-btn-click', {
+ user:user,
+ pass:pass
+ });
+ btn.prop('disabled', true);
+ });
+
+ channel.bind('server-command-callback', 'Login', function (params) {
+ var btn = el.find('.tomee-login-btn');
+ btn.prop('disabled', false);
+ });
+
+ var updateSelected = function (key) {
el.find('.toolbar-item').removeClass('active');
el.find('.' + key).addClass('active');
channel.send('ui-actions', 'toolbar-click', {
- key: key
+ key:key
});
};
- return {
+ return {
getEl:function () {
return el;
}
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/ApplicationView.js Wed Oct 10 00:06:48 2012
@@ -71,7 +71,7 @@ TOMEE.ApplicationView = function () {
channel.send('ui-actions', 'container-resized', {
containerHeight:containerHeight,
containerWidth:containerWidth,
- toolbarHeight: toolbarHeight
+ toolbarHeight:toolbarHeight
});
}
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/console.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/console.js?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/console.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/console.js Wed Oct 10 00:06:48 2012
@@ -24,6 +24,9 @@ TOMEE.ApplicationTabConsole = function (
codeArea = null;
container.find('.tomee-execute-btn').on('click', function () {
+ var btn = container.find('.tomee-execute-btn');
+ btn.prop('disabled', true);
+
channel.send('ui-actions', 'execute-script', {
text:codeArea.getValue()
});
@@ -42,15 +45,17 @@ TOMEE.ApplicationTabConsole = function (
consoleOutput.height(outputHeight);
});
- channel.bind('server-callback', 'RunScript', function (params) {
- var consoleOutput = container.find('.tomee-console-output'),
+ channel.bind('server-command-callback', 'RunScript', function (data) {
+ var btn = container.find('.tomee-execute-btn'),
+ consoleOutput = container.find('.tomee-console-output'),
newLineData = {
- time: params.data.timeSpent,
- output: params.data.output
+ time:data.timeSpent,
+ output:data.output
},
newLine = $(TOMEE.ApplicationTemplates.getValue(
'application-tab-console-output-line', newLineData));
+ btn.prop('disabled', false);
consoleOutput.prepend(newLine);
});
@@ -62,7 +67,7 @@ TOMEE.ApplicationTabConsole = function (
if (!codeArea) {
codeArea = CodeMirror(container.children('.tomee-code').get(0), {
lineNumbers:true,
- value:'// Add your code here.\n'
+ value:TOMEE.ApplicationTemplates.getValue('application-tab-console-sample', {})
});
}
codeArea.focus();
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/log.js
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/log.js?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/log.js (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/app/js/view/panels/log.js Wed Oct 10 00:06:48 2012
@@ -20,7 +20,8 @@ TOMEE.ApplicationTabLog = function () {
"use strict";
var channel = TOMEE.ApplicationChannel,
- container = $(TOMEE.ApplicationTemplates.getValue('application-tab-log', {}));
+ container = $(TOMEE.ApplicationTemplates.getValue('application-tab-log', {})),
+ selectedFile = null;
channel.bind('ui-actions', 'container-resized', function (data) {
var consoleOutput = container.find('.tomee-log-output'),
@@ -30,15 +31,11 @@ TOMEE.ApplicationTabLog = function () {
consoleOutput.height(outputHeight);
});
- channel.bind('server-callback', 'GetLog', function (params) {
- if (!params.data.success) {
- return;
- }
-
+ channel.bind('server-command-callback-success', 'GetLog', function (data) {
var logFiles = container.find('.tomee-log-files');
logFiles.empty();
- TOMEE.utils.forEach(params.data.output.files, function (value) {
+ TOMEE.utils.forEach(data.output.files, function (value) {
var file = $(TOMEE.ApplicationTemplates.getValue('application-tab-log-file', {
file:value
}));
@@ -50,16 +47,29 @@ TOMEE.ApplicationTabLog = function () {
logFiles.append(file);
});
- if (params.data.output.log) {
- setFileName(params.data.output.log.name);
+ if (data.output.log) {
+ setFileName(data.output.log.name);
var lines = container.find('.tomee-log-output');
lines.empty();
lines.append($(TOMEE.ApplicationTemplates.getValue('application-tab-log-lines', {
- lines: params.data.output.log.lines
+ lines:data.output.log.lines
})));
+
+ lines.animate({
+ scrollTop: lines.prop("scrollHeight") - lines.height()
+ }, 500);
}
});
+ container.find('.log-file-name').on('click', function() {
+ if(!selectedFile) {
+ return;
+ }
+ channel.send('ui-actions', 'log-file-selected', {
+ file:selectedFile
+ });
+ });
+
channel.bind('ui-actions', 'log-file-selected', function (param) {
setFileName(param.file);
});
@@ -67,6 +77,7 @@ TOMEE.ApplicationTabLog = function () {
function setFileName(name) {
var el = container.find('.log-file-name');
el.html(name);
+ selectedFile = name;
}
return {
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/index.html
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/index.html?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/index.html (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/main/webapp/index.html Wed Oct 10 00:06:48 2012
@@ -38,10 +38,8 @@
<script src="app/js/util/Log.js"></script>
<script src="app/js/util/Obj.js"></script>
<script src="app/js/util/Sequence.js"></script>
- <script src="app/js/util/Storage.js"></script>
<script src="app/js/ApplicationTemplates.js"></script>
-
<script src="app/js/ApplicationChannel.js"></script>
<script src="app/js/ApplicationController.js"></script>
<script src="app/js/ApplicationModel.js"></script>
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/test/java/org/apache/tomee/webapp/test/RunScriptTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/test/java/org/apache/tomee/webapp/test/RunScriptTest.java?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/test/java/org/apache/tomee/webapp/test/RunScriptTest.java (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/test/java/org/apache/tomee/webapp/test/RunScriptTest.java Wed Oct 10 00:06:48 2012
@@ -41,6 +41,11 @@ public class RunScriptTest {
final RunScript shell = new RunScript();
final Object result = shell.execute(new CommandSession() {
@Override
+ public boolean login(String user, String password) {
+ return false;
+ }
+
+ @Override
public Object get(String key) {
return null;
}
Modified: openejb/trunk/openejb/tomee/tomee-webapp/src/test/java/org/apache/tomee/webapp/test/TestCommandExecution.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-webapp/src/test/java/org/apache/tomee/webapp/test/TestCommandExecution.java?rev=1396427&r1=1396426&r2=1396427&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-webapp/src/test/java/org/apache/tomee/webapp/test/TestCommandExecution.java (original)
+++ openejb/trunk/openejb/tomee/tomee-webapp/src/test/java/org/apache/tomee/webapp/test/TestCommandExecution.java Wed Oct 10 00:06:48 2012
@@ -18,7 +18,6 @@
package org.apache.tomee.webapp.test;
import com.google.gson.Gson;
-import junit.framework.Assert;
import org.apache.catalina.websocket.WsOutbound;
import org.apache.tomee.webapp.servlet.ApplicationSocketConnection;
import org.junit.Test;