Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Unified Diff: client/fling/src/java/core/com/google/dart/fling/Environment.java

Issue 9314025: Remove fling, deftserver (used only by fling), and commons-codec (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: client/fling/src/java/core/com/google/dart/fling/Environment.java
===================================================================
--- client/fling/src/java/core/com/google/dart/fling/Environment.java (revision 3853)
+++ client/fling/src/java/core/com/google/dart/fling/Environment.java (working copy)
@@ -1,147 +0,0 @@
-// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-package com.google.dart.fling;
-
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.net.JarURLConnection;
-import java.net.URL;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.deftserver.io.IOLoop;
-import org.deftserver.io.timeout.Timeout;
-import org.deftserver.web.AsyncCallback;
-import org.mozilla.javascript.Context;
-import org.mozilla.javascript.ScriptableObject;
-
-import com.google.dart.CompileService;
-
-public class Environment {
-
- private static URL getEnvironmentJavaScriptResource() {
- return Environment.class.getResource("environment.js");
- }
-
- public interface Destructor {
- void deallocate();
- }
-
- public enum Status {
- Exit, Refresh
- }
-
- private static ThreadLocal<Environment> instance = new ThreadLocal<Environment>();
-
- private Set<Destructor> destructors = new HashSet<Destructor>();
-
- public static Environment create(CompileService compileService) throws IOException,
- IllegalAccessException, InstantiationException, InvocationTargetException {
- final Environment env = newEnvironment(compileService);
- instance.set(env);
- return env;
- }
-
- public static Environment get() {
- assert instance.get() != null;
- return instance.get();
- }
-
- public static void goForth() {
- IOLoop.INSTANCE.start();
- }
-
- public static String getInstallPath() throws IOException {
- final File jarFile = new File(
- ((JarURLConnection) getEnvironmentJavaScriptResource().openConnection())
- .getJarFileURL().getFile());
- // fling.jar is in $root/runtime/fling.jar
- return jarFile.getParentFile().getParent();
- }
-
- private static Environment newEnvironment(CompileService compileService) throws IOException,
- IllegalAccessException, InstantiationException, InvocationTargetException {
- final Context context = Context.enter();
- // TODO(knorton): Run interpreted for now to avoid exceeding 64k bytecode
- // limit.
- context.setOptimizationLevel(-1);
- final ScriptableObject global = context.initStandardObjects();
-
- global.defineFunctionProperties(
- new String[] {
- "print",
- "goForth",
- "refresh",
- "getInstallPath" },
- Environment.class,
- ScriptableObject.DONTENUM);
-
- final Environment env = new Environment(context, global, compileService);
-
- // Setup modules.
- Http.setup(env);
-
- return env;
- }
-
- public static void print(String message) {
- System.out.print(message);
- }
-
- public static void refresh() {
- IOLoop.INSTANCE.addTimeout(new Timeout(0, new AsyncCallback() {
- @Override
- public void onCallback() {
- final Environment env = Environment.get();
- env.status = Status.Refresh;
- for (Destructor destructor : env.destructors) {
- destructor.deallocate();
- }
- IOLoop.INSTANCE.stop();
- }
- }));
- }
-
- private Status status = Status.Exit;
-
- private final Context context;
-
- private final ScriptableObject global;
-
- private final CompileService compileService;
-
- private Environment(Context context, ScriptableObject global, CompileService compileService) {
- this.context = context;
- this.global = global;
- this.compileService = compileService;
- }
-
- public Status execute(String javaScript) {
- // TODO(knorton): Give the source a name.
- context.evaluateString(global, javaScript, "<app>", 0, null);
- return status;
- }
-
- public CompileService getCompileService() {
- return compileService;
- }
-
- public Context getContext() {
- return context;
- }
-
- public ScriptableObject getGlobal() {
- return global;
- }
-
- public void register(Destructor destructor) {
- destructors.add(destructor);
- }
-
- public void destroy() {
- Context.exit();
- }
-}

Powered by Google App Engine
This is Rietveld 408576698