├── .editorconfig ├── .gitattributes ├── .gitignore ├── CloudCoder ├── .classpath ├── .gitignore ├── .project ├── .settings │ ├── com.google.gdt.eclipse.core.prefs │ ├── com.google.gwt.eclipse.core.prefs │ └── org.eclipse.jdt.ui.prefs ├── build.xml ├── import-ace-gwt.sh ├── resources │ └── art │ │ ├── CloudCoderLogo.png │ │ ├── check-mark-icon.png │ │ ├── error-icon.png │ │ └── info-icon.png ├── run-super-dev-mode.sh ├── src │ ├── .gitignore │ ├── com │ │ └── google │ │ │ └── gwt │ │ │ └── layout │ │ │ ├── Hajo2.gwt.xml │ │ │ └── client │ │ │ ├── Layout.java │ │ │ ├── LayoutImpl.java │ │ │ ├── LayoutImplGecko.java │ │ │ ├── LayoutImplIE6.java │ │ │ ├── LayoutImplIE8.java │ │ │ └── package-info.java │ ├── defaultkeystore.jks │ ├── edu │ │ └── ycp │ │ │ └── cs │ │ │ └── dh │ │ │ └── acegwt │ │ │ ├── AceGWT.gwt.xml │ │ │ ├── client │ │ │ └── ace │ │ │ │ ├── AceAnnotation.java │ │ │ │ ├── AceAnnotationType.java │ │ │ │ ├── AceCommand.java │ │ │ │ ├── AceEditor.java │ │ │ │ ├── AceEditorCallback.java │ │ │ │ ├── AceEditorCursorPosition.java │ │ │ │ ├── AceEditorMode.java │ │ │ │ └── AceEditorTheme.java │ │ │ └── public │ │ │ └── ace │ │ │ ├── ace-compat-noconflict.js │ │ │ ├── ace-compat-uncompressed-noconflict.js │ │ │ ├── ace-compat-uncompressed.js │ │ │ ├── ace-compat.js │ │ │ ├── ace-noconflict.js │ │ │ ├── ace-uncompressed-noconflict.js │ │ │ ├── ace-uncompressed.js │ │ │ ├── ace.js │ │ │ ├── cockpit-uncompressed.js │ │ │ ├── cockpit.js │ │ │ ├── ext-chromevox.js │ │ │ ├── ext-elastic_tabstops_lite.js │ │ │ ├── ext-emmet.js │ │ │ ├── ext-error_marker.js │ │ │ ├── ext-keybinding_menu.js │ │ │ ├── ext-language_tools.js │ │ │ ├── ext-modelist.js │ │ │ ├── ext-old_ie.js │ │ │ ├── ext-options.js │ │ │ ├── ext-searchbox.js │ │ │ ├── ext-settings_menu.js │ │ │ ├── ext-spellcheck.js │ │ │ ├── ext-split.js │ │ │ ├── ext-static_highlight.js │ │ │ ├── ext-statusbar.js │ │ │ ├── ext-textarea.js │ │ │ ├── ext-themelist.js │ │ │ ├── ext-whitespace.js │ │ │ ├── keybinding-emacs-noconflict.js │ │ │ ├── keybinding-emacs-uncompressed-noconflict.js │ │ │ ├── keybinding-emacs-uncompressed.js │ │ │ ├── keybinding-emacs.js │ │ │ ├── keybinding-vim-noconflict.js │ │ │ ├── keybinding-vim-uncompressed-noconflict.js │ │ │ ├── keybinding-vim-uncompressed.js │ │ │ ├── keybinding-vim.js │ │ │ ├── mode-abap.js │ │ │ ├── mode-actionscript.js │ │ │ ├── mode-ada.js │ │ │ ├── mode-apache_conf.js │ │ │ ├── mode-asciidoc.js │ │ │ ├── mode-assembly_x86.js │ │ │ ├── mode-autohotkey.js │ │ │ ├── mode-batchfile.js │ │ │ ├── mode-c9search.js │ │ │ ├── mode-c_cpp-noconflict.js │ │ │ ├── mode-c_cpp-uncompressed-noconflict.js │ │ │ ├── mode-c_cpp-uncompressed.js │ │ │ ├── mode-c_cpp.js │ │ │ ├── mode-cirru.js │ │ │ ├── mode-clojure-noconflict.js │ │ │ ├── mode-clojure-uncompressed-noconflict.js │ │ │ ├── mode-clojure-uncompressed.js │ │ │ ├── mode-clojure.js │ │ │ ├── mode-cobol.js │ │ │ ├── mode-coffee-noconflict.js │ │ │ ├── mode-coffee-uncompressed-noconflict.js │ │ │ ├── mode-coffee-uncompressed.js │ │ │ ├── mode-coffee.js │ │ │ ├── mode-coldfusion-noconflict.js │ │ │ ├── mode-coldfusion-uncompressed-noconflict.js │ │ │ ├── mode-coldfusion-uncompressed.js │ │ │ ├── mode-coldfusion.js │ │ │ ├── mode-csharp-noconflict.js │ │ │ ├── mode-csharp-uncompressed-noconflict.js │ │ │ ├── mode-csharp-uncompressed.js │ │ │ ├── mode-csharp.js │ │ │ ├── mode-css-noconflict.js │ │ │ ├── mode-css-uncompressed-noconflict.js │ │ │ ├── mode-css-uncompressed.js │ │ │ ├── mode-css.js │ │ │ ├── mode-curly.js │ │ │ ├── mode-d.js │ │ │ ├── mode-dart.js │ │ │ ├── mode-diff.js │ │ │ ├── mode-django.js │ │ │ ├── mode-dot.js │ │ │ ├── mode-ejs.js │ │ │ ├── mode-erlang.js │ │ │ ├── mode-forth.js │ │ │ ├── mode-ftl.js │ │ │ ├── mode-gherkin.js │ │ │ ├── mode-glsl.js │ │ │ ├── mode-golang.js │ │ │ ├── mode-groovy-noconflict.js │ │ │ ├── mode-groovy-uncompressed-noconflict.js │ │ │ ├── mode-groovy-uncompressed.js │ │ │ ├── mode-groovy.js │ │ │ ├── mode-haml.js │ │ │ ├── mode-handlebars.js │ │ │ ├── mode-haskell.js │ │ │ ├── mode-haxe-noconflict.js │ │ │ ├── mode-haxe-uncompressed-noconflict.js │ │ │ ├── mode-haxe-uncompressed.js │ │ │ ├── mode-haxe.js │ │ │ ├── mode-html-noconflict.js │ │ │ ├── mode-html-uncompressed-noconflict.js │ │ │ ├── mode-html-uncompressed.js │ │ │ ├── mode-html.js │ │ │ ├── mode-html_completions.js │ │ │ ├── mode-html_ruby.js │ │ │ ├── mode-ini.js │ │ │ ├── mode-jack.js │ │ │ ├── mode-jade.js │ │ │ ├── mode-java-noconflict.js │ │ │ ├── mode-java-uncompressed-noconflict.js │ │ │ ├── mode-java-uncompressed.js │ │ │ ├── mode-java.js │ │ │ ├── mode-javascript-noconflict.js │ │ │ ├── mode-javascript-uncompressed-noconflict.js │ │ │ ├── mode-javascript-uncompressed.js │ │ │ ├── mode-javascript.js │ │ │ ├── mode-json-noconflict.js │ │ │ ├── mode-json-uncompressed-noconflict.js │ │ │ ├── mode-json-uncompressed.js │ │ │ ├── mode-json.js │ │ │ ├── mode-jsoniq.js │ │ │ ├── mode-jsp.js │ │ │ ├── mode-jsx.js │ │ │ ├── mode-julia.js │ │ │ ├── mode-latex-noconflict.js │ │ │ ├── mode-latex-uncompressed-noconflict.js │ │ │ ├── mode-latex-uncompressed.js │ │ │ ├── mode-latex.js │ │ │ ├── mode-less.js │ │ │ ├── mode-liquid.js │ │ │ ├── mode-lisp.js │ │ │ ├── mode-livescript.js │ │ │ ├── mode-logiql.js │ │ │ ├── mode-lsl.js │ │ │ ├── mode-lua-noconflict.js │ │ │ ├── mode-lua-uncompressed-noconflict.js │ │ │ ├── mode-lua-uncompressed.js │ │ │ ├── mode-lua.js │ │ │ ├── mode-luapage.js │ │ │ ├── mode-lucene.js │ │ │ ├── mode-makefile.js │ │ │ ├── mode-markdown-noconflict.js │ │ │ ├── mode-markdown-uncompressed-noconflict.js │ │ │ ├── mode-markdown-uncompressed.js │ │ │ ├── mode-markdown.js │ │ │ ├── mode-matlab.js │ │ │ ├── mode-mel.js │ │ │ ├── mode-mushcode.js │ │ │ ├── mode-mushcode_high_rules.js │ │ │ ├── mode-mysql.js │ │ │ ├── mode-nix.js │ │ │ ├── mode-objectivec.js │ │ │ ├── mode-ocaml-noconflict.js │ │ │ ├── mode-ocaml-uncompressed-noconflict.js │ │ │ ├── mode-ocaml-uncompressed.js │ │ │ ├── mode-ocaml.js │ │ │ ├── mode-pascal.js │ │ │ ├── mode-perl-noconflict.js │ │ │ ├── mode-perl-uncompressed-noconflict.js │ │ │ ├── mode-perl-uncompressed.js │ │ │ ├── mode-perl.js │ │ │ ├── mode-pgsql-noconflict.js │ │ │ ├── mode-pgsql-uncompressed-noconflict.js │ │ │ ├── mode-pgsql-uncompressed.js │ │ │ ├── mode-pgsql.js │ │ │ ├── mode-php-noconflict.js │ │ │ ├── mode-php-uncompressed-noconflict.js │ │ │ ├── mode-php-uncompressed.js │ │ │ ├── mode-php.js │ │ │ ├── mode-plain_text.js │ │ │ ├── mode-powershell-noconflict.js │ │ │ ├── mode-powershell-uncompressed-noconflict.js │ │ │ ├── mode-powershell-uncompressed.js │ │ │ ├── mode-powershell.js │ │ │ ├── mode-prolog.js │ │ │ ├── mode-properties.js │ │ │ ├── mode-protobuf.js │ │ │ ├── mode-python-noconflict.js │ │ │ ├── mode-python-uncompressed-noconflict.js │ │ │ ├── mode-python-uncompressed.js │ │ │ ├── mode-python.js │ │ │ ├── mode-r.js │ │ │ ├── mode-rdoc.js │ │ │ ├── mode-rhtml.js │ │ │ ├── mode-ruby-noconflict.js │ │ │ ├── mode-ruby-uncompressed-noconflict.js │ │ │ ├── mode-ruby-uncompressed.js │ │ │ ├── mode-ruby.js │ │ │ ├── mode-rust.js │ │ │ ├── mode-sass.js │ │ │ ├── mode-scad-noconflict.js │ │ │ ├── mode-scad-uncompressed-noconflict.js │ │ │ ├── mode-scad-uncompressed.js │ │ │ ├── mode-scad.js │ │ │ ├── mode-scala-noconflict.js │ │ │ ├── mode-scala-uncompressed-noconflict.js │ │ │ ├── mode-scala-uncompressed.js │ │ │ ├── mode-scala.js │ │ │ ├── mode-scheme.js │ │ │ ├── mode-scss-noconflict.js │ │ │ ├── mode-scss-uncompressed-noconflict.js │ │ │ ├── mode-scss-uncompressed.js │ │ │ ├── mode-scss.js │ │ │ ├── mode-sh.js │ │ │ ├── mode-sjs.js │ │ │ ├── mode-smarty.js │ │ │ ├── mode-snippets.js │ │ │ ├── mode-soy_template.js │ │ │ ├── mode-space.js │ │ │ ├── mode-sql-noconflict.js │ │ │ ├── mode-sql-uncompressed-noconflict.js │ │ │ ├── mode-sql-uncompressed.js │ │ │ ├── mode-sql.js │ │ │ ├── mode-stylus.js │ │ │ ├── mode-svg-noconflict.js │ │ │ ├── mode-svg-uncompressed-noconflict.js │ │ │ ├── mode-svg-uncompressed.js │ │ │ ├── mode-svg.js │ │ │ ├── mode-tcl.js │ │ │ ├── mode-tex.js │ │ │ ├── mode-text.js │ │ │ ├── mode-textile-noconflict.js │ │ │ ├── mode-textile-uncompressed-noconflict.js │ │ │ ├── mode-textile-uncompressed.js │ │ │ ├── mode-textile.js │ │ │ ├── mode-tmsnippet.js │ │ │ ├── mode-toml.js │ │ │ ├── mode-twig.js │ │ │ ├── mode-typescript.js │ │ │ ├── mode-vbscript.js │ │ │ ├── mode-velocity.js │ │ │ ├── mode-verilog.js │ │ │ ├── mode-vhdl.js │ │ │ ├── mode-xml-noconflict.js │ │ │ ├── mode-xml-uncompressed-noconflict.js │ │ │ ├── mode-xml-uncompressed.js │ │ │ ├── mode-xml.js │ │ │ ├── mode-xquery.js │ │ │ ├── mode-yaml.js │ │ │ ├── snippets │ │ │ ├── abap.js │ │ │ ├── actionscript.js │ │ │ ├── ada.js │ │ │ ├── apache_conf.js │ │ │ ├── asciidoc.js │ │ │ ├── assembly_x86.js │ │ │ ├── autohotkey.js │ │ │ ├── batchfile.js │ │ │ ├── c9search.js │ │ │ ├── c_cpp.js │ │ │ ├── cirru.js │ │ │ ├── clojure.js │ │ │ ├── cobol.js │ │ │ ├── coffee.js │ │ │ ├── coldfusion.js │ │ │ ├── csharp.js │ │ │ ├── css.js │ │ │ ├── curly.js │ │ │ ├── d.js │ │ │ ├── dart.js │ │ │ ├── diff.js │ │ │ ├── django.js │ │ │ ├── dot.js │ │ │ ├── ejs.js │ │ │ ├── erlang.js │ │ │ ├── forth.js │ │ │ ├── ftl.js │ │ │ ├── gherkin.js │ │ │ ├── glsl.js │ │ │ ├── golang.js │ │ │ ├── groovy.js │ │ │ ├── haml.js │ │ │ ├── handlebars.js │ │ │ ├── haskell.js │ │ │ ├── haxe.js │ │ │ ├── html.js │ │ │ ├── html_completions.js │ │ │ ├── html_ruby.js │ │ │ ├── ini.js │ │ │ ├── jack.js │ │ │ ├── jade.js │ │ │ ├── java.js │ │ │ ├── javascript.js │ │ │ ├── json.js │ │ │ ├── jsoniq.js │ │ │ ├── jsp.js │ │ │ ├── jsx.js │ │ │ ├── julia.js │ │ │ ├── latex.js │ │ │ ├── less.js │ │ │ ├── liquid.js │ │ │ ├── lisp.js │ │ │ ├── livescript.js │ │ │ ├── logiql.js │ │ │ ├── lsl.js │ │ │ ├── lua.js │ │ │ ├── luapage.js │ │ │ ├── lucene.js │ │ │ ├── makefile.js │ │ │ ├── markdown.js │ │ │ ├── matlab.js │ │ │ ├── mel.js │ │ │ ├── mushcode.js │ │ │ ├── mushcode_high_rules.js │ │ │ ├── mysql.js │ │ │ ├── nix.js │ │ │ ├── objectivec.js │ │ │ ├── ocaml.js │ │ │ ├── pascal.js │ │ │ ├── perl.js │ │ │ ├── pgsql.js │ │ │ ├── php.js │ │ │ ├── plain_text.js │ │ │ ├── powershell.js │ │ │ ├── prolog.js │ │ │ ├── properties.js │ │ │ ├── protobuf.js │ │ │ ├── python.js │ │ │ ├── r.js │ │ │ ├── rdoc.js │ │ │ ├── rhtml.js │ │ │ ├── ruby.js │ │ │ ├── rust.js │ │ │ ├── sass.js │ │ │ ├── scad.js │ │ │ ├── scala.js │ │ │ ├── scheme.js │ │ │ ├── scss.js │ │ │ ├── sh.js │ │ │ ├── sjs.js │ │ │ ├── smarty.js │ │ │ ├── snippets.js │ │ │ ├── soy_template.js │ │ │ ├── space.js │ │ │ ├── sql.js │ │ │ ├── stylus.js │ │ │ ├── svg.js │ │ │ ├── tcl.js │ │ │ ├── tex.js │ │ │ ├── text.js │ │ │ ├── textile.js │ │ │ ├── toml.js │ │ │ ├── twig.js │ │ │ ├── typescript.js │ │ │ ├── vbscript.js │ │ │ ├── velocity.js │ │ │ ├── verilog.js │ │ │ ├── vhdl.js │ │ │ ├── xml.js │ │ │ ├── xquery.js │ │ │ └── yaml.js │ │ │ ├── theme-ambiance.js │ │ │ ├── theme-chaos.js │ │ │ ├── theme-chrome-noconflict.js │ │ │ ├── theme-chrome-uncompressed-noconflict.js │ │ │ ├── theme-chrome-uncompressed.js │ │ │ ├── theme-chrome.js │ │ │ ├── theme-clouds-noconflict.js │ │ │ ├── theme-clouds-uncompressed-noconflict.js │ │ │ ├── theme-clouds-uncompressed.js │ │ │ ├── theme-clouds.js │ │ │ ├── theme-clouds_midnight-noconflict.js │ │ │ ├── theme-clouds_midnight-uncompressed-noconflict.js │ │ │ ├── theme-clouds_midnight-uncompressed.js │ │ │ ├── theme-clouds_midnight.js │ │ │ ├── theme-cobalt-noconflict.js │ │ │ ├── theme-cobalt-uncompressed-noconflict.js │ │ │ ├── theme-cobalt-uncompressed.js │ │ │ ├── theme-cobalt.js │ │ │ ├── theme-crimson_editor-noconflict.js │ │ │ ├── theme-crimson_editor-uncompressed-noconflict.js │ │ │ ├── theme-crimson_editor-uncompressed.js │ │ │ ├── theme-crimson_editor.js │ │ │ ├── theme-dawn-noconflict.js │ │ │ ├── theme-dawn-uncompressed-noconflict.js │ │ │ ├── theme-dawn-uncompressed.js │ │ │ ├── theme-dawn.js │ │ │ ├── theme-dreamweaver-noconflict.js │ │ │ ├── theme-dreamweaver-uncompressed-noconflict.js │ │ │ ├── theme-dreamweaver-uncompressed.js │ │ │ ├── theme-dreamweaver.js │ │ │ ├── theme-eclipse-noconflict.js │ │ │ ├── theme-eclipse-uncompressed-noconflict.js │ │ │ ├── theme-eclipse-uncompressed.js │ │ │ ├── theme-eclipse.js │ │ │ ├── theme-github.js │ │ │ ├── theme-idle_fingers-noconflict.js │ │ │ ├── theme-idle_fingers-uncompressed-noconflict.js │ │ │ ├── theme-idle_fingers-uncompressed.js │ │ │ ├── theme-idle_fingers.js │ │ │ ├── theme-katzenmilch.js │ │ │ ├── theme-kr.js │ │ │ ├── theme-kr_theme-noconflict.js │ │ │ ├── theme-kr_theme-uncompressed-noconflict.js │ │ │ ├── theme-kr_theme-uncompressed.js │ │ │ ├── theme-kr_theme.js │ │ │ ├── theme-kuroir.js │ │ │ ├── theme-merbivore-noconflict.js │ │ │ ├── theme-merbivore-uncompressed-noconflict.js │ │ │ ├── theme-merbivore-uncompressed.js │ │ │ ├── theme-merbivore.js │ │ │ ├── theme-merbivore_soft-noconflict.js │ │ │ ├── theme-merbivore_soft-uncompressed-noconflict.js │ │ │ ├── theme-merbivore_soft-uncompressed.js │ │ │ ├── theme-merbivore_soft.js │ │ │ ├── theme-mono_industrial-noconflict.js │ │ │ ├── theme-mono_industrial-uncompressed-noconflict.js │ │ │ ├── theme-mono_industrial-uncompressed.js │ │ │ ├── theme-mono_industrial.js │ │ │ ├── theme-monokai-noconflict.js │ │ │ ├── theme-monokai-uncompressed-noconflict.js │ │ │ ├── theme-monokai-uncompressed.js │ │ │ ├── theme-monokai.js │ │ │ ├── theme-pastel_on_dark-noconflict.js │ │ │ ├── theme-pastel_on_dark-uncompressed-noconflict.js │ │ │ ├── theme-pastel_on_dark-uncompressed.js │ │ │ ├── theme-pastel_on_dark.js │ │ │ ├── theme-solarized_dark-noconflict.js │ │ │ ├── theme-solarized_dark-uncompressed-noconflict.js │ │ │ ├── theme-solarized_dark-uncompressed.js │ │ │ ├── theme-solarized_dark.js │ │ │ ├── theme-solarized_light-noconflict.js │ │ │ ├── theme-solarized_light-uncompressed-noconflict.js │ │ │ ├── theme-solarized_light-uncompressed.js │ │ │ ├── theme-solarized_light.js │ │ │ ├── theme-terminal.js │ │ │ ├── theme-textmate-noconflict.js │ │ │ ├── theme-textmate-uncompressed-noconflict.js │ │ │ ├── theme-textmate-uncompressed.js │ │ │ ├── theme-textmate.js │ │ │ ├── theme-tomorrow-noconflict.js │ │ │ ├── theme-tomorrow-uncompressed-noconflict.js │ │ │ ├── theme-tomorrow-uncompressed.js │ │ │ ├── theme-tomorrow.js │ │ │ ├── theme-tomorrow_night-noconflict.js │ │ │ ├── theme-tomorrow_night-uncompressed-noconflict.js │ │ │ ├── theme-tomorrow_night-uncompressed.js │ │ │ ├── theme-tomorrow_night.js │ │ │ ├── theme-tomorrow_night_blue-noconflict.js │ │ │ ├── theme-tomorrow_night_blue-uncompressed-noconflict.js │ │ │ ├── theme-tomorrow_night_blue-uncompressed.js │ │ │ ├── theme-tomorrow_night_blue.js │ │ │ ├── theme-tomorrow_night_bright-noconflict.js │ │ │ ├── theme-tomorrow_night_bright-uncompressed-noconflict.js │ │ │ ├── theme-tomorrow_night_bright-uncompressed.js │ │ │ ├── theme-tomorrow_night_bright.js │ │ │ ├── theme-tomorrow_night_eighties-noconflict.js │ │ │ ├── theme-tomorrow_night_eighties-uncompressed-noconflict.js │ │ │ ├── theme-tomorrow_night_eighties-uncompressed.js │ │ │ ├── theme-tomorrow_night_eighties.js │ │ │ ├── theme-twilight-noconflict.js │ │ │ ├── theme-twilight-uncompressed-noconflict.js │ │ │ ├── theme-twilight-uncompressed.js │ │ │ ├── theme-twilight.js │ │ │ ├── theme-vibrant_ink-noconflict.js │ │ │ ├── theme-vibrant_ink-uncompressed-noconflict.js │ │ │ ├── theme-vibrant_ink-uncompressed.js │ │ │ ├── theme-vibrant_ink.js │ │ │ ├── theme-xcode.js │ │ │ ├── worker-coffee.js │ │ │ ├── worker-css.js │ │ │ ├── worker-html.js │ │ │ ├── worker-javascript.js │ │ │ ├── worker-json.js │ │ │ ├── worker-lua.js │ │ │ ├── worker-php.js │ │ │ └── worker-xquery.js │ ├── log4j.properties │ └── org │ │ └── cloudcoder │ │ └── app │ │ ├── CloudCoder.gwt.xml │ │ ├── CloudCoderSuperDevMode.gwt.xml │ │ ├── client │ │ ├── CloudCoder.java │ │ ├── model │ │ │ ├── ChangeFromAceOnChangeEvent.java │ │ │ ├── ChangeList.java │ │ │ ├── CodeState.java │ │ │ ├── CodeStateManager.java │ │ │ ├── DateTimeUtil.java │ │ │ ├── ISaveChanges.java │ │ │ ├── LoginIndicator.java │ │ │ ├── PageId.java │ │ │ ├── PageParams.java │ │ │ ├── PageStack.java │ │ │ ├── ProblemSubmissionHistory.java │ │ │ ├── QuizInProgress.java │ │ │ ├── Section.java │ │ │ ├── Session.java │ │ │ ├── StatusMessage.java │ │ │ └── TestResultUtil.java │ │ ├── page │ │ │ ├── CloudCoderPage.java │ │ │ ├── CoursesAndProblemsPage3.java │ │ │ ├── CreatePageParamsFromPageAndSession.java │ │ │ ├── DevelopmentPage.java │ │ │ ├── DevelopmentPage2.java │ │ │ ├── EditProblemPage.java │ │ │ ├── InitErrorPage.java │ │ │ ├── LoadPageObjects.java │ │ │ ├── LoginPage.java │ │ │ ├── LogoutHandler.java │ │ │ ├── PageBackHandler.java │ │ │ ├── PageObjectParamNameMap.java │ │ │ ├── PlaygroundPage.java │ │ │ ├── ProblemAdminPage.java │ │ │ ├── QuizPage.java │ │ │ ├── SessionObserver.java │ │ │ ├── SessionUtil.java │ │ │ ├── StatisticsPage.java │ │ │ ├── UserAccountPage.java │ │ │ ├── UserAccountPage2.java │ │ │ ├── UserAdminPage.java │ │ │ ├── UserProblemSubmissionsPage.java │ │ │ └── UserProgressPage.java │ │ ├── rpc │ │ │ ├── ConfigurationSettingService.java │ │ │ ├── ConfigurationSettingServiceAsync.java │ │ │ ├── EditCodeService.java │ │ │ ├── EditCodeServiceAsync.java │ │ │ ├── GetCoursesAndProblemsService.java │ │ │ ├── GetCoursesAndProblemsServiceAsync.java │ │ │ ├── LoginService.java │ │ │ ├── LoginServiceAsync.java │ │ │ ├── RPC.java │ │ │ ├── RunService.java │ │ │ ├── RunServiceAsync.java │ │ │ ├── SubmitService.java │ │ │ ├── SubmitServiceAsync.java │ │ │ ├── UserService.java │ │ │ └── UserServiceAsync.java │ │ ├── validator │ │ │ ├── CompositeValidator.java │ │ │ ├── IFieldValidator.java │ │ │ ├── IValidationCallback.java │ │ │ ├── MatchingTextBoxValidator.java │ │ │ ├── NoopFieldValidator.java │ │ │ ├── SuggestBoxNonEmptyValidator.java │ │ │ ├── TextBoxIntegerValidator.java │ │ │ └── TextBoxNonemptyValidator.java │ │ └── view │ │ │ ├── AccordionPanel.java │ │ │ ├── BestScoreBarCell.java │ │ │ ├── BulkRegistrationPanel.java │ │ │ ├── ButtonPanel.java │ │ │ ├── ChoiceDialogBox.java │ │ │ ├── CompilerDiagnosticListView.java │ │ │ ├── CourseAdminProblemListView.java │ │ │ ├── CourseInstructorStatusMonitor.java │ │ │ ├── CourseInstructorUI.java │ │ │ ├── CourseSelectionListBox.java │ │ │ ├── CreateCoursePanel.java │ │ │ ├── DateTimePicker.java │ │ │ ├── DebugPopupPanel.java │ │ │ ├── DevActionsPanel.java │ │ │ ├── DevActionsPanel2.java │ │ │ ├── EditBooleanField.java │ │ │ ├── EditDateField.java │ │ │ ├── EditDateTimeField.java │ │ │ ├── EditEnumField.java │ │ │ ├── EditModelObjectField.java │ │ │ ├── EditModelObjectFieldUI.java │ │ │ ├── EditStringField.java │ │ │ ├── EditStringFieldWithAceEditor.java │ │ │ ├── EditUserDialog.java │ │ │ ├── EditUserView.java │ │ │ ├── ExerciseAdminPanel.java │ │ │ ├── ExerciseSummaryItem.java │ │ │ ├── ExerciseSummaryView.java │ │ │ ├── ExtractOutputText.java │ │ │ ├── HourMinuteTextBox.java │ │ │ ├── IButtonPanelAction.java │ │ │ ├── IDevActionsPanel.java │ │ │ ├── ILoginView.java │ │ │ ├── IRedisplayable.java │ │ │ ├── IResultsTabPanelWidget.java │ │ │ ├── ISelectableComposite.java │ │ │ ├── ImportCourseDialogBox.java │ │ │ ├── ImportCourseSelectionView.java │ │ │ ├── ImportProblemDialog.java │ │ │ ├── LabeledCourseSelectionListBox.java │ │ │ ├── ManageUsersPanel.java │ │ │ ├── ModuleListBox.java │ │ │ ├── NewUserDialog.java │ │ │ ├── OkDialogBox.java │ │ │ ├── OutputFirstLineColumn.java │ │ │ ├── PageLoadErrorView.java │ │ │ ├── PageNavPanel.java │ │ │ ├── PlaygroundActionsPanel.java │ │ │ ├── PlaygroundResultListView.java │ │ │ ├── PreauthorizedUserLoginView.java │ │ │ ├── ProblemDescriptionView.java │ │ │ ├── ProblemListView2.java │ │ │ ├── ProblemListView3.java │ │ │ ├── ProblemNameAndBriefDescriptionView.java │ │ │ ├── ProblemProgressView.java │ │ │ ├── ProblemSubmissionHistorySliderView.java │ │ │ ├── PythonTutorView.java │ │ │ ├── QuizIndicatorView.java │ │ │ ├── RangeSlider.java │ │ │ ├── ReadOnlyProblemTextView.java │ │ │ ├── RegisterExistingUserPanel.java │ │ │ ├── RegisterSingleUserPanel.java │ │ │ ├── SectionLabel.java │ │ │ ├── SectionSelectionView.java │ │ │ ├── SessionExpiredDialogBox.java │ │ │ ├── SetDatesDialogBox.java │ │ │ ├── SetDatesPanel.java │ │ │ ├── ShareManyProblemsDialog.java │ │ │ ├── ShareProblemDialog.java │ │ │ ├── ShareProblemDialogPanel.java │ │ │ ├── ShowFullOutputButtonColumn.java │ │ │ ├── Slider.java │ │ │ ├── SliderEvent.java │ │ │ ├── SliderListener.java │ │ │ ├── SliderOption.java │ │ │ ├── StatusMessageView.java │ │ │ ├── TermAndCourseTreeView.java │ │ │ ├── TestCaseEditor.java │ │ │ ├── TestOutcomeSummaryView.java │ │ │ ├── TestResultListView.java │ │ │ ├── TestResultOutputDialog.java │ │ │ ├── UserAccountView.java │ │ │ ├── UserAccountView2.java │ │ │ ├── UserAdminUsersListView.java │ │ │ ├── UserProgressListView.java │ │ │ ├── UserProgressView.java │ │ │ ├── UsernamePasswordLoginView.java │ │ │ ├── UsernameSuggestOracle.java │ │ │ ├── UsernameSuggestion.java │ │ │ ├── ValidatedFormUI.java │ │ │ └── ViewUtil.java │ │ ├── public │ │ └── images │ │ │ ├── CloudCoderLogo-med.png │ │ │ ├── ajax-loader.gif │ │ │ ├── blank-icon-sm.png │ │ │ ├── check-mark-icon-sm.png │ │ │ ├── error-icon-sm.png │ │ │ ├── info-icon-sm.png │ │ │ ├── pencil-sm-gray.png │ │ │ ├── pencil-sm.png │ │ │ └── roller-sm.gif │ │ ├── server │ │ ├── admin │ │ │ ├── AdminAuthorizationFilter.java │ │ │ ├── AdminServletUtil.java │ │ │ ├── ConvertXML.java │ │ │ ├── CourseAdminAuthorizationFilter.java │ │ │ ├── ExerciseData.java │ │ │ ├── ProblemURLInfo.java │ │ │ ├── Problems.java │ │ │ ├── ProblemsAuthorizationFilter.java │ │ │ └── RequestAttributeKeys.java │ │ ├── filter │ │ │ └── NocacheJsFilter.java │ │ ├── login │ │ │ ├── AbstractLoginProvider.java │ │ │ ├── DatabaseLoginProvider.java │ │ │ ├── ErrorLoginProvider.java │ │ │ ├── ILoginProvider.java │ │ │ ├── ImapLoginProvider.java │ │ │ ├── LoginProviderServletContextListener.java │ │ │ └── RemoteUserLoginProvider.java │ │ ├── rpc │ │ │ ├── ConfigurationSettingServiceImpl.java │ │ │ ├── EditCodeServiceImpl.java │ │ │ ├── FutureImportCourseResult.java │ │ │ ├── GetCoursesAndProblemsServiceImpl.java │ │ │ ├── LoginServiceImpl.java │ │ │ ├── RunServiceImpl.java │ │ │ ├── ServletUtil.java │ │ │ ├── SessionAttributeKeys.java │ │ │ ├── SubmitServiceImpl.java │ │ │ └── UserServiceImpl.java │ │ └── servlet │ │ │ ├── Health.java │ │ │ └── RegisterStudents.java │ │ └── shared │ │ ├── dto │ │ ├── ShareExerciseStatus.java │ │ └── ShareExercisesResult.java │ │ └── util │ │ ├── DefaultSubscriptionRegistrar.java │ │ ├── Publisher.java │ │ ├── Subscriber.java │ │ └── SubscriptionRegistrar.java ├── test │ └── org │ │ └── cloudcoder │ │ └── app │ │ └── .gitignore └── war │ ├── .gitignore │ ├── CloudCoder.css │ ├── CloudCoder.html │ └── WEB-INF │ ├── .gitignore │ ├── lib │ └── .gitignore │ └── web.xml ├── CloudCoderAnalysis ├── .classpath ├── .gitignore ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── lib │ ├── asm-all-4.1.jar │ ├── commons-io-2.1.jar │ ├── diffutils-1.2.1.jar │ ├── org.eclipse.core.contenttype_3.4.100.v20110423-0524.jar │ ├── org.eclipse.core.jobs_3.5.100.v20110404.jar │ ├── org.eclipse.core.resources_3.7.100.v20110510-0712.jar │ ├── org.eclipse.core.runtime_3.7.0.v20110110.jar │ ├── org.eclipse.equinox.common_3.6.0.v20110523.jar │ ├── org.eclipse.equinox.preferences_3.4.1.R37x_v20110725.jar │ ├── org.eclipse.jdt.compiler.apt_1.0.400.v0110816-0800.jar │ ├── org.eclipse.jdt.compiler.tool_1.0.100.v_B76_R37x.jar │ ├── org.eclipse.jdt.core_3.7.1.v_B76_R37x.jar │ ├── org.eclipse.jface_3.7.0.I20110522-1430.jar │ ├── org.eclipse.osgi.util_3.2.200.v20110110.jar │ ├── org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar │ └── org.eclipse.text_3.5.101.r371_v20110810-0800.jar ├── src │ ├── Exercise1.java │ ├── Exercise2.java │ ├── Exercise3.java │ └── org │ │ └── cloudcoder │ │ └── analysis │ │ ├── features │ │ └── java │ │ │ ├── Analyze.java │ │ │ ├── Course.java │ │ │ ├── Feature.java │ │ │ ├── FeatureVisitor.java │ │ │ ├── MyConnection.java │ │ │ ├── ParseToDotFile.java │ │ │ ├── ParseToSimplifiedDotFile.java │ │ │ ├── Problem.java │ │ │ ├── Submission.java │ │ │ └── UpdateFeaturesTable.java │ │ ├── incremental │ │ └── compiler │ │ │ ├── EditSequence.java │ │ │ ├── LineEdit.java │ │ │ └── LineEditType.java │ │ └── tracing │ │ └── rewriter │ │ └── java │ │ ├── BlockScope.java │ │ ├── CheckCode.java │ │ ├── CodePath.java │ │ ├── GenericParser.java │ │ ├── GraphVizParser.java │ │ ├── LineNumberParser.java │ │ ├── LoopVariableStore.java │ │ ├── StatementInstrumenter.java │ │ ├── VariableBlockFinder.java │ │ └── VariableStore.java ├── test │ └── junit │ │ └── org │ │ └── cloudcoder │ │ └── analysis │ │ ├── features │ │ └── java │ │ │ ├── LineNumberASTPrinter.java │ │ │ ├── TestDotfile.java │ │ │ ├── TestInstrumenter.java │ │ │ └── TestParser.java │ │ └── incremental │ │ └── compiler │ │ └── CompileAll.java └── testing │ ├── features │ └── java │ │ ├── A1.java │ │ ├── Bracket.java │ │ ├── CountA1.java │ │ ├── CountAB1.java │ │ ├── Fragment.java │ │ ├── If1.java │ │ ├── IfChain1.java │ │ ├── IfChain2.java │ │ ├── IfElse1.java │ │ ├── IfElseIf.java │ │ ├── IfElseIfElse.java │ │ ├── In1To10a.java │ │ ├── ManyReturns.java │ │ ├── MissingSemicolon.java │ │ ├── NestedForLoops.java │ │ └── NoBracket.java │ └── rewrite │ └── java │ ├── Exercise1.java │ ├── VarChecker.java │ └── VarChecker2.java ├── CloudCoderBuilder2 ├── .classpath ├── .gitignore ├── .project ├── build.xml ├── cctest.sh ├── fetch-easysandbox.sh ├── lib │ └── .gitignore ├── src │ ├── .gitignore │ ├── defaultkeystore.jks │ ├── log4j.properties │ └── org │ │ └── cloudcoder │ │ └── builder2 │ │ ├── batch │ │ └── BatchMain.java │ │ ├── ccompiler │ │ ├── CUtil.java │ │ ├── Compiler.java │ │ ├── CompilerDiagnosticUtil.java │ │ ├── CreateCCompilerBuildStep.java │ │ └── ExecuteCCompilerBuildStep.java │ │ ├── cfunction │ │ ├── AddCFunctionScaffoldingBuildStep.java │ │ ├── CheckCFunctionCommandResultsBuildStep.java │ │ ├── CreateCFunctionTestCommandsBuildStep.java │ │ ├── CreateSecretSuccessAndFailureCodesBuildStep.java │ │ └── SecretSuccessAndFailureCodes.java │ │ ├── commandrunner │ │ ├── CheckCommandResultsUsingRegexBuildStep.java │ │ ├── CommandExecutor.java │ │ ├── CreateCommandInputsForEachTestCaseBuildStep.java │ │ ├── CreateLimitedCommandExecutionPreferencesBuildStep.java │ │ ├── ExecuteCommandForEachCommandInputBuildStep.java │ │ └── NativeExecutableToCommandForEachCommandInputBuildStep.java │ │ ├── csandbox │ │ ├── EasySandboxSharedLibrary.java │ │ └── res │ │ │ ├── EasySandbox.c │ │ │ └── malloc.c │ │ ├── extlib │ │ ├── ExternalLibraryCache.java │ │ └── FetchExternalLibraryBuildStep.java │ │ ├── gcov │ │ ├── GCovCCompilerBuildStep.java │ │ ├── GCovCoverageResultsCollectorBuildStep.java │ │ ├── GCovFileParser.java │ │ └── GCovNativeExecutableCommandModifierBuildStep.java │ │ ├── javacompiler │ │ ├── ByteArrayAndExternalLibraryClassLoader.java │ │ ├── ByteArrayClassLoader.java │ │ ├── BytecodeToBytecodeExecutableBuildStep.java │ │ ├── FindJavaPackageAndClassNames.java │ │ ├── InMemoryJavaCompiler.java │ │ ├── JavaCompilerBuildStep.java │ │ ├── JavaCompilerDiagnosticConverter.java │ │ ├── LoadClassesBuildStep.java │ │ └── MemoryFileManager.java │ │ ├── javamethod │ │ ├── AddJavaMethodScaffoldingBuildStep.java │ │ ├── AddJavaMethodTestDriverBuildStep.java │ │ ├── ExecuteJavaMethodTestsBuildStep.java │ │ └── IsolatedTaskRunner.java │ │ ├── javaprogram │ │ └── JavaProgramToCommandForEachCommandInputBuildStep.java │ │ ├── javasandbox │ │ ├── AbstractKillableTaskManager.java │ │ ├── IsolatedTask.java │ │ ├── IsolatedTaskWithCompilerDiagnostic.java │ │ ├── JVMKillableTaskManager.java │ │ ├── SandboxUtil.java │ │ ├── ThreadGroupSecurityManager.java │ │ ├── ThreadedPrintStreamMonitor.java │ │ └── TimeoutHandler.java │ │ ├── model │ │ ├── BuilderSubmission.java │ │ ├── Bytecode.java │ │ ├── BytecodeExecutable.java │ │ ├── CleanupActionStack.java │ │ ├── Command.java │ │ ├── CommandExecutionPreferences.java │ │ ├── CommandInput.java │ │ ├── CommandLimit.java │ │ ├── CommandResult.java │ │ ├── DeleteDirectoryCleanupAction.java │ │ ├── ExternalLibrary.java │ │ ├── IBuildStep.java │ │ ├── ICleanupAction.java │ │ ├── ISubmissionResultHook.java │ │ ├── InternalBuilderException.java │ │ ├── LoadedClasses.java │ │ ├── NativeExecutable.java │ │ ├── ProcessStatus.java │ │ ├── ProgramSource.java │ │ ├── Tester.java │ │ └── WrapperMode.java │ │ ├── process │ │ ├── IOutputCollector.java │ │ ├── InputAmountExceededException.java │ │ ├── InputSender.java │ │ ├── LimitedInputStream.java │ │ ├── LimitedOutputCollector.java │ │ ├── LimitedProcessRunner.java │ │ ├── OutputCollector.java │ │ ├── ProcessRunner.java │ │ ├── RunProcessNativeExe.java │ │ ├── RunProcessScript.java │ │ ├── StripPrefixInputStream.java │ │ └── res │ │ │ ├── cRunProcess.c │ │ │ ├── runProcess.sh │ │ │ ├── runProcess2.sh │ │ │ └── runProcess3.sh │ │ ├── pythonfunction │ │ ├── AddPythonFunctionScaffoldingBuildStep.java │ │ ├── PythonKillableTaskManager.java │ │ ├── PythonTestCaseTask.java │ │ ├── PythonUtil.java │ │ └── TestPythonFunctionBuildStep.java │ │ ├── rubymethod │ │ ├── AddRubyMethodScaffoldingBuildStep.java │ │ ├── RubyKillableTaskManager.java │ │ ├── RubyTester.java │ │ └── TestRubyMethodBuildStep.java │ │ ├── server │ │ ├── Builder2.java │ │ ├── Builder2Daemon.java │ │ ├── Builder2DaemonController.java │ │ ├── Builder2Server.java │ │ ├── Global.java │ │ ├── ISocket.java │ │ ├── ISocketFactory.java │ │ ├── NoConnectTimer.java │ │ ├── PlainSocketFactory.java │ │ ├── SSLSocketFactoryAdapter.java │ │ ├── SocketAdapter.java │ │ ├── SshTunnelAdapter.java │ │ └── WebappSocketFactory.java │ │ ├── submissionresult │ │ └── CreateSubmissionResultBuildStep.java │ │ ├── tester │ │ └── TesterFactory.java │ │ └── util │ │ ├── ArrayUtil.java │ │ ├── CompilationResultUtil.java │ │ ├── DeleteDirectoryRecursively.java │ │ ├── FileUtil.java │ │ ├── ProcessUtil.java │ │ ├── PropertyUtil.java │ │ ├── SingletonHolder.java │ │ ├── StringUtil.java │ │ ├── SubmissionResultUtil.java │ │ └── TestResultUtil.java └── tests │ └── junit │ ├── .gitignore │ └── org │ └── cloudcoder │ └── builder2 │ ├── tests │ ├── BuilderTest.java │ ├── BuilderTestContext.java │ ├── c │ │ ├── CProgramTest.java │ │ └── CProgramTestUnsandboxed.java │ ├── python │ │ └── PythonFunctionTest.java │ └── res │ │ ├── compute_sum.json │ │ ├── compute_sum_missing_import.py │ │ ├── compute_sum_pass.py │ │ ├── compute_sum_wrong_function_name.py │ │ ├── gravity.json │ │ ├── gravity_nameerror_due_to_misspelled_param.py │ │ ├── skip3.json │ │ ├── skip3_pass.c │ │ ├── skip3_timeout_by_sleeping.c │ │ └── skip3_timeout_infinite_loop.c │ └── util │ └── ArrayUtilTest.java ├── CloudCoderBuilderWebService ├── .classpath ├── .gitignore ├── .project ├── build.xml └── src │ ├── defaultkeystore.jks │ ├── log4j.properties │ └── org │ └── cloudcoder │ └── builderwebservice │ ├── BuilderWebServiceInteractiveLauncher.java │ ├── BuilderWebServiceJettyDaemonConfig.java │ ├── CloudCoderBuilderWebServiceDaemon.java │ ├── CloudCoderBuilderWebServiceDaemonController.java │ └── servlets │ ├── ActiveSubmission.java │ ├── ActiveSubmissionMap.java │ ├── Constants.java │ ├── DecodeRequest.java │ ├── ProblemBuilder.java │ ├── Request.java │ ├── RequestBuilder.java │ ├── ResultBuilder.java │ ├── Submit.java │ └── TestCaseBuilder.java ├── CloudCoderDataAnalysis ├── .classpath ├── .gitignore ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── build.xml ├── lib │ └── .gitignore └── src │ └── org │ └── cloudcoder │ └── dataanalysis │ ├── Anonymize.java │ ├── Attempts.java │ ├── EditRates.java │ ├── FindWorkSessions.java │ ├── IAnalyzeSnapshots.java │ ├── IRetestSubmissionResultVisitor.java │ ├── LineCoverageRetestSubmissionResultVisitor.java │ ├── Main.java │ ├── PauseTimes.java │ ├── ProgsnapExport.java │ ├── Retest.java │ ├── RetestSnapshot.java │ ├── TimeToSolve.java │ └── Util.java ├── CloudCoderHealthMonitor ├── .classpath ├── .gitignore ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── build.xml └── src │ ├── log4j.properties │ └── org │ └── cloudcoder │ └── healthmonitor │ ├── HealthMonitor.java │ ├── HealthMonitorConfig.java │ ├── HealthMonitorDaemon.java │ ├── HealthMonitorDaemonController.java │ ├── HealthMonitorReport.java │ └── TestMain.java ├── CloudCoderJetty ├── .classpath ├── .gitignore ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── README ├── build.xml ├── lib │ ├── .gitignore │ └── owasp │ │ ├── guava.jar │ │ ├── jsr305.jar │ │ └── owasp-java-html-sanitizer.jar └── src │ └── org │ └── cloudcoder │ └── jetty │ ├── AdminCommand.java │ ├── JettyDaemon.java │ ├── JettyDaemonConfig.java │ ├── JettyWebappDaemon.java │ ├── JettyWebappDaemonConfig.java │ ├── NestedJarClassLoader.java │ └── WebServer.java ├── CloudCoderLoadTester ├── .classpath ├── .gitignore ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── build.xml ├── doc │ └── experiments.txt └── src │ ├── log4j.properties │ └── org │ └── cloudcoder │ └── app │ └── loadtester │ ├── CaptureAllEditSequencesForProblem.java │ ├── CaptureEditSequence.java │ ├── Client.java │ ├── CompressEditSequence.java │ ├── CreateTestUsers.java │ ├── EditSequence.java │ ├── HostConfig.java │ ├── HostConfigDatabase.java │ ├── LoadTester.java │ ├── LoadTesterActivityReporter.java │ ├── LoadTesterCookieHandler.java │ ├── LoadTesterTask.java │ ├── Main.java │ ├── Mix.java │ ├── MixDatabase.java │ ├── Options.java │ ├── PlayEditSequence.java │ ├── StatsCollector.java │ ├── Util.java │ └── res │ ├── 6c0ba8b618beb177ef68588777287a30da1b02b0 │ ├── 005.dat │ ├── 006.dat │ ├── 007.dat │ ├── 008.dat │ ├── 009.dat │ ├── 010.dat │ ├── 012.dat │ ├── 013.dat │ ├── 014.dat │ ├── 015.dat │ ├── 016.dat │ ├── 017.dat │ ├── 018.dat │ ├── 020.dat │ ├── 021.dat │ ├── 022.dat │ ├── 024.dat │ ├── 025.dat │ ├── 026.dat │ ├── 027.dat │ ├── 028.dat │ ├── 029.dat │ ├── 031.dat │ ├── 032.dat │ ├── 033.dat │ ├── 034.dat │ ├── 035.dat │ ├── 036.dat │ ├── 037.dat │ ├── 038.dat │ ├── 039.dat │ ├── 040.dat │ ├── 041.dat │ ├── 042.dat │ ├── 044.dat │ ├── 046.dat │ ├── 051.dat │ ├── 052.dat │ ├── 053.dat │ ├── 054.dat │ ├── 056.dat │ ├── 057.dat │ ├── 058.dat │ ├── 059.dat │ ├── 060.dat │ ├── 062.dat │ ├── 063.dat │ ├── 064.dat │ ├── 065.dat │ ├── 066.dat │ ├── 067.dat │ ├── 069.dat │ ├── 070.dat │ ├── 071.dat │ ├── 072.dat │ ├── 073.dat │ ├── 074.dat │ ├── 075.dat │ ├── 076.dat │ ├── 077.dat │ ├── 078.dat │ ├── 079.dat │ ├── 080.dat │ ├── 081.dat │ ├── 082.dat │ ├── 083.dat │ ├── 084.dat │ ├── 085.dat │ ├── 086.dat │ ├── 087.dat │ ├── 088.dat │ ├── 089.dat │ ├── 090.dat │ ├── 091.dat │ ├── 092.dat │ ├── 093.dat │ ├── 094.dat │ ├── 095.dat │ ├── 097.dat │ ├── 098.dat │ ├── 099.dat │ ├── 101.dat │ ├── 102.dat │ ├── 103.dat │ ├── 104.dat │ ├── 105.dat │ ├── 106.dat │ ├── 107.dat │ ├── 108.dat │ ├── 109.dat │ ├── 110.dat │ ├── 112.dat │ ├── 113.dat │ ├── 115.dat │ ├── 118.dat │ ├── 119.dat │ ├── 120.dat │ ├── 121.dat │ ├── 122.dat │ ├── 123.dat │ ├── 124.dat │ ├── 125.dat │ ├── 126.dat │ ├── 127.dat │ ├── 128.dat │ ├── 129.dat │ ├── 130.dat │ ├── 131.dat │ ├── 132.dat │ ├── 133.dat │ ├── 134.dat │ ├── 135.dat │ ├── 136.dat │ ├── 140.dat │ ├── 141.dat │ ├── 142.dat │ └── 143.dat │ ├── 86bc02a726f8b86bc49e53e9777590f56219776d.dat │ ├── b5a9968781e7c4f602e66cfde6ded9745b06eff7.dat │ └── b89ba215e53343923a07d005cb03116ae07a31fb.dat ├── CloudCoderLogging ├── .classpath ├── .gitignore ├── .project ├── README ├── guava-COPYING.txt ├── jsr305-COPYING.txt ├── lib │ └── .gitignore └── owasp-java-html-sanitizer-COPYING.txt ├── CloudCoderModelClasses ├── .classpath ├── .gitignore ├── .project ├── .settings │ └── org.eclipse.jdt.ui.prefs ├── build.xml └── src │ └── org │ └── cloudcoder │ └── app │ └── shared │ └── model │ ├── Anonymization.java │ ├── ApplyChangeToTextDocument.java │ ├── Change.java │ ├── ChangeType.java │ ├── CloudCoderAuthenticationException.java │ ├── CompilationOutcome.java │ ├── CompilationResult.java │ ├── CompilerDiagnostic.java │ ├── ConfigurationSetting.java │ ├── ConfigurationSettingName.java │ ├── ConvertBytesToHex.java │ ├── Course.java │ ├── CourseAndCourseRegistration.java │ ├── CourseCreationSpec.java │ ├── CourseRegistration.java │ ├── CourseRegistrationList.java │ ├── CourseRegistrationSpec.java │ ├── CourseRegistrationType.java │ ├── CourseSelection.java │ ├── EditProblemAdapter.java │ ├── EditedUser.java │ ├── Event.java │ ├── EventType.java │ ├── HashProblemAndTestCaseData.java │ ├── HealthData.java │ ├── IAssignment.java │ ├── ICallback.java │ ├── IContainsEvent.java │ ├── IFactory.java │ ├── IFunction.java │ ├── IHasSubmissionReceipt.java │ ├── IModelObject.java │ ├── IProblem.java │ ├── IProblemAndTestCaseData.java │ ├── IProblemData.java │ ├── ITestCase.java │ ├── ITestCaseData.java │ ├── InitErrorException.java │ ├── Language.java │ ├── LineCoverage.java │ ├── LineCoverageAggregator.java │ ├── LineCoverageRecord.java │ ├── LoginSpec.java │ ├── ModelObjectField.java │ ├── ModelObjectIndex.java │ ├── ModelObjectIndexType.java │ ├── ModelObjectSchema.java │ ├── ModelObjectUtil.java │ ├── Module.java │ ├── ModuleNameComparator.java │ ├── NamedTestResult.java │ ├── OperationResult.java │ ├── Pair.java │ ├── PlaygroundTestResult.java │ ├── Problem.java │ ├── ProblemAndModule.java │ ├── ProblemAndSubmissionReceipt.java │ ├── ProblemAndTestCaseList.java │ ├── ProblemAuthorship.java │ ├── ProblemData.java │ ├── ProblemLicense.java │ ├── ProblemList.java │ ├── ProblemSummary.java │ ├── ProblemSummaryList.java │ ├── ProblemText.java │ ├── ProblemType.java │ ├── Quiz.java │ ├── QuizEndedException.java │ ├── RepoProblem.java │ ├── RepoProblemAndTestCaseList.java │ ├── RepoProblemRating.java │ ├── RepoProblemSearchCriteria.java │ ├── RepoProblemSearchResult.java │ ├── RepoProblemTag.java │ ├── RepoTestCase.java │ ├── SHA1.java │ ├── SnapshotSelectionCriteria.java │ ├── StartedQuiz.java │ ├── Submission.java │ ├── SubmissionException.java │ ├── SubmissionReceipt.java │ ├── SubmissionResult.java │ ├── SubmissionResultAnnotation.java │ ├── SubmissionStatus.java │ ├── Term.java │ ├── TermAndYear.java │ ├── TestCase.java │ ├── TestCaseData.java │ ├── TestOutcome.java │ ├── TestResult.java │ ├── TextDocument.java │ ├── User.java │ ├── UserAndSubmissionReceipt.java │ ├── UserRegistrationRequest.java │ ├── UserRegistrationRequestStatus.java │ ├── UserSelection.java │ └── WorkSession.java ├── CloudCoderModelClassesJSON ├── .classpath ├── .gitignore ├── .project ├── build.xml ├── lib │ └── .gitignore └── src │ └── org │ └── cloudcoder │ └── app │ └── shared │ └── model │ └── json │ ├── JSONConversion.java │ ├── JSONUtil.java │ └── ReflectionFactory.java ├── CloudCoderModelClassesPersistence ├── .classpath ├── .gitignore ├── .project ├── build.xml ├── lib │ └── .gitignore ├── src │ └── org │ │ └── cloudcoder │ │ └── app │ │ └── server │ │ └── persist │ │ ├── AbstractConnectionPool.java │ │ ├── BCrypt.java │ │ ├── C3P0ConnectionPool.java │ │ ├── CheckSchemaVersionsServletContextListener.java │ │ ├── CheckWebappSchemaVersionsServletContextListener.java │ │ ├── ConfigureCloudCoder.java │ │ ├── CreateCourse.java │ │ ├── CreateRepositoryDatabase.java │ │ ├── CreateSampleData.java │ │ ├── CreateUser.java │ │ ├── CreateWebappDatabase.java │ │ ├── Database.java │ │ ├── IConnectionPool.java │ │ ├── IDatabase.java │ │ ├── InitErrorList.java │ │ ├── JDBCDatabase.java │ │ ├── JDBCDatabaseConfig.java │ │ ├── JDBCDatabaseConfigServletContextListener.java │ │ ├── ListCloudCoderProperties.java │ │ ├── MigrateDatabase.java │ │ ├── MigrateRepositoryDatabase.java │ │ ├── MigrateWebappDatabase.java │ │ ├── MysqlConnectionPool.java │ │ ├── NoSuchUniqueIdException.java │ │ ├── PasswordUtil.java │ │ ├── PersistenceException.java │ │ ├── RegisterStudents.java │ │ ├── RepositoryDatabaseConfigServletContextListener.java │ │ ├── SchemaVersionChecker.java │ │ ├── SnapshotCallback.java │ │ ├── WebappDatabaseConfigServletContextListener.java │ │ ├── txn │ │ ├── AddRepoProblemTag.java │ │ ├── AddTestCasesToProblem.java │ │ ├── AddUserRegistrationRequest.java │ │ ├── AddUserToCourse.java │ │ ├── AnonymizeUserData.java │ │ ├── AuthenticateUser.java │ │ ├── CompleteRegistration.java │ │ ├── CreateCourseFromSpec.java │ │ ├── CreateProblemSummary.java │ │ ├── DeleteProblem.java │ │ ├── EditUser.java │ │ ├── EditUserGivenUserData.java │ │ ├── EndQuiz.java │ │ ├── FindCourseRegistrationsForUser.java │ │ ├── FindCourseRegistrationsGivenUserAndCourse.java │ │ ├── FindCourseRegistrationsGivenUserAndCourseId.java │ │ ├── FindCurrentQuiz.java │ │ ├── FindUnfinishedQuizForStudent.java │ │ ├── FindUserRegistrationRequestGivenSecret.java │ │ ├── FindWorkSessions.java │ │ ├── GetAllChangesNewerThan.java │ │ ├── GetAllSubmissionReceiptsForUserAndProblem.java │ │ ├── GetBestSubmissionReceiptsForProblem.java │ │ ├── GetBestSubmissionReceiptsForProblemForAuthenticatedUser.java │ │ ├── GetChangeGivenChangeEventId.java │ │ ├── GetConfigurationSetting.java │ │ ├── GetCoursesForUser.java │ │ ├── GetEventsWithChanges.java │ │ ├── GetModulesForCourse.java │ │ ├── GetMostRecentChangeForUserAndProblem.java │ │ ├── GetMostRecentFullTextChange.java │ │ ├── GetOrAddLatestSubmissionReceipt.java │ │ ├── GetProblemAndSubscriptionReceiptsForUserInCourse.java │ │ ├── GetProblemForProblemId.java │ │ ├── GetProblemForUser.java │ │ ├── GetProblemsInCourse.java │ │ ├── GetRatingsForRepoProblem.java │ │ ├── GetRepoProblemAndTestCaseListGivenHash.java │ │ ├── GetRepoProblemTags.java │ │ ├── GetSchemaVersions.java │ │ ├── GetSectionsForCourse.java │ │ ├── GetSubmissionReceipt.java │ │ ├── GetSubmissionText.java │ │ ├── GetTerms.java │ │ ├── GetTestCasesForProblem.java │ │ ├── GetTestCasesForProblemCheckAuth.java │ │ ├── GetTestResultsForSubmission.java │ │ ├── GetUserGivenId.java │ │ ├── GetUserWithoutAuthentication.java │ │ ├── GetUsersInCourse.java │ │ ├── ImportAllProblemsFromCourse.java │ │ ├── InsertProblem.java │ │ ├── InsertUsersFromInputStream.java │ │ ├── InstructorStartQuiz.java │ │ ├── IsInstructorFor.java │ │ ├── LoadChanges.java │ │ ├── LoadChangesForAllUsersOnProblem.java │ │ ├── Queries.java │ │ ├── RegisterExistingUser.java │ │ ├── ReloadModelObject.java │ │ ├── ReplaceSubmissionReceipt.java │ │ ├── ReplaceTestResults.java │ │ ├── RepoProblemSearch.java │ │ ├── RetrieveSnapshots.java │ │ ├── SearchRepositoryExercises.java │ │ ├── SetModuleForProblem.java │ │ ├── SetProblemDates.java │ │ ├── StoreChanges.java │ │ ├── StoreProblemAndTestCaseList.java │ │ ├── StoreRepoProblemAndTestCaseList.java │ │ ├── StoreSubmissionReceipt.java │ │ ├── StudentStartOrContinueQuiz.java │ │ ├── SuggestTagNames.java │ │ └── SuggestUsernames.java │ │ └── util │ │ ├── AbstractDatabaseRunnable.java │ │ ├── AbstractDatabaseRunnableNoAuthException.java │ │ ├── ConfigurationUtil.java │ │ ├── DBUtil.java │ │ ├── DatabaseRunnable.java │ │ ├── KeystoreUtil.java │ │ ├── ReflectionUtil.java │ │ └── SchemaUtil.java └── test │ ├── files │ ├── full-students.txt │ └── students1.txt │ └── junit │ └── testClasses │ ├── TestDBUtil.java │ └── TestRegisterStudents.java ├── CloudCoderModelClassesTest ├── .classpath ├── .gitignore ├── .project └── tests │ └── org │ └── cloudcoder │ └── app │ └── shared │ └── model │ ├── JSONConversionTest.java │ ├── ModuleNameComparatorTest.java │ ├── ProblemAndTestCaseListTest.java │ ├── ProblemTest.java │ ├── SHA1Test.java │ └── testdata │ └── exercise.json ├── CloudCoderRepository ├── .classpath ├── .gitignore ├── .project ├── build.xml ├── src │ └── org │ │ └── cloudcoder │ │ └── repoapp │ │ ├── servlets │ │ ├── AddTag.java │ │ ├── Confirm.java │ │ ├── Exercise.java │ │ ├── ExerciseData.java │ │ ├── GetTags.java │ │ ├── Index.java │ │ ├── LoadExerciseServlet.java │ │ ├── Login.java │ │ ├── Logout.java │ │ ├── Register.java │ │ ├── Search.java │ │ ├── SuggestTags.java │ │ └── TermsOfService.java │ │ └── taglib │ │ └── SanitizeHTML.java └── war │ ├── WEB-INF │ ├── lib │ │ └── .gitignore │ ├── repo.tld │ ├── tags │ │ ├── headStuff.tag │ │ └── topBanner.tag │ └── web.xml │ ├── _view │ ├── confirm.jsp │ ├── exercise.jsp │ ├── index.jsp │ ├── login.jsp │ ├── register.jsp │ ├── search.jsp │ └── termsOfService.jsp │ ├── css │ ├── cloudcoderRepo.css │ ├── jquery.dataTables.css │ └── jquery.tagit.css │ ├── images │ ├── back_disabled.png │ ├── back_enabled.png │ ├── back_enabled_hover.png │ ├── error.png │ ├── files │ ├── forward_disabled.png │ ├── forward_enabled.png │ ├── forward_enabled_hover.png │ ├── newWindow.png │ ├── sort_asc.png │ ├── sort_asc_disabled.png │ ├── sort_both.png │ ├── sort_desc.png │ ├── sort_desc_disabled.png │ ├── spinner.gif │ └── success.png │ └── js │ ├── jquery.dataTables.min.js │ ├── jquery.form.js │ ├── jquery.qtip-1.0.0-rc3.min.js │ ├── jquery.validate.min.js │ └── tag-it.js ├── CloudCoderRepositoryWebServer ├── .classpath ├── .gitignore ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── build.xml └── src │ ├── log4j.properties │ └── org │ └── cloudcoder │ └── repoapp │ └── webserver │ ├── CloudCoderRepositoryDaemon.java │ ├── CloudCoderRepositoryDaemonController.java │ ├── CloudCoderRepositoryInteractiveLauncher.java │ └── CloudCoderRepositoryWebServer.java ├── CloudCoderSubmissionQueue ├── .classpath ├── .gitignore ├── .project ├── build.xml └── src │ └── org │ └── cloudcoder │ └── app │ └── server │ ├── model │ └── HealthDataSingleton.java │ └── submitsvc │ ├── DefaultSubmitService.java │ ├── IFutureSubmissionResult.java │ ├── ISubmitService.java │ └── oop │ ├── OOPBuildServiceSubmission.java │ ├── OutOfProcessSubmitService.java │ ├── ServerTask.java │ ├── WorkerTask.java │ └── WorkerTaskSet.java ├── CloudCoderSubmissionQueueServletContextListener ├── .classpath ├── .gitignore ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── build.xml └── src │ └── org │ └── cloudcoder │ └── app │ └── server │ └── submitsvc │ └── oop │ └── OutOfProcessSubmitServiceServletContextListener.java ├── CloudCoderWebServer ├── .classpath ├── .gitignore ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── apps │ └── .gitignore ├── build.xml └── src │ ├── log4j.properties │ └── org │ └── cloudcoder │ └── webserver │ ├── CloudCoderDaemon.java │ ├── CloudCoderDaemonController.java │ ├── CloudCoderWebServer.java │ └── UpgradeApp.java ├── CloudCoderWebServiceUtil ├── .classpath ├── .gitignore ├── .project ├── build.xml └── src │ └── org │ └── cloudcoder │ └── webservice │ └── util │ ├── AuthenticationException.java │ ├── BadRequestException.java │ ├── Credentials.java │ └── ServletUtil.java ├── LICENSE.txt ├── README.md ├── VERSION ├── aws ├── bootstrap.pl ├── build.pl ├── configure.pl ├── createKeystore.pl ├── default.deps ├── fetchdeps.pl ├── lightbootstrap.pl └── release.pl /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | # Use 4 spaces per tab for Java files 4 | [*.java] 5 | indent_style = tab 6 | indent_size = 4 7 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=lf 2 | 3 | *.java text 4 | *.properties text 5 | *.js text 6 | *.xml text 7 | *.sh text 8 | *.pl text 9 | *.html text 10 | *.tag text 11 | 12 | 13 | 14 | *.jar binary 15 | *.png binary 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /cloudcoder.properties 2 | /keystore.jks 3 | *~ 4 | *.swp 5 | installations 6 | /deps 7 | CloudCoderTools 8 | CloudCoderBuilder 9 | LATEST 10 | .DS_Store 11 | -------------------------------------------------------------------------------- /CloudCoder/.gitignore: -------------------------------------------------------------------------------- 1 | /war/cloudcoder/* 2 | /gwt-unitCache/* 3 | /.gwt/* 4 | /war/WEB-INF/classes/* 5 | /war/WEB-INF/deploy/* 6 | /test-classes 7 | /war/WEB-INF/lib/gwt-servlet.jar 8 | *~ 9 | /logs 10 | /war/WEB-INF/lib/gwt-servlet-deps.jar 11 | -------------------------------------------------------------------------------- /CloudCoder/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CloudCoder 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | com.google.gdt.eclipse.core.webAppProjectValidator 15 | 16 | 17 | 18 | 19 | com.google.gwt.eclipse.core.gwtProjectValidator 20 | 21 | 22 | 23 | 24 | 25 | org.eclipse.jdt.core.javanature 26 | com.google.gwt.eclipse.core.gwtNature 27 | 28 | 29 | -------------------------------------------------------------------------------- /CloudCoder/.settings/com.google.gdt.eclipse.core.prefs: -------------------------------------------------------------------------------- 1 | #Tue Sep 13 08:25:43 EDT 2011 2 | eclipse.preferences.version=1 3 | launchConfigExternalUrlPrefix= 4 | warSrcDir=war 5 | warSrcDirIsOutput=true 6 | -------------------------------------------------------------------------------- /CloudCoder/.settings/com.google.gwt.eclipse.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | filesCopiedToWebInfLib=gwt-servlet.jar 3 | gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+SU5GTzwvbG9nLWxldmVsPjxvdXRwdXQtc3R5bGU+T0JGVVNDQVRFRDwvb3V0cHV0LXN0eWxlPjxleHRyYS1hcmdzPjwhW0NEQVRBW11dPjwvZXh0cmEtYXJncz48dm0tYXJncz48IVtDREFUQVstWG14NTEybV1dPjwvdm0tYXJncz48ZW50cnktcG9pbnQtbW9kdWxlPm9yZy5jbG91ZGNvZGVyLmFwcC5DbG91ZENvZGVyPC9lbnRyeS1wb2ludC1tb2R1bGU+PGVudHJ5LXBvaW50LW1vZHVsZT5vcmcuY2xvdWRjb2Rlci5hcHAuQ2xvdWRDb2RlclN1cGVyRGV2TW9kZTwvZW50cnktcG9pbnQtbW9kdWxlPjwvZ3d0LWNvbXBpbGUtc2V0dGluZ3M+ 4 | -------------------------------------------------------------------------------- /CloudCoder/import-ace-gwt.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | # Run this script to update to the latest AceGWT code 4 | # from the github repository 5 | 6 | echo -n "Removing old AceGWT code..." 7 | (cd src && rm -rf src/edu/ycp/cs/dh) 8 | echo "done" 9 | 10 | echo -n "Downloading new AceGWT code..." 11 | (cd src && \ 12 | (wget --no-check-certificate https://github.com/daveho/AceGWT/tarball/master --output-document=- 2> /dev/null ) \ 13 | | tar xzf - --wildcards --strip-components=3 'daveho-AceGWT-*/AceGWT/src/edu/*' ) 14 | echo "done" 15 | 16 | 17 | -------------------------------------------------------------------------------- /CloudCoder/resources/art/CloudCoderLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoder/resources/art/CloudCoderLogo.png -------------------------------------------------------------------------------- /CloudCoder/resources/art/check-mark-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoder/resources/art/check-mark-icon.png -------------------------------------------------------------------------------- /CloudCoder/resources/art/error-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoder/resources/art/error-icon.png -------------------------------------------------------------------------------- /CloudCoder/resources/art/info-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoder/resources/art/info-icon.png -------------------------------------------------------------------------------- /CloudCoder/src/.gitignore: -------------------------------------------------------------------------------- 1 | /VERSION 2 | -------------------------------------------------------------------------------- /CloudCoder/src/com/google/gwt/layout/client/LayoutImplGecko.java: -------------------------------------------------------------------------------- 1 | package com.google.gwt.layout.client; 2 | 3 | import com.google.gwt.dom.client.Element; 4 | import com.google.gwt.dom.client.Style; 5 | import com.google.gwt.dom.client.Style.Unit; 6 | 7 | public class LayoutImplGecko extends LayoutImpl { 8 | public LayoutImplGecko() { 9 | } 10 | 11 | @Override 12 | public void fillParent(Element elem) { 13 | super.fillParent(elem); 14 | 15 | if (workOn(elem)) { 16 | Style style = elem.getStyle(); 17 | style.setProperty("MozBoxSizing", "border-box"); 18 | style.setWidth(100, Unit.PCT); 19 | style.setHeight(100, Unit.PCT); 20 | } 21 | } 22 | 23 | public boolean workOn(Element elem) { 24 | String tagName = elem.getTagName(); 25 | return tagName.equalsIgnoreCase("input") || tagName.equalsIgnoreCase("button"); 26 | } 27 | 28 | @Override 29 | public void removeChild(Element container, Element child) { 30 | super.removeChild(container, child); 31 | 32 | if (workOn(child)) { 33 | // Cleanup child styles set by fillParent(). 34 | Style style = child.getStyle(); 35 | style.clearProperty("MozBoxSizing"); 36 | style.clearWidth(); 37 | style.clearHeight(); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /CloudCoder/src/com/google/gwt/layout/client/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2010 Google Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 | * use this file except in compliance with the License. You may obtain a copy of 6 | * the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations under 14 | * the License. 15 | */ 16 | 17 | /** 18 | * Classes for laying out container elements. 19 | */ 20 | @com.google.gwt.util.PreventSpuriousRebuilds 21 | package com.google.gwt.layout.client; 22 | -------------------------------------------------------------------------------- /CloudCoder/src/defaultkeystore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoder/src/defaultkeystore.jks -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/AceGWT.gwt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/client/ace/AceAnnotation.java: -------------------------------------------------------------------------------- 1 | package edu.ycp.cs.dh.acegwt.client.ace; 2 | 3 | import com.google.gwt.core.client.JavaScriptObject; 4 | 5 | /** 6 | * Represents an AceAnnotation object 7 | */ 8 | class AceAnnotation extends JavaScriptObject { 9 | protected AceAnnotation() {} 10 | 11 | public static native AceAnnotation create(int row, int column, String text, String type) /*-{ 12 | return {row: row, column: column, text: text, type: type}; 13 | }-*/; 14 | } 15 | -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/client/ace/AceAnnotationType.java: -------------------------------------------------------------------------------- 1 | package edu.ycp.cs.dh.acegwt.client.ace; 2 | 3 | /** 4 | * Enumeration for ACE annotation types. 5 | */ 6 | public enum AceAnnotationType { 7 | ERROR("error"), 8 | INFORMATION("information"), 9 | WARNING("warning"); 10 | 11 | private final String name; 12 | 13 | private AceAnnotationType(final String name) { 14 | this.name = name; 15 | } 16 | 17 | /** 18 | * @return the theme name (e.g., "error") 19 | */ 20 | public String getName() { 21 | return name; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/client/ace/AceCommand.java: -------------------------------------------------------------------------------- 1 | package edu.ycp.cs.dh.acegwt.client.ace; 2 | 3 | /** 4 | * Enumeration for ACE command types. 5 | */ 6 | public enum AceCommand { 7 | FIND("find"), 8 | FIND_NEXT("findnext"), 9 | FIND_PREVIOUS("findprevious"), 10 | GOTO_LINE("gotoline"), 11 | REPLACE("replace"), 12 | REPLACE_ALL("replaceall"); 13 | 14 | private final String name; 15 | 16 | private AceCommand(final String name) { 17 | this.name = name; 18 | } 19 | 20 | /** 21 | * @return the theme name (e.g., "error") 22 | */ 23 | public String getName() { 24 | return name; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/client/ace/AceEditorCursorPosition.java: -------------------------------------------------------------------------------- 1 | package edu.ycp.cs.dh.acegwt.client.ace; 2 | 3 | /** 4 | * Represents a cursor position. 5 | */ 6 | public class AceEditorCursorPosition { 7 | private final int row, column; 8 | 9 | /** 10 | * Constructor. 11 | * 12 | * @param row row (0 for first row) 13 | * @param column column (0 for first column) 14 | */ 15 | public AceEditorCursorPosition(int row, int column) { 16 | this.row = row; 17 | this.column = column; 18 | } 19 | 20 | /** 21 | * @return the row (0 for first row) 22 | */ 23 | public int getRow() { 24 | return row; 25 | } 26 | 27 | /** 28 | * @return the column (0 for first column) 29 | */ 30 | public int getColumn() { 31 | return column; 32 | } 33 | 34 | @Override 35 | public String toString() { 36 | return row + ":" + column; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/ext-error_marker.js: -------------------------------------------------------------------------------- 1 | (function(){window.require(["ace/ext/error_marker"],function(){})})() -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/ext-statusbar.js: -------------------------------------------------------------------------------- 1 | define("ace/ext/statusbar",["require","exports","module","ace/lib/dom","ace/lib/lang"],function(e,t,n){var r=e("ace/lib/dom"),i=e("ace/lib/lang"),s=function(e,t){this.element=r.createElement("div"),this.element.className="ace_status-indicator",this.element.style.cssText="display: inline-block;",t.appendChild(this.element);var n=i.delayedCall(function(){this.updateStatus(e)}.bind(this));e.on("changeStatus",function(){n.schedule(100)}),e.on("changeSelection",function(){n.schedule(100)})};(function(){this.updateStatus=function(e){function n(e,n){e&&t.push(e,n||"|")}var t=[];e.$vimModeHandler?n(e.$vimModeHandler.getStatusText()):e.commands.recording&&n("REC");var r=e.selection.lead;n(r.row+":"+r.column," ");if(!e.selection.isEmpty()){var i=e.getSelectionRange();n("("+(i.end.row-i.start.row)+":"+(i.end.column-i.start.column)+")")}t.pop(),this.element.textContent=t.join("")}}).call(s.prototype),t.StatusBar=s}),function(){window.require(["ace/ext/statusbar"],function(){})}() -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/ext-themelist.js: -------------------------------------------------------------------------------- 1 | define("ace/ext/themelist",["require","exports","module"],function(e,t,n){var r=[["Chrome"],["Clouds"],["Crimson Editor"],["Dawn"],["Dreamweaver"],["Eclipse"],["GitHub"],["Solarized Light"],["TextMate"],["Tomorrow"],["XCode"],["Kuroir"],["KatzenMilch"],["Ambiance","ambiance","dark"],["Chaos","chaos","dark"],["Clouds Midnight","clouds_midnight","dark"],["Cobalt","cobalt","dark"],["idle Fingers","idle_fingers","dark"],["krTheme","kr_theme","dark"],["Merbivore","merbivore","dark"],["Merbivore Soft","merbivore_soft","dark"],["Mono Industrial","mono_industrial","dark"],["Monokai","monokai","dark"],["Pastel on dark","pastel_on_dark","dark"],["Solarized Dark","solarized_dark","dark"],["Terminal","terminal","dark"],["Tomorrow Night","tomorrow_night","dark"],["Tomorrow Night Blue","tomorrow_night_blue","dark"],["Tomorrow Night Bright","tomorrow_night_bright","dark"],["Tomorrow Night 80s","tomorrow_night_eighties","dark"],["Twilight","twilight","dark"],["Vibrant Ink","vibrant_ink","dark"]];t.themesByName={},t.themes=r.map(function(e){var n=e[1]||e[0].replace(/ /g,"_").toLowerCase(),r={caption:e[0],theme:"ace/theme/"+n,isDark:e[2]=="dark",name:n};return t.themesByName[n]=r,r})}),function(){window.require(["ace/ext/themelist"],function(){})}() -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/mode-lucene.js: -------------------------------------------------------------------------------- 1 | define("ace/mode/lucene",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/lucene_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./lucene_highlight_rules").LuceneHighlightRules,u=function(){this.$tokenizer=new s((new o).getRules())};r.inherits(u,i),function(){this.$id="ace/mode/lucene"}.call(u.prototype),t.Mode=u}),define("ace/mode/lucene_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(){this.$rules={start:[{token:"constant.character.negation",regex:"[\\-]"},{token:"constant.character.interro",regex:"[\\?]"},{token:"constant.character.asterisk",regex:"[\\*]"},{token:"constant.character.proximity",regex:"~[0-9]+\\b"},{token:"keyword.operator",regex:"(?:AND|OR|NOT)\\b"},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"keyword",regex:"[\\S]+:"},{token:"string",regex:'".*?"'},{token:"text",regex:"\\s+"}]}};r.inherits(o,s),t.LuceneHighlightRules=o}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/mode-plain_text.js: -------------------------------------------------------------------------------- 1 | define("ace/mode/plain_text",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./text_highlight_rules").TextHighlightRules,u=e("./behaviour").Behaviour,a=function(){this.HighlightRules=o,this.$behaviour=new u};r.inherits(a,i),function(){this.type="text",this.getNextLineIndent=function(e,t,n){return""},this.$id="ace/mode/plain_text"}.call(a.prototype),t.Mode=a}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/mode-properties.js: -------------------------------------------------------------------------------- 1 | define("ace/mode/properties",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/properties_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text").Mode,s=e("../tokenizer").Tokenizer,o=e("./properties_highlight_rules").PropertiesHighlightRules,u=function(){this.HighlightRules=o};r.inherits(u,i),function(){this.$id="ace/mode/properties"}.call(u.prototype),t.Mode=u}),define("ace/mode/properties_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e=/\\u[0-9a-fA-F]{4}|\\/;this.$rules={start:[{token:"comment",regex:/[!#].*$/},{token:"keyword",regex:/[=:]$/},{token:"keyword",regex:/[=:]/,next:"value"},{token:"constant.language.escape",regex:e},{defaultToken:"variable"}],value:[{regex:/\\$/,token:"string",next:"value"},{regex:/$/,token:"string",next:"start"},{token:"constant.language.escape",regex:e},{defaultToken:"string"}]}};r.inherits(s,i),t.PropertiesHighlightRules=s}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/mode-text.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/mode-text.js -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/abap.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/abap",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="abap"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/ada.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/ada",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="ada"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/apache_conf.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/apache_conf",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="apache_conf"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/asciidoc.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/asciidoc",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="asciidoc"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/assembly_x86.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/assembly_x86",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="assembly_x86"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/autohotkey.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/autohotkey",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="autohotkey"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/batchfile.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/batchfile",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="batchfile"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/c9search.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/c9search",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="c9search"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/cirru.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/cirru",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="cirru"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/cobol.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/cobol",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="cobol"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/coldfusion.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/coldfusion",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="coldfusion"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/csharp.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/csharp",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="csharp"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/curly.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/curly",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="curly"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/d.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/d",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="d"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/dart.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/dart",["require","exports","module"],function(e,t,n){t.snippetText="snippet lib\n library ${1};\n ${2}\nsnippet im\n import '${1}';\n ${2}\nsnippet pa\n part '${1}';\n ${2}\nsnippet pao\n part of ${1};\n ${2}\nsnippet main\n void main() {\n ${1:/* code */}\n }\nsnippet st\n static ${1}\nsnippet fi\n final ${1}\nsnippet re\n return ${1}\nsnippet br\n break;\nsnippet th\n throw ${1}\nsnippet cl\n class ${1:`Filename(\"\", \"untitled\")`} ${2}\nsnippet imp\n implements ${1}\nsnippet ext\n extends ${1}\nsnippet if\n if (${1:true}) {\n ${2}\n }\nsnippet ife\n if (${1:true}) {\n ${2}\n } else {\n ${3}\n }\nsnippet el\n else\nsnippet sw\n switch (${1}) {\n ${2}\n }\nsnippet cs\n case ${1}:\n ${2}\nsnippet de\n default:\n ${1}\nsnippet for\n for (var ${2:i} = 0, len = ${1:things}.length; $2 < len; ${3:++}$2) {\n ${4:$1[$2]}\n }\nsnippet fore\n for (final ${2:item} in ${1:itemList}) {\n ${3:/* code */}\n }\nsnippet wh\n while (${1:/* condition */}) {\n ${2:/* code */}\n }\nsnippet dowh\n do {\n ${2:/* code */}\n } while (${1:/* condition */});\nsnippet as\n assert(${1:/* condition */});\nsnippet try\n try {\n ${2}\n } catch (${1:Exception e}) {\n }\nsnippet tryf\n try {\n ${2}\n } catch (${1:Exception e}) {\n } finally {\n }\n",t.scope="dart"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/diff.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/diff",["require","exports","module"],function(e,t,n){t.snippetText='# DEP-3 (http://dep.debian.net/deps/dep3/) style patch header\nsnippet header DEP-3 style header\n Description: ${1}\n Origin: ${2:vendor|upstream|other}, ${3:url of the original patch}\n Bug: ${4:url in upstream bugtracker}\n Forwarded: ${5:no|not-needed|url}\n Author: ${6:`g:snips_author`}\n Reviewed-by: ${7:name and email}\n Last-Update: ${8:`strftime("%Y-%m-%d")`}\n Applied-Upstream: ${9:upstream version|url|commit}\n\n',t.scope="diff"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/dot.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/dot",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="dot"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/ejs.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/ejs",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="ejs"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/forth.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/forth",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="forth"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/ftl.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/ftl",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="ftl"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/gherkin.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/gherkin",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="gherkin"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/glsl.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/glsl",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="glsl"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/golang.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/golang",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="golang"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/groovy.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/groovy",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="groovy"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/haml.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/haml",["require","exports","module"],function(e,t,n){t.snippetText="snippet t\n %table\n %tr\n %th\n ${1:headers}\n %tr\n %td\n ${2:headers}\nsnippet ul\n %ul\n %li\n ${1:item}\n %li\nsnippet =rp\n = render :partial => '${1:partial}'\nsnippet =rpl\n = render :partial => '${1:partial}', :locals => {}\nsnippet =rpc\n = render :partial => '${1:partial}', :collection => @$1\n\n",t.scope="haml"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/handlebars.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/handlebars",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="handlebars"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/haxe.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/haxe",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="haxe"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/html_completions.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/html_completions",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="html_completions"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/html_ruby.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/html_ruby",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="html_ruby"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/ini.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/ini",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="ini"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/jack.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/jack",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="jack"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/jade.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/jade",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="jade"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/json.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/json",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="json"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/jsoniq.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/jsoniq",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="jsoniq"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/jsx.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/jsx",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="jsx"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/julia.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/julia",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="julia"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/latex.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/latex",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="latex"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/less.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/less",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="less"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/liquid.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/liquid",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="liquid"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/lisp.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/lisp",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="lisp"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/livescript.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/livescript",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="livescript"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/logiql.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/logiql",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="logiql"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/lua.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/lua",["require","exports","module"],function(e,t,n){t.snippetText="snippet #!\n #!/usr/bin/env lua\n $1\nsnippet local\n local ${1:x} = ${2:1}\nsnippet fun\n function ${1:fname}(${2:...})\n ${3:-- body}\n end\nsnippet for\n for ${1:i}=${2:1},${3:10} do\n ${4:print(i)}\n end\nsnippet forp\n for ${1:i},${2:v} in pairs(${3:table_name}) do\n ${4:-- body}\n end\nsnippet fori\n for ${1:i},${2:v} in ipairs(${3:table_name}) do\n ${4:-- body}\n end\n",t.scope="lua"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/luapage.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/luapage",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="luapage"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/lucene.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/lucene",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="lucene"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/makefile.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/makefile",["require","exports","module"],function(e,t,n){t.snippetText="snippet ifeq\n ifeq (${1:cond0},${2:cond1})\n ${3:code}\n endif\n",t.scope="makefile"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/matlab.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/matlab",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="matlab"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/mel.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/mel",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="mel"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/mushcode.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/mushcode",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="mushcode"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/mushcode_high_rules.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/mushcode_high_rules",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="mushcode_high_rules"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/mysql.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/mysql",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="mysql"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/nix.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/nix",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="nix"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/objectivec.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/objectivec",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="objectivec"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/ocaml.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/ocaml",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="ocaml"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/pascal.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/pascal",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="pascal"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/pgsql.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/pgsql",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="pgsql"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/plain_text.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/plain_text",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="plain_text"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/powershell.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/powershell",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="powershell"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/prolog.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/prolog",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="prolog"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/properties.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/properties",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="properties"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/protobuf.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/protobuf",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="protobuf"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/rdoc.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/rdoc",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="rdoc"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/rhtml.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/rhtml",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="rhtml"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/rust.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/rust",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="rust"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/sass.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/sass",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="sass"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/scad.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/scad",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="scad"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/scala.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/scala",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="scala"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/scheme.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/scheme",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="scheme"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/scss.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/scss",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="scss"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/sjs.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/sjs",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="sjs"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/smarty.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/smarty",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="smarty"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/snippets.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/snippets",["require","exports","module"],function(e,t,n){t.snippetText="# snippets for making snippets :)\nsnippet snip\n snippet ${1:trigger}\n ${2}\nsnippet msnip\n snippet ${1:trigger} ${2:description}\n ${3}\nsnippet v\n {VISUAL}\n",t.scope="snippets"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/soy_template.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/soy_template",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="soy_template"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/space.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/space",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="space"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/sql.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/sql",["require","exports","module"],function(e,t,n){t.snippetText="snippet tbl\n create table ${1:table} (\n ${2:columns}\n );\nsnippet col\n ${1:name} ${2:type} ${3:default ''} ${4:not null}\nsnippet ccol\n ${1:name} varchar2(${2:size}) ${3:default ''} ${4:not null}\nsnippet ncol\n ${1:name} number ${3:default 0} ${4:not null}\nsnippet dcol\n ${1:name} date ${3:default sysdate} ${4:not null}\nsnippet ind\n create index ${3:$1_$2} on ${1:table}(${2:column});\nsnippet uind\n create unique index ${1:name} on ${2:table}(${3:column});\nsnippet tblcom\n comment on table ${1:table} is '${2:comment}';\nsnippet colcom\n comment on column ${1:table}.${2:column} is '${3:comment}';\nsnippet addcol\n alter table ${1:table} add (${2:column} ${3:type});\nsnippet seq\n create sequence ${1:name} start with ${2:1} increment by ${3:1} minvalue ${4:1};\nsnippet s*\n select * from ${1:table}\n",t.scope="sql"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/stylus.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/stylus",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="stylus"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/svg.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/svg",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="svg"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/text.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/text",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="text"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/textile.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/textile",["require","exports","module"],function(e,t,n){t.snippetText='# Jekyll post header\nsnippet header\n ---\n title: ${1:title}\n layout: post\n date: ${2:date} ${3:hour:minute:second} -05:00\n ---\n\n# Image\nsnippet img\n !${1:url}(${2:title}):${3:link}!\n\n# Table\nsnippet |\n |${1}|${2}\n\n# Link\nsnippet link\n "${1:link text}":${2:url}\n\n# Acronym\nsnippet (\n (${1:Expand acronym})${2}\n\n# Footnote\nsnippet fn\n [${1:ref number}] ${3}\n\n fn$1. ${2:footnote}\n \n',t.scope="textile"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/toml.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/toml",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="toml"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/twig.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/twig",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="twig"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/typescript.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/typescript",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="typescript"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/vbscript.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/vbscript",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="vbscript"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/velocity.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/velocity",["require","exports","module"],function(e,t,n){t.snippetText='# macro\nsnippet #macro\n #macro ( ${1:macroName} ${2:\\$var1, [\\$var2, ...]} )\n ${3:## macro code}\n #end\n# foreach\nsnippet #foreach\n #foreach ( ${1:\\$item} in ${2:\\$collection} )\n ${3:## foreach code}\n #end\n# if\nsnippet #if\n #if ( ${1:true} )\n ${0}\n #end\n# if ... else\nsnippet #ife\n #if ( ${1:true} )\n ${2}\n #else\n ${0}\n #end\n#import\nsnippet #import\n #import ( "${1:path/to/velocity/format}" )\n# set\nsnippet #set\n #set ( $${1:var} = ${0} )\n',t.scope="velocity",t.includeScopes=["html","javascript","css"]}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/verilog.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/verilog",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="verilog"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/vhdl.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/vhdl",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="vhdl"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/xml.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/xml",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="xml"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/xquery.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/xquery",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="xquery"}) -------------------------------------------------------------------------------- /CloudCoder/src/edu/ycp/cs/dh/acegwt/public/ace/snippets/yaml.js: -------------------------------------------------------------------------------- 1 | define("ace/snippets/yaml",["require","exports","module"],function(e,t,n){t.snippetText="",t.scope="yaml"}) -------------------------------------------------------------------------------- /CloudCoder/src/log4j.properties: -------------------------------------------------------------------------------- 1 | # Create the logger 2 | # log4j configuration for logging to the console 3 | #log4j.logger.org.cloudcoder.submitsvc.oop.builder.test.Slf4jSample=INFO, A1 4 | log4j.rootLogger=INFO, C, FA 5 | 6 | # Appender to write to the console. 7 | log4j.appender.C=org.apache.log4j.ConsoleAppender 8 | log4j.appender.C.layout =org.apache.log4j.PatternLayout 9 | log4j.appender.C.layout.ConversionPattern=%d{ISO8601} %C{1} %-5p - %m%n 10 | 11 | # File appender to write a file that rolls over every night 12 | log4j.appender.FA=org.apache.log4j.DailyRollingFileAppender 13 | log4j.appender.FA.layout =org.apache.log4j.PatternLayout 14 | log4j.appender.FA.layout.ConversionPattern=%d{ISO8601} %C{1} %-5p - %m%n 15 | log4j.appender.FA.file=logs/cloudcoder.log 16 | 17 | # XXX: We can set a higher logging threshold for packages 18 | # or classes like this: 19 | ##log4j.logger.com.foo=WARN 20 | 21 | # Logging thresholds are: 22 | # TRACE 23 | # DEBUG 24 | # INFO 25 | # WARN 26 | # ERROR 27 | # FATAL 28 | # -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/CloudCoderSuperDevMode.gwt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/client/model/LoginIndicator.java: -------------------------------------------------------------------------------- 1 | // CloudCoder - a web-based pedagogical programming environment 2 | // Copyright (C) 2011-2013, Jaime Spacco 3 | // Copyright (C) 2011-2013, David H. Hovemeyer 4 | // 5 | // This program is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU Affero General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU Affero General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU Affero General Public License 16 | // along with this program. If not, see . 17 | 18 | package org.cloudcoder.app.client.model; 19 | 20 | /** 21 | * The presence of this object in the {@link Session} indicates that 22 | * the user just logged in. 23 | * 24 | * @author David Hovemeyer 25 | */ 26 | public class LoginIndicator { 27 | 28 | } 29 | -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/client/page/SessionObserver.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.app.client.page; 2 | 3 | import org.cloudcoder.app.client.model.Session; 4 | import org.cloudcoder.app.shared.util.SubscriptionRegistrar; 5 | 6 | public interface SessionObserver { 7 | 8 | public void activate(Session session, 9 | SubscriptionRegistrar subscriptionRegistrar); 10 | 11 | } -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/client/rpc/ConfigurationSettingService.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.app.client.rpc; 2 | 3 | import org.cloudcoder.app.shared.model.ConfigurationSettingName; 4 | 5 | import com.google.gwt.user.client.rpc.RemoteService; 6 | import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; 7 | 8 | @RemoteServiceRelativePath("configurationSetting") 9 | public interface ConfigurationSettingService extends RemoteService { 10 | public String getConfigurationSettingValue(ConfigurationSettingName name); 11 | } 12 | -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/client/rpc/ConfigurationSettingServiceAsync.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.app.client.rpc; 2 | 3 | import org.cloudcoder.app.shared.model.ConfigurationSettingName; 4 | 5 | import com.google.gwt.user.client.rpc.AsyncCallback; 6 | 7 | public interface ConfigurationSettingServiceAsync { 8 | 9 | void getConfigurationSettingValue(ConfigurationSettingName name, AsyncCallback callback); 10 | 11 | } 12 | -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/client/rpc/RPC.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.app.client.rpc; 2 | 3 | import com.google.gwt.core.client.GWT; 4 | 5 | public abstract class RPC { 6 | public static final ConfigurationSettingServiceAsync configurationSettingService = GWT.create(ConfigurationSettingService.class); 7 | public static final LoginServiceAsync loginService = GWT.create(LoginService.class); 8 | public static final GetCoursesAndProblemsServiceAsync getCoursesAndProblemsService = GWT.create(GetCoursesAndProblemsService.class); 9 | public static final EditCodeServiceAsync editCodeService = GWT.create(EditCodeService.class); 10 | public static final SubmitServiceAsync submitService = GWT.create(SubmitService.class); 11 | public static final UserServiceAsync usersService= GWT.create(UserService.class); 12 | public static final RunServiceAsync runService = GWT.create(RunService.class); 13 | } 14 | -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/client/view/ExtractOutputText.java: -------------------------------------------------------------------------------- 1 | // CloudCoder - a web-based pedagogical programming environment 2 | // Copyright (C) 2011-2013, Jaime Spacco 3 | // Copyright (C) 2011-2013, David H. Hovemeyer 4 | // 5 | // This program is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU Affero General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU Affero General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU Affero General Public License 16 | // along with this program. If not, see . 17 | 18 | package org.cloudcoder.app.client.view; 19 | 20 | 21 | public interface ExtractOutputText { 22 | public String getOutputText(T testResult); 23 | } -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/public/images/CloudCoderLogo-med.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoder/src/org/cloudcoder/app/public/images/CloudCoderLogo-med.png -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/public/images/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoder/src/org/cloudcoder/app/public/images/ajax-loader.gif -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/public/images/blank-icon-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoder/src/org/cloudcoder/app/public/images/blank-icon-sm.png -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/public/images/check-mark-icon-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoder/src/org/cloudcoder/app/public/images/check-mark-icon-sm.png -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/public/images/error-icon-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoder/src/org/cloudcoder/app/public/images/error-icon-sm.png -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/public/images/info-icon-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoder/src/org/cloudcoder/app/public/images/info-icon-sm.png -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/public/images/pencil-sm-gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoder/src/org/cloudcoder/app/public/images/pencil-sm-gray.png -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/public/images/pencil-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoder/src/org/cloudcoder/app/public/images/pencil-sm.png -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/public/images/roller-sm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoder/src/org/cloudcoder/app/public/images/roller-sm.gif -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/server/admin/ConvertXML.java: -------------------------------------------------------------------------------- 1 | // CloudCoder - a web-based pedagogical programming environment 2 | // Copyright (C) 2011-2012, Jaime Spacco 3 | // Copyright (C) 2011-2012, David H. Hovemeyer 4 | // 5 | // This program is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU Affero General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU Affero General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU Affero General Public License 16 | // along with this program. If not, see . 17 | 18 | package org.cloudcoder.app.server.admin; 19 | 20 | /** 21 | * Convert model objects to/from XML. 22 | * 23 | * @author David Hovemeyer 24 | */ 25 | public abstract class ConvertXML { 26 | 27 | } 28 | -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/server/admin/RequestAttributeKeys.java: -------------------------------------------------------------------------------- 1 | // CloudCoder - a web-based pedagogical programming environment 2 | // Copyright (C) 2011-2012, Jaime Spacco 3 | // Copyright (C) 2011-2012, David H. Hovemeyer 4 | // 5 | // This program is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU Affero General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU Affero General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU Affero General Public License 16 | // along with this program. If not, see . 17 | 18 | package org.cloudcoder.app.server.admin; 19 | 20 | /** 21 | * @author David Hovemeyer 22 | * 23 | */ 24 | public interface RequestAttributeKeys { 25 | public static final String USER_KEY = "User"; 26 | public static final String COURSE_KEY = "Course"; 27 | } 28 | -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/server/rpc/ConfigurationSettingServiceImpl.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.app.server.rpc; 2 | 3 | import org.cloudcoder.app.client.rpc.ConfigurationSettingService; 4 | import org.cloudcoder.app.server.persist.Database; 5 | import org.cloudcoder.app.shared.model.ConfigurationSetting; 6 | import org.cloudcoder.app.shared.model.ConfigurationSettingName; 7 | 8 | import com.google.gwt.user.server.rpc.RemoteServiceServlet; 9 | 10 | public class ConfigurationSettingServiceImpl extends RemoteServiceServlet 11 | implements ConfigurationSettingService { 12 | private static final long serialVersionUID = 1L; 13 | 14 | @Override 15 | public String getConfigurationSettingValue(ConfigurationSettingName name) { 16 | ConfigurationSetting configurationSetting = Database.getInstance().getConfigurationSetting(name); 17 | return configurationSetting != null ? configurationSetting.getValue() : null; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /CloudCoder/src/org/cloudcoder/app/shared/dto/ShareExerciseStatus.java: -------------------------------------------------------------------------------- 1 | // CloudCoder - a web-based pedagogical programming environment 2 | // Copyright (C) 2011-2013, Jaime Spacco 3 | // Copyright (C) 2011-2013, David H. Hovemeyer 4 | // 5 | // This program is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU Affero General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU Affero General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU Affero General Public License 16 | // along with this program. If not, see . 17 | 18 | package org.cloudcoder.app.shared.dto; 19 | 20 | /** 21 | * @author jaimespacco 22 | * 23 | */ 24 | public enum ShareExerciseStatus { 25 | ALL_OK, 26 | 27 | ALL_FAILED, 28 | 29 | SOME_FAILED, 30 | } 31 | -------------------------------------------------------------------------------- /CloudCoder/test/org/cloudcoder/app/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoder/test/org/cloudcoder/app/.gitignore -------------------------------------------------------------------------------- /CloudCoder/war/.gitignore: -------------------------------------------------------------------------------- 1 | /logs 2 | -------------------------------------------------------------------------------- /CloudCoder/war/WEB-INF/.gitignore: -------------------------------------------------------------------------------- 1 | /classes 2 | /classes 3 | -------------------------------------------------------------------------------- /CloudCoder/war/WEB-INF/lib/.gitignore: -------------------------------------------------------------------------------- 1 | # Explicitly ignored jarfiles copied from GWT. 2 | # This indicates to fetchdeps.pl that these jarfiles are 3 | # expected (and OK to include in build artifacts). 4 | /gwt-servlet.jar 5 | /gwt-servlet-deps.jar 6 | /requestfactory-server.jar 7 | 8 | # Wildcard so that git ignores the jarfiles explicitly copied by 9 | # fetchdeps.pl (which of course are expected to be present). 10 | /*.jar 11 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/.gitignore: -------------------------------------------------------------------------------- 1 | bin 2 | /log 3 | /output 4 | /lib/diffutils-1.2.1.jar 5 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CloudCoderAnalysis 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | #Mon Dec 03 10:57:42 CST 2012 2 | eclipse.preferences.version=1 3 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 4 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 5 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 6 | org.eclipse.jdt.core.compiler.compliance=1.6 7 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 8 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 9 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 10 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 12 | org.eclipse.jdt.core.compiler.source=1.6 13 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/lib/asm-all-4.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderAnalysis/lib/asm-all-4.1.jar -------------------------------------------------------------------------------- /CloudCoderAnalysis/lib/commons-io-2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderAnalysis/lib/commons-io-2.1.jar -------------------------------------------------------------------------------- /CloudCoderAnalysis/lib/diffutils-1.2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderAnalysis/lib/diffutils-1.2.1.jar -------------------------------------------------------------------------------- /CloudCoderAnalysis/lib/org.eclipse.core.contenttype_3.4.100.v20110423-0524.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderAnalysis/lib/org.eclipse.core.contenttype_3.4.100.v20110423-0524.jar -------------------------------------------------------------------------------- /CloudCoderAnalysis/lib/org.eclipse.core.jobs_3.5.100.v20110404.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderAnalysis/lib/org.eclipse.core.jobs_3.5.100.v20110404.jar -------------------------------------------------------------------------------- /CloudCoderAnalysis/lib/org.eclipse.core.resources_3.7.100.v20110510-0712.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderAnalysis/lib/org.eclipse.core.resources_3.7.100.v20110510-0712.jar -------------------------------------------------------------------------------- /CloudCoderAnalysis/lib/org.eclipse.core.runtime_3.7.0.v20110110.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderAnalysis/lib/org.eclipse.core.runtime_3.7.0.v20110110.jar -------------------------------------------------------------------------------- /CloudCoderAnalysis/lib/org.eclipse.equinox.common_3.6.0.v20110523.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderAnalysis/lib/org.eclipse.equinox.common_3.6.0.v20110523.jar -------------------------------------------------------------------------------- /CloudCoderAnalysis/lib/org.eclipse.equinox.preferences_3.4.1.R37x_v20110725.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderAnalysis/lib/org.eclipse.equinox.preferences_3.4.1.R37x_v20110725.jar -------------------------------------------------------------------------------- /CloudCoderAnalysis/lib/org.eclipse.jdt.compiler.apt_1.0.400.v0110816-0800.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderAnalysis/lib/org.eclipse.jdt.compiler.apt_1.0.400.v0110816-0800.jar -------------------------------------------------------------------------------- /CloudCoderAnalysis/lib/org.eclipse.jdt.compiler.tool_1.0.100.v_B76_R37x.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderAnalysis/lib/org.eclipse.jdt.compiler.tool_1.0.100.v_B76_R37x.jar -------------------------------------------------------------------------------- /CloudCoderAnalysis/lib/org.eclipse.jdt.core_3.7.1.v_B76_R37x.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderAnalysis/lib/org.eclipse.jdt.core_3.7.1.v_B76_R37x.jar -------------------------------------------------------------------------------- /CloudCoderAnalysis/lib/org.eclipse.jface_3.7.0.I20110522-1430.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderAnalysis/lib/org.eclipse.jface_3.7.0.I20110522-1430.jar -------------------------------------------------------------------------------- /CloudCoderAnalysis/lib/org.eclipse.osgi.util_3.2.200.v20110110.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderAnalysis/lib/org.eclipse.osgi.util_3.2.200.v20110110.jar -------------------------------------------------------------------------------- /CloudCoderAnalysis/lib/org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderAnalysis/lib/org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar -------------------------------------------------------------------------------- /CloudCoderAnalysis/lib/org.eclipse.text_3.5.101.r371_v20110810-0800.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderAnalysis/lib/org.eclipse.text_3.5.101.r371_v20110810-0800.jar -------------------------------------------------------------------------------- /CloudCoderAnalysis/src/Exercise1.java: -------------------------------------------------------------------------------- 1 | import java.io.FileOutputStream; 2 | import java.io.PrintStream; 3 | import java.util.Scanner; 4 | 5 | 6 | public class Exercise1 7 | { 8 | 9 | static int fooLocals(int param) { 10 | int x=10; 11 | return x+param; 12 | } 13 | 14 | static int getMax(int[] arr) { 15 | int max=arr[0]; 16 | for (int i=0; imax){ 18 | max=arr[i]; 19 | } 20 | } 21 | return max; 22 | } 23 | 24 | /** 25 | * @param args 26 | */ 27 | public static void main(String[] args) throws Exception 28 | { 29 | System.out.println("OUTPUT DUDE"); 30 | PrintStream out=new PrintStream(new FileOutputStream("/tmp/FOOBAR")); 31 | out.println("Does this effin work?"); 32 | out.flush(); 33 | out.close(); 34 | //Scanner scan=new Scanner(System.in); 35 | //scan.next(); 36 | getMax(new int[] {4, 5, 2, 6, 2, 3, 1, 7}); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/src/org/cloudcoder/analysis/features/java/Feature.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.analysis.features.java; 2 | 3 | public class Feature { 4 | 5 | private String name; 6 | private int id; 7 | 8 | public String getName() { 9 | return name; 10 | } 11 | public void setName(String name) { 12 | this.name = name; 13 | } 14 | public int getId() { 15 | return id; 16 | } 17 | public void setId(int id) { 18 | this.id = id; 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/src/org/cloudcoder/analysis/features/java/MyConnection.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.analysis.features.java; 2 | 3 | import java.sql.Connection; 4 | import java.sql.DriverManager; 5 | import java.sql.SQLException; 6 | 7 | public class MyConnection { 8 | 9 | public Connection getConnection() throws SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException{ 10 | String database="__cc_data"; 11 | String username="root"; 12 | String password=""; 13 | String host="localhost"; 14 | String port="3306"; 15 | 16 | //Class.forName("com.mysql.jdbc.Driver").newInstance(); 17 | String dbServer="jdbc:mysql://" + host+ ":" + port + "/" + database; 18 | return DriverManager.getConnection(dbServer, username, password); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/src/org/cloudcoder/analysis/features/java/Submission.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.analysis.features.java; 2 | 3 | public class Submission { 4 | 5 | private int id; 6 | private int problemId; 7 | private int testsAttempted; 8 | private int testsPassed; 9 | private int userId; 10 | private String source; 11 | 12 | public int getId() { 13 | return id; 14 | } 15 | public void setId(int id) { 16 | this.id = id; 17 | } 18 | public int getProblemId() { 19 | return problemId; 20 | } 21 | public void setProblemId(int problemId) { 22 | this.problemId = problemId; 23 | } 24 | public int getTestsAttempted() { 25 | return testsAttempted; 26 | } 27 | public void setTestsAttempted(int testsAttempted) { 28 | this.testsAttempted = testsAttempted; 29 | } 30 | public int getTestsPassed() { 31 | return testsPassed; 32 | } 33 | public void setTestsPassed(int testsPassed) { 34 | this.testsPassed = testsPassed; 35 | } 36 | public int getUserId() { 37 | return userId; 38 | } 39 | public void setUserId(int userId) { 40 | this.userId = userId; 41 | } 42 | public String getSource() { 43 | return source; 44 | } 45 | public void setSource(String source) { 46 | this.source = source; 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/src/org/cloudcoder/analysis/incremental/compiler/LineEditType.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.analysis.incremental.compiler; 2 | 3 | public enum LineEditType { 4 | /** Edit one line of code */ 5 | EDIT_LINE, 6 | 7 | /** Adds more than 1 line */ 8 | ADD_LINES, 9 | 10 | /** Deletes more than 1 line */ 11 | REMOVE_LINES, 12 | 13 | /** Changes only to the whitespace */ 14 | WHITESPACE, 15 | 16 | /** FULL_TEXT change */ 17 | FULL_TEXT, 18 | } 19 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/src/org/cloudcoder/analysis/tracing/rewriter/java/BlockScope.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.analysis.tracing.rewriter.java; 2 | 3 | import java.util.Collection; 4 | import java.util.HashSet; 5 | import java.util.LinkedHashSet; 6 | import java.util.Set; 7 | 8 | public class BlockScope { 9 | final int startLine; 10 | final int endLine; 11 | Set variables; 12 | BlockScope(int s, int e) { 13 | this.startLine=s; 14 | this.endLine=e; 15 | variables=new LinkedHashSet(); 16 | } 17 | void add(String varName) { 18 | variables.add(varName); 19 | } 20 | void addAll(Collection vars) { 21 | variables.addAll(vars); 22 | } 23 | 24 | public String toString() { 25 | StringBuffer buf=new StringBuffer(); 26 | buf.append(startLine+" to "+endLine+": "); 27 | for (String s : variables) { 28 | buf.append(s); 29 | buf.append(" "); 30 | } 31 | return buf.toString(); 32 | } 33 | } -------------------------------------------------------------------------------- /CloudCoderAnalysis/src/org/cloudcoder/analysis/tracing/rewriter/java/LineNumberParser.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.analysis.tracing.rewriter.java; 2 | 3 | import java.io.File; 4 | import java.io.FileOutputStream; 5 | import java.io.IOException; 6 | 7 | import org.apache.commons.io.IOUtils; 8 | import org.eclipse.jdt.core.dom.ASTNode; 9 | import org.eclipse.jdt.core.dom.ForStatement; 10 | import org.eclipse.jdt.core.dom.Statement; 11 | 12 | public class LineNumberParser extends GraphVizParser 13 | { 14 | public boolean preVisit2(ASTNode node) { 15 | process(node, getTypeName(node.getClass())+" "+getStartLine(node)+" "+getEndLine(node)); 16 | return super.preVisit2(node); 17 | } 18 | 19 | public static void parseFile(File infile, File outfile) throws IOException { 20 | LineNumberParser parser=new LineNumberParser(); 21 | parser.parse(infile); 22 | FileOutputStream fos=new FileOutputStream(outfile); 23 | IOUtils.write(parser.getDotFormatString(), fos); 24 | fos.flush(); 25 | fos.close(); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/src/org/cloudcoder/analysis/tracing/rewriter/java/LoopVariableStore.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.analysis.tracing.rewriter.java; 2 | 3 | public class LoopVariableStore extends VariableStore 4 | { 5 | protected int nestingDepth; 6 | protected int[] iterations; 7 | 8 | public LoopVariableStore(String lineNum, int depth, int... iterations) { 9 | super(lineNum); 10 | this.nestingDepth=depth; 11 | this.iterations=iterations; 12 | } 13 | 14 | 15 | 16 | } 17 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/test/junit/org/cloudcoder/analysis/features/java/LineNumberASTPrinter.java: -------------------------------------------------------------------------------- 1 | package junit.org.cloudcoder.analysis.features.java; 2 | 3 | import static org.junit.Assert.*; 4 | 5 | import java.io.File; 6 | import java.io.IOException; 7 | 8 | import org.cloudcoder.analysis.tracing.rewriter.java.LineNumberParser; 9 | import org.junit.Test; 10 | 11 | public class LineNumberASTPrinter 12 | { 13 | static final String inpath="testing/rewrite/java"; 14 | static final String outpath="output"; 15 | 16 | static void parse(String filename) throws IOException { 17 | 18 | 19 | File infile=new File(inpath+"/"+filename+".java"); 20 | File outfile=new File(outpath+"/"+filename+".dot"); 21 | LineNumberParser.parseFile(infile, outfile); 22 | } 23 | 24 | @Test 25 | public void testExercise1() throws Exception { 26 | parse("Exercise1"); 27 | } 28 | 29 | @Test 30 | public void testVarChecker() throws Exception { 31 | parse("VarChecker"); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/test/junit/org/cloudcoder/analysis/features/java/TestParser.java: -------------------------------------------------------------------------------- 1 | package junit.org.cloudcoder.analysis.features.java; 2 | 3 | import org.cloudcoder.analysis.features.java.FeatureVisitor; 4 | import org.junit.Test; 5 | 6 | public class TestParser 7 | { 8 | @Test 9 | public void testFeatureExtract() throws Exception 10 | { 11 | String filePath="testing/features/java/MissingSemicolon.java"; 12 | FeatureVisitor visitor=new FeatureVisitor(); 13 | visitor.extractFeatures(filePath); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/testing/features/java/A1.java: -------------------------------------------------------------------------------- 1 | public class A1 2 | { 3 | public int sq(int x) { 4 | // missing a return statement 5 | int y=x*x; 6 | 7 | } 8 | } -------------------------------------------------------------------------------- /CloudCoderAnalysis/testing/features/java/Bracket.java: -------------------------------------------------------------------------------- 1 | public class Bracket 2 | { 3 | public void foo(int x, int y) { 4 | if (x > y) { 5 | System.out.println("Hello"); 6 | } else { 7 | System.out.println("Goodbye"); 8 | } 9 | } 10 | 11 | } -------------------------------------------------------------------------------- /CloudCoderAnalysis/testing/features/java/CountA1.java: -------------------------------------------------------------------------------- 1 | public class Test { 2 | public static int countA(String str) 3 | { 4 | //int[] arr; 5 | // code goes here 6 | int count=0; 7 | for (int i=0; i=b && a<=c){ 4 | return true; 5 | } 6 | return false; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/testing/features/java/IfChain1.java: -------------------------------------------------------------------------------- 1 | public class Test { 2 | public boolean isBetween(int a, int b, int c) { 3 | if (a>=b && a<=c){ 4 | return true; 5 | } 6 | else if (a<=b && a>=c){ 7 | return true; 8 | } 9 | else if (a<-1000) { 10 | return true; 11 | } 12 | else { 13 | return false; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/testing/features/java/IfChain2.java: -------------------------------------------------------------------------------- 1 | public class Test { 2 | public boolean isBetween(int a, int b, int c) { 3 | if (a>=b && a<=c){ 4 | return true; 5 | } 6 | else { 7 | if (a<=b && a>=c){ 8 | return true; 9 | } 10 | } 11 | else { 12 | return false; 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/testing/features/java/IfElse1.java: -------------------------------------------------------------------------------- 1 | public class Test { 2 | public boolean isBetween(int a, int b, int c) { 3 | if (a>=b && a<=c){ 4 | return true; 5 | } else { 6 | return false; 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/testing/features/java/IfElseIf.java: -------------------------------------------------------------------------------- 1 | public class Test { 2 | public boolean isBetween(int a, int b, int c) { 3 | if (a>=b && a<=c){ 4 | return true; 5 | } 6 | else if (a<=b && a>=c){ 7 | return true; 8 | } 9 | return false; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/testing/features/java/IfElseIfElse.java: -------------------------------------------------------------------------------- 1 | public class Test { 2 | public boolean isBetween(int a, int b, int c) { 3 | if (a>=b && a<=c){ 4 | return true; 5 | } 6 | else if (a<=b && a>=c){ 7 | return true; 8 | } 9 | else { 10 | return false; 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/testing/features/java/In1To10a.java: -------------------------------------------------------------------------------- 1 | public class Test { 2 | public static boolean in1to10(int n, boolean inside) 3 | { 4 | if(inside==true) { 5 | if(n<=10 && n>=1){ 6 | return true; 7 | } else { 8 | return false; 9 | } 10 | } else{ 11 | if(n>10 || n<1){ 12 | return true; 13 | } else { 14 | return false; 15 | } 16 | 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /CloudCoderAnalysis/testing/features/java/ManyReturns.java: -------------------------------------------------------------------------------- 1 | public class Test 2 | { 3 | 4 | public int test1(int a, int b) { 5 | return a+b; 6 | } 7 | 8 | public int test2(int a, int b) { 9 | return a+7; 10 | } 11 | 12 | public boolean test3(int a, int b) { 13 | return a>b; 14 | } 15 | } -------------------------------------------------------------------------------- /CloudCoderAnalysis/testing/features/java/MissingSemicolon.java: -------------------------------------------------------------------------------- 1 | 2 | public class MissingSemicolon 3 | { 4 | public int sq(int x) { 5 | return x*x 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /CloudCoderAnalysis/testing/features/java/NestedForLoops.java: -------------------------------------------------------------------------------- 1 | public class NestedForLoops 2 | { 3 | public void foo(int z) { 4 | int sum=0; 5 | for (int i=0; i y) 5 | System.out.println("Hello"); 6 | else 7 | System.out.println("Goodbye"); 8 | } 9 | 10 | } -------------------------------------------------------------------------------- /CloudCoderAnalysis/testing/rewrite/java/Exercise1.java: -------------------------------------------------------------------------------- 1 | import java.io.FileOutputStream; 2 | import java.io.PrintStream; 3 | 4 | public class Exercise1 { 5 | static int getMax(int[] arr) { 6 | int max=arr[0]; 7 | for (int i=0; imax){ 9 | max=arr[i]; 10 | } 11 | } 12 | return max; 13 | } 14 | 15 | /** 16 | * @param args 17 | */ 18 | public static void main(String[] args) throws Exception 19 | { 20 | getMax(new int[] {4, 5, 2, 6, 2, 3, 1, 7}); 21 | } 22 | } -------------------------------------------------------------------------------- /CloudCoderAnalysis/testing/rewrite/java/VarChecker2.java: -------------------------------------------------------------------------------- 1 | public class VarChecker2 { 2 | public static int max(int[] arr1, int[] arr2, int x, int y, String z) { 3 | for (int i=0, j=0; i < arr1.length; i++) { 4 | int max=123; 5 | 6 | System.out.println(arr1[i] + arr2[j]); 7 | 8 | } 9 | int local1=5; 10 | 11 | String str; 12 | 13 | for (int i=0; i < 10; i++) { 14 | for (int j=0; j <= i; j++) { 15 | local1++; 16 | 17 | } 18 | } 19 | { 20 | int strangeInnerBlockLocal=9; 21 | } 22 | 23 | String s="this is a really really really really really " + "really really really long String"; 24 | 25 | int count=Math.max(5,Math.max(3,z)); 26 | 27 | while (count < 10) { 28 | int c2=count + local1; 29 | 30 | System.out.println(c2); 31 | 32 | count++; 33 | 34 | } 35 | return 0; 36 | 37 | } 38 | } 39 | 40 | -------------------------------------------------------------------------------- /CloudCoderBuilder2/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /CloudCoderBuilder2/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | /log 3 | /dummy.properties 4 | /cloudcoderBuilder.jar 5 | /cloudcoderBuilder-v*.jar 6 | /VERSION 7 | /addver.sh 8 | /*.fifo 9 | /*.pid 10 | /lib/cachedir 11 | /cachedir 12 | /instance-* 13 | /arthur-* 14 | /eddie-* 15 | /ford-* 16 | /hotblack-* 17 | /marvin-* 18 | /trillian-* 19 | /zaphod-* 20 | -------------------------------------------------------------------------------- /CloudCoderBuilder2/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CloudCoderBuilder2 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /CloudCoderBuilder2/cctest.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | # Script for starting/stopping a builder on one of the cluster 4 | # machines. 5 | 6 | if [ $# -eq 0 ]; then 7 | echo "Usage:" 8 | echo " ./cctest.sh " 9 | exit 1 10 | fi 11 | 12 | instanceName=$(hostname) 13 | 14 | # Invoke the builder, using an instance name and log filename 15 | # prefix based on the hostname. This will allow multiple builders 16 | # to coexist in the same (shared) directory. 17 | java -jar cloudcoderBuilder.jar \ 18 | --jvmOptions="-Dbuilder2.log.prefix=$instanceName-" \ 19 | --instance=$instanceName \ 20 | --stdoutLog=log/$instanceName-stdout.log \ 21 | "$@" 22 | -------------------------------------------------------------------------------- /CloudCoderBuilder2/fetch-easysandbox.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | # Fetch the latest source files for EasySandbox from GitHub. 4 | # The builder will compile these at runtime and link them into 5 | # a shared library, which can then (via LD_PRELOAD) be used 6 | # to sandbox C/C++ submissions. 7 | 8 | wget --quiet --output-document=- \ 9 | https://raw.github.com/daveho/EasySandbox/master/EasySandbox.c \ 10 | > src/org/cloudcoder/builder2/csandbox/res/EasySandbox.c 11 | 12 | wget --quiet --output-document=- \ 13 | https://raw.github.com/daveho/EasySandbox/master/malloc.c \ 14 | > src/org/cloudcoder/builder2/csandbox/res/malloc.c 15 | -------------------------------------------------------------------------------- /CloudCoderBuilder2/lib/.gitignore: -------------------------------------------------------------------------------- 1 | /*.jar 2 | -------------------------------------------------------------------------------- /CloudCoderBuilder2/src/.gitignore: -------------------------------------------------------------------------------- 1 | /VERSION 2 | -------------------------------------------------------------------------------- /CloudCoderBuilder2/src/defaultkeystore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderBuilder2/src/defaultkeystore.jks -------------------------------------------------------------------------------- /CloudCoderBuilder2/src/log4j.properties: -------------------------------------------------------------------------------- 1 | # Create the logger 2 | # log4j configuration for logging to the console 3 | #log4j.logger.org.cloudcoder.submitsvc.oop.builder.test.Slf4jSample=INFO, A1 4 | log4j.rootLogger=TRACE, C, FA 5 | 6 | # Appender to write to the console. 7 | log4j.appender.C=org.apache.log4j.ConsoleAppender 8 | log4j.appender.C.layout =org.apache.log4j.PatternLayout 9 | log4j.appender.C.layout.ConversionPattern=%d{ISO8601} %C{1} %-5p - %m%n 10 | 11 | # File appender to write a file that rolls over every night 12 | log4j.appender.FA=org.apache.log4j.DailyRollingFileAppender 13 | log4j.appender.FA.layout =org.apache.log4j.PatternLayout 14 | log4j.appender.FA.layout.ConversionPattern=%d{ISO8601} %C{1} %-5p - %m%n 15 | # The system property builder2.log.prefix can be used to specify a 16 | # custom filename prefix for the log file. This is useful if, 17 | # e.g., there are multiple builders running in the same 18 | # directory (with different instance names). 19 | log4j.appender.FA.file=log/${builder2.log.prefix}builder.log 20 | 21 | # XXX: We can set a higher logging threshold for packages 22 | # or classes like this: 23 | ##log4j.logger.com.foo=WARN 24 | 25 | # Logging thresholds are: 26 | # TRACE 27 | # DEBUG 28 | # INFO 29 | # WARN 30 | # ERROR 31 | # FATAL 32 | # -------------------------------------------------------------------------------- /CloudCoderBuilder2/src/org/cloudcoder/builder2/ccompiler/CUtil.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.builder2.ccompiler; 2 | 3 | import org.cloudcoder.app.shared.model.CompilationOutcome; 4 | import org.cloudcoder.app.shared.model.CompilationResult; 5 | import org.cloudcoder.app.shared.model.CompilerDiagnostic; 6 | import org.cloudcoder.app.shared.model.SubmissionResult; 7 | import org.cloudcoder.app.shared.model.TestResult; 8 | 9 | public class CUtil { 10 | 11 | public static SubmissionResult createSubmissionResultFromFailedCompile(Compiler compiler, int prologueLength, int epilogueLength) { 12 | CompilerDiagnostic[] compilerDiagnosticList = compiler.getCompilerDiagnosticList(); 13 | CompilationResult compilationResult = new CompilationResult(CompilationOutcome.FAILURE); 14 | compilationResult.setCompilerDiagnosticList(compilerDiagnosticList); 15 | compilationResult.adjustDiagnosticLineNumbers(prologueLength, epilogueLength); 16 | SubmissionResult submissionResult = new SubmissionResult(compilationResult); 17 | submissionResult.setTestResults(new TestResult[0]); 18 | return submissionResult; 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /CloudCoderBuilder2/src/org/cloudcoder/builder2/javasandbox/TimeoutHandler.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.builder2.javasandbox; 2 | 3 | /** 4 | * Callback handler to create a new task outcome of type T 5 | * when a task times out. 6 | * 7 | * It's necessary to have a callback here because several 8 | * task threads may time out, requiring the creation of multiple 9 | * objects for each timeout. 10 | * 11 | */ 12 | public interface TimeoutHandler { 13 | public T handleTimeout(); 14 | } -------------------------------------------------------------------------------- /CloudCoderBuilder2/src/org/cloudcoder/builder2/model/Bytecode.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.builder2.model; 2 | 3 | /** 4 | * A bytecode artifact such as a Java classfile, 5 | * where the binary representation is stored in memory. 6 | * 7 | * @author David Hovemeyer 8 | */ 9 | public class Bytecode { 10 | private String className; 11 | private byte[] code; 12 | 13 | public Bytecode(String className, byte[] code) { 14 | this.className = className; 15 | this.code = code; 16 | } 17 | 18 | public String getClassName() { 19 | return className; 20 | } 21 | 22 | public byte[] getCode() { 23 | return code; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /CloudCoderBuilder2/tests/junit/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderBuilder2/tests/junit/.gitignore -------------------------------------------------------------------------------- /CloudCoderBuilder2/tests/junit/org/cloudcoder/builder2/tests/c/CProgramTest.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.builder2.tests.c; 2 | 3 | import org.cloudcoder.app.shared.model.ProblemAndTestCaseList; 4 | import org.cloudcoder.app.shared.model.SubmissionResult; 5 | import org.cloudcoder.builder2.tests.BuilderTest; 6 | import org.junit.AfterClass; 7 | import org.junit.Before; 8 | import org.junit.Test; 9 | 10 | public class CProgramTest extends BuilderTest { 11 | private ProblemAndTestCaseList skip3; 12 | 13 | @Before 14 | public void start() { 15 | if (createContext()) { 16 | skip3 = getContext().getExercise("skip3"); 17 | } 18 | } 19 | 20 | @Test 21 | public void testSkip3GoodSubmission() { 22 | String source = getContext().getSourceText("skip3_pass.c"); 23 | SubmissionResult result = getContext().testSubmission(source, skip3); 24 | super.assertAllTestsPassed(result, skip3); 25 | } 26 | 27 | @Test 28 | public void testSkip3TimeoutInfiniteLoop() { 29 | String source = getContext().getSourceText("skip3_timeout_infinite_loop.c"); 30 | SubmissionResult result = getContext().testSubmission(source, skip3); 31 | super.assertAllTestsTimedOut(result, skip3); 32 | } 33 | 34 | @AfterClass 35 | public static void whenDone() { 36 | BuilderTest.getInstance().destroyContext(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /CloudCoderBuilder2/tests/junit/org/cloudcoder/builder2/tests/res/compute_sum.json: -------------------------------------------------------------------------------- 1 | {"problem_data":{"problem_type":1,"testname":"compute_sum","brief_description":"compute the sum of two numbers","description":"

Write a function called compute_sum<\/code> that\n takes two parameters and returns their sum.<\/p>\n

Example calls:<\/p>\n

    \n
  • compute_sum(2, 3)<\/code> => 5<\/code><\/li>\n
  • compute_sum(4, -11)<\/code> => -7<\/code><\/li>\n
  • compute_sum(42, 0)<\/code> => 42<\/code><\/li>\n<\/ul>","skeleton":"","schema_version":4,"author_name":"David Hovemeyer","author_email":"dhovemey@ycp.edu","author_website":"http:\/\/faculty.ycp.edu\/~dhovemey","timestamp_utc":1377615525510,"license":1,"parent_hash":"","external_library_url":"","external_library_md5":""},"test_case_data_list":[{"test_case_name":"twoPlusThree","input":"2, 3","output":"5","secret":false},{"test_case_name":"fourPlusMinusEleven","input":"4, -11","output":"-7","secret":false},{"test_case_name":"fortyTwoPlusZero","input":"42, 0","output":"42","secret":false}]} -------------------------------------------------------------------------------- /CloudCoderBuilder2/tests/junit/org/cloudcoder/builder2/tests/res/compute_sum_missing_import.py: -------------------------------------------------------------------------------- 1 | import blurglecruncheon 2 | 3 | def compute_sum(a, b): 4 | return a + b -------------------------------------------------------------------------------- /CloudCoderBuilder2/tests/junit/org/cloudcoder/builder2/tests/res/compute_sum_pass.py: -------------------------------------------------------------------------------- 1 | def compute_sum(a, b): 2 | return a + b -------------------------------------------------------------------------------- /CloudCoderBuilder2/tests/junit/org/cloudcoder/builder2/tests/res/compute_sum_wrong_function_name.py: -------------------------------------------------------------------------------- 1 | def comput_sum(a, b): 2 | return a + b -------------------------------------------------------------------------------- /CloudCoderBuilder2/tests/junit/org/cloudcoder/builder2/tests/res/gravity_nameerror_due_to_misspelled_param.py: -------------------------------------------------------------------------------- 1 | def gravity (time, initalVelocity): 2 | """ 3 | return float indicating number of meters an object has fallen 4 | after being thrown with an initial velocity (given in meters per 5 | second) and after falling for time seconds 6 | """ 7 | # TODO: complete code here 8 | vt = initialVelocity + 9.8 * time 9 | return (vt + initialVelocity) * time / 2 -------------------------------------------------------------------------------- /CloudCoderBuilder2/tests/junit/org/cloudcoder/builder2/tests/res/skip3_pass.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main(void) { 4 | // Declare variables for input (start and end) 5 | int start=45, end=67, i; 6 | 7 | // Read input values 8 | scanf("%i", &start); 9 | scanf("%i", &end); 10 | 11 | printf("start=%i, end=%i\n", start, end); 12 | 13 | // Use a loop to print the output values 14 | for (i = start ; i <= end ; i += 3){ 15 | printf("%i ", i); 16 | 17 | } 18 | 19 | return 0; 20 | } -------------------------------------------------------------------------------- /CloudCoderBuilder2/tests/junit/org/cloudcoder/builder2/tests/res/skip3_timeout_by_sleeping.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main(void) { 4 | for (;;) { 5 | sleep(10); 6 | } 7 | return 0; 8 | } -------------------------------------------------------------------------------- /CloudCoderBuilder2/tests/junit/org/cloudcoder/builder2/tests/res/skip3_timeout_infinite_loop.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main(void) { 4 | // Declare variables for input (start and end) 5 | int start, end, i; 6 | 7 | // Read input values 8 | scanf("%i", &start); 9 | scanf("%i", &end); 10 | 11 | printf("start=%i, end=%i\n", start, end); 12 | 13 | // Use a loop to print the output values 14 | for (i = start ; i <= end ; i += 0){ 15 | printf("%i ", i); 16 | 17 | } 18 | 19 | return 0; 20 | } -------------------------------------------------------------------------------- /CloudCoderBuilder2/tests/junit/org/cloudcoder/builder2/util/ArrayUtilTest.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.builder2.util; 2 | 3 | import static org.junit.Assert.assertEquals; 4 | import static org.junit.Assert.assertTrue; 5 | 6 | import org.cloudcoder.app.shared.model.ModelObjectUtil; 7 | import org.junit.Before; 8 | import org.junit.Test; 9 | 10 | public class ArrayUtilTest { 11 | 12 | private String[] a1; // no null values 13 | private String[] a2; // two null values 14 | 15 | @Before 16 | public void setUp() { 17 | a1 = new String[]{ "a", "b", "c" }; 18 | a2 = new String[]{ "p", null, "q", "r", null }; 19 | } 20 | 21 | @Test 22 | public void testCountNullElements() { 23 | assertEquals(0, ArrayUtil.countNullElements(a1)); 24 | assertEquals(2, ArrayUtil.countNullElements(a2)); 25 | } 26 | 27 | @Test 28 | public void testStripNullElements() { 29 | String[] a1Strip = ArrayUtil.stripNullElements(a1); 30 | assertTrue(ModelObjectUtil.arrayEquals(a1, a1Strip)); 31 | 32 | String[] a2Strip = ArrayUtil.stripNullElements(a2); 33 | assertTrue(ModelObjectUtil.arrayEquals(new String[]{"p", "q", "r"}, a2Strip)); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /CloudCoderBuilderWebService/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /CloudCoderBuilderWebService/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | /logs 3 | /cloudcoderBuilderWebService.jar 4 | -------------------------------------------------------------------------------- /CloudCoderBuilderWebService/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CloudCoderBuilderWebService 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /CloudCoderBuilderWebService/src/defaultkeystore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderBuilderWebService/src/defaultkeystore.jks -------------------------------------------------------------------------------- /CloudCoderBuilderWebService/src/log4j.properties: -------------------------------------------------------------------------------- 1 | # Create the logger 2 | # log4j configuration for logging to the console 3 | #log4j.logger.org.cloudcoder.submitsvc.oop.builder.test.Slf4jSample=INFO, A1 4 | log4j.rootLogger=INFO, C, FA 5 | 6 | # Appender to write to the console. 7 | log4j.appender.C=org.apache.log4j.ConsoleAppender 8 | log4j.appender.C.layout =org.apache.log4j.PatternLayout 9 | log4j.appender.C.layout.ConversionPattern=%d{ISO8601} %C{1} %-5p - %m%n 10 | 11 | # File appender to write a file that rolls over every night 12 | log4j.appender.FA=org.apache.log4j.DailyRollingFileAppender 13 | log4j.appender.FA.layout =org.apache.log4j.PatternLayout 14 | log4j.appender.FA.layout.ConversionPattern=%d{ISO8601} %C{1} %-5p - %m%n 15 | log4j.appender.FA.file=logs/cloudcoderbws.log 16 | 17 | # XXX: We can set a higher logging threshold for packages 18 | # or classes like this: 19 | ##log4j.logger.com.foo=WARN 20 | 21 | # Logging thresholds are: 22 | # TRACE 23 | # DEBUG 24 | # INFO 25 | # WARN 26 | # ERROR 27 | # FATAL 28 | # -------------------------------------------------------------------------------- /CloudCoderBuilderWebService/src/org/cloudcoder/builderwebservice/servlets/Constants.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.builderwebservice.servlets; 2 | 3 | public interface Constants { 4 | public static final int FAKE_PROBLEM_ID = 99; 5 | } 6 | -------------------------------------------------------------------------------- /CloudCoderDataAnalysis/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | /*.csv 3 | /cloudcoderDataAnalysis.jar 4 | /deps.jar 5 | /testout 6 | -------------------------------------------------------------------------------- /CloudCoderDataAnalysis/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CloudCoderDataAnalysis 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /CloudCoderDataAnalysis/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 5 | org.eclipse.jdt.core.compiler.compliance=1.7 6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 11 | org.eclipse.jdt.core.compiler.source=1.7 12 | -------------------------------------------------------------------------------- /CloudCoderDataAnalysis/lib/.gitignore: -------------------------------------------------------------------------------- 1 | /opencsv-2.4.jar 2 | /daemon-0.7.jar 3 | /jackson-annotations-2.4.1.jar 4 | /jackson-core-2.4.1.jar 5 | /jackson-databind-2.4.1.jar -------------------------------------------------------------------------------- /CloudCoderDataAnalysis/src/org/cloudcoder/dataanalysis/EditRates.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.dataanalysis; 2 | 3 | public class EditRates { 4 | public static void main(String[] args) { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /CloudCoderHealthMonitor/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | /lib 3 | /logs 4 | /*.pid 5 | /*.fifo 6 | /cloudcoderHealthMonitor.jar 7 | /cloudcoder.properties 8 | -------------------------------------------------------------------------------- /CloudCoderHealthMonitor/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CloudCoderHealthMonitor 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /CloudCoderHealthMonitor/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 5 | org.eclipse.jdt.core.compiler.compliance=1.7 6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 11 | org.eclipse.jdt.core.compiler.source=1.7 12 | -------------------------------------------------------------------------------- /CloudCoderHealthMonitor/src/log4j.properties: -------------------------------------------------------------------------------- 1 | # Create the logger 2 | # log4j configuration for logging to the console 3 | #log4j.logger.org.cloudcoder.submitsvc.oop.builder.test.Slf4jSample=INFO, A1 4 | log4j.rootLogger=INFO, C, FA 5 | 6 | # Appender to write to the console. 7 | log4j.appender.C=org.apache.log4j.ConsoleAppender 8 | log4j.appender.C.layout =org.apache.log4j.PatternLayout 9 | log4j.appender.C.layout.ConversionPattern=%d{ISO8601} %C{1} %-5p - %m%n 10 | 11 | # File appender to write a file that rolls over every night 12 | log4j.appender.FA=org.apache.log4j.DailyRollingFileAppender 13 | log4j.appender.FA.layout =org.apache.log4j.PatternLayout 14 | log4j.appender.FA.layout.ConversionPattern=%d{ISO8601} %C{1} %-5p - %m%n 15 | log4j.appender.FA.file=logs/healthMonitor.log 16 | 17 | # XXX: We can set a higher logging threshold for packages 18 | # or classes like this: 19 | ##log4j.logger.com.foo=WARN 20 | 21 | # Logging thresholds are: 22 | # TRACE 23 | # DEBUG 24 | # INFO 25 | # WARN 26 | # ERROR 27 | # FATAL 28 | # -------------------------------------------------------------------------------- /CloudCoderJetty/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | /cloudcoderJetty.jar 3 | /jettyDeps.jar 4 | -------------------------------------------------------------------------------- /CloudCoderJetty/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CloudCoderJetty 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /CloudCoderJetty/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 5 | org.eclipse.jdt.core.compiler.compliance=1.6 6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 11 | org.eclipse.jdt.core.compiler.source=1.6 12 | -------------------------------------------------------------------------------- /CloudCoderJetty/README: -------------------------------------------------------------------------------- 1 | This project is for the Jetty libraries and support code for 2 | launching a webapp using an embedded Jetty server in 3 | a single-jarfile deployment. -------------------------------------------------------------------------------- /CloudCoderJetty/lib/.gitignore: -------------------------------------------------------------------------------- 1 | *.jar 2 | -------------------------------------------------------------------------------- /CloudCoderJetty/lib/owasp/guava.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderJetty/lib/owasp/guava.jar -------------------------------------------------------------------------------- /CloudCoderJetty/lib/owasp/jsr305.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderJetty/lib/owasp/jsr305.jar -------------------------------------------------------------------------------- /CloudCoderJetty/lib/owasp/owasp-java-html-sanitizer.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderJetty/lib/owasp/owasp-java-html-sanitizer.jar -------------------------------------------------------------------------------- /CloudCoderLoadTester/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /CloudCoderLoadTester/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | /lib/*.jar 3 | /edits.dat 4 | /logs 5 | /cloudcoderLoadTester.jar 6 | /out 7 | -------------------------------------------------------------------------------- /CloudCoderLoadTester/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CloudCoderLoadTester 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /CloudCoderLoadTester/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 5 | org.eclipse.jdt.core.compiler.compliance=1.7 6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 11 | org.eclipse.jdt.core.compiler.source=1.7 12 | -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/log4j.properties: -------------------------------------------------------------------------------- 1 | # Root logger option 2 | log4j.rootLogger=INFO, stdout 3 | 4 | # Direct log messages to stdout 5 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender 6 | log4j.appender.stdout.Target=System.out 7 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 8 | log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 9 | -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/005.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/005.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/006.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/006.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/007.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/007.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/008.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/008.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/009.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/009.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/010.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/010.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/012.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/012.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/013.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/013.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/014.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/014.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/015.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/015.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/016.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/016.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/017.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/017.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/018.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/018.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/020.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/020.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/021.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/021.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/022.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/022.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/024.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/024.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/025.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/025.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/026.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/026.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/027.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/027.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/028.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/028.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/029.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/029.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/031.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/031.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/032.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/032.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/033.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/033.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/034.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/034.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/035.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/035.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/036.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/036.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/037.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/037.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/038.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/038.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/039.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/039.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/040.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/040.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/041.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/041.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/042.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/042.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/044.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/044.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/046.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/046.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/051.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/051.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/052.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/052.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/053.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/053.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/054.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/054.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/056.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/056.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/057.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/057.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/058.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/058.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/059.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/059.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/060.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/060.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/062.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/062.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/063.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/063.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/064.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/064.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/065.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/065.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/066.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/066.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/067.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/067.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/069.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/069.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/070.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/070.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/071.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/071.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/072.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/072.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/073.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/073.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/074.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/074.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/075.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/075.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/076.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/076.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/077.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/077.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/078.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/078.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/079.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/079.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/080.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/080.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/081.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/081.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/082.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/082.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/083.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/083.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/084.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/084.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/085.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/085.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/086.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/086.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/087.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/087.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/088.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/088.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/089.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/089.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/090.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/090.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/091.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/091.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/092.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/092.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/093.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/093.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/094.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/094.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/095.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/095.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/097.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/097.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/098.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/098.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/099.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/099.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/101.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/101.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/102.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/102.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/103.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/103.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/104.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/104.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/105.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/105.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/106.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/106.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/107.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/107.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/108.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/108.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/109.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/109.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/110.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/110.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/112.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/112.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/113.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/113.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/115.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/115.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/118.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/118.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/119.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/119.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/120.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/120.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/121.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/121.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/122.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/122.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/123.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/123.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/124.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/124.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/125.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/125.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/126.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/126.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/127.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/127.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/128.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/128.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/129.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/129.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/130.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/130.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/131.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/131.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/132.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/132.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/133.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/133.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/134.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/134.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/135.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/135.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/136.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/136.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/140.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/140.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/141.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/141.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/142.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/142.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/143.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/6c0ba8b618beb177ef68588777287a30da1b02b0/143.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/86bc02a726f8b86bc49e53e9777590f56219776d.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/86bc02a726f8b86bc49e53e9777590f56219776d.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/b5a9968781e7c4f602e66cfde6ded9745b06eff7.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/b5a9968781e7c4f602e66cfde6ded9745b06eff7.dat -------------------------------------------------------------------------------- /CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/b89ba215e53343923a07d005cb03116ae07a31fb.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderLoadTester/src/org/cloudcoder/app/loadtester/res/b89ba215e53343923a07d005cb03116ae07a31fb.dat -------------------------------------------------------------------------------- /CloudCoderLogging/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | -------------------------------------------------------------------------------- /CloudCoderLogging/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CloudCoderLogging 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /CloudCoderLogging/README: -------------------------------------------------------------------------------- 1 | This project holds the log4j and slf4j jarfiles, to avoid 2 | duplicating them in every project. 3 | 4 | It also contains the jarfiles for owasp-java-html-sanitizer, 5 | to avoid duplication. 6 | 7 | Probably the project should be renamed something like "CloudCoderWebappCommon". 8 | -------------------------------------------------------------------------------- /CloudCoderLogging/lib/.gitignore: -------------------------------------------------------------------------------- 1 | /*.jar 2 | -------------------------------------------------------------------------------- /CloudCoderModelClasses/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /CloudCoderModelClasses/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | /cloudcoderModelClasses.jar 3 | -------------------------------------------------------------------------------- /CloudCoderModelClasses/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CloudCoderModelClasses 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /CloudCoderModelClasses/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /CloudCoderModelClasses/src/org/cloudcoder/app/shared/model/EventType.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.app.shared.model; 2 | 3 | public enum EventType { 4 | CHANGE, 5 | AFFECT_DATA, 6 | SUBMIT, 7 | // more... 8 | } 9 | -------------------------------------------------------------------------------- /CloudCoderModelClasses/src/org/cloudcoder/app/shared/model/IAssignment.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.app.shared.model; 2 | 3 | import java.util.Date; 4 | 5 | public interface IAssignment 6 | { 7 | 8 | /** 9 | * @return the whenAssigned 10 | */ 11 | public abstract long getWhenAssigned(); 12 | 13 | /** 14 | * Get "when assigned" as a java.util.Date. 15 | * 16 | * @return "when assigned" as a java.util.Date 17 | */ 18 | public abstract Date getWhenAssignedAsDate(); 19 | 20 | /** 21 | * @return the whenDue 22 | */ 23 | public abstract long getWhenDue(); 24 | 25 | /** 26 | * Get "when due" as a java.util.Date. 27 | * 28 | * @return "when due" as a java.util.Date. 29 | */ 30 | public abstract Date getWhenDueAsDate(); 31 | 32 | /** 33 | * @param whenAssigned the whenAssigned to set 34 | */ 35 | public abstract void setWhenAssigned(long whenAssigned); 36 | 37 | /** 38 | * @param whenDue the whenDue to set 39 | */ 40 | public abstract void setWhenDue(long whenDue); 41 | 42 | } 43 | -------------------------------------------------------------------------------- /CloudCoderModelClasses/src/org/cloudcoder/app/shared/model/IModelObject.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.app.shared.model; 2 | 3 | /** 4 | * Interface implemented by all model object classes capable of being 5 | * persisted and serialized as XML. 6 | * 7 | * @author David Hovemeyer 8 | * 9 | * @param the model object class's actual type 10 | */ 11 | public interface IModelObject> { 12 | /** 13 | * Get this object's {@link ModelObjectSchema} describing its fields. 14 | * 15 | * @return the object's {@link ModelObjectSchema} 16 | */ 17 | public ModelObjectSchema getSchema(); 18 | } 19 | -------------------------------------------------------------------------------- /CloudCoderModelClassesJSON/.gitignore: -------------------------------------------------------------------------------- 1 | /*.jar 2 | /bin 3 | -------------------------------------------------------------------------------- /CloudCoderModelClassesJSON/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CloudCoderModelClassesJSON 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /CloudCoderModelClassesJSON/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /CloudCoderModelClassesJSON/lib/.gitignore: -------------------------------------------------------------------------------- 1 | /*.jar 2 | -------------------------------------------------------------------------------- /CloudCoderModelClassesPersistence/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /CloudCoderModelClassesPersistence/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | /cloudcoderModelClassesPersist.jar 3 | cloudcoderApp.jar 4 | -------------------------------------------------------------------------------- /CloudCoderModelClassesPersistence/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CloudCoderModelClassesPersistence 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /CloudCoderModelClassesPersistence/lib/.gitignore: -------------------------------------------------------------------------------- 1 | /*.jar 2 | -------------------------------------------------------------------------------- /CloudCoderModelClassesPersistence/src/org/cloudcoder/app/server/persist/MigrateRepositoryDatabase.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.app.server.persist; 2 | 3 | import java.io.IOException; 4 | import java.sql.SQLException; 5 | 6 | import org.cloudcoder.app.server.persist.util.ConfigurationUtil; 7 | 8 | public class MigrateRepositoryDatabase { 9 | public static void main(String[] args) throws ClassNotFoundException, IOException { 10 | ConfigurationUtil.configureLog4j(); 11 | 12 | try { 13 | MigrateDatabase.migrateDatabase(CreateRepositoryDatabase.TABLES, "CloudCoder Repository", "cloudcoder.repoapp.db"); 14 | } catch (SQLException e) { 15 | System.err.println("Database error: " + e.getMessage()); 16 | e.printStackTrace(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /CloudCoderModelClassesPersistence/src/org/cloudcoder/app/server/persist/MigrateWebappDatabase.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.app.server.persist; 2 | 3 | import java.io.IOException; 4 | import java.sql.SQLException; 5 | 6 | import org.cloudcoder.app.server.persist.util.ConfigurationUtil; 7 | 8 | public class MigrateWebappDatabase { 9 | public static void main(String[] args) throws IOException, ClassNotFoundException { 10 | ConfigurationUtil.configureLog4j(); 11 | 12 | try { 13 | MigrateDatabase.migrateDatabase(CreateWebappDatabase.TABLES, "CloudCoder", "cloudcoder.db"); 14 | } catch (SQLException e) { 15 | System.err.println("Database error: " + e.getMessage()); 16 | e.printStackTrace(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /CloudCoderModelClassesPersistence/src/org/cloudcoder/app/server/persist/txn/GetSchemaVersions.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.app.server.persist.txn; 2 | 3 | import java.sql.Connection; 4 | import java.sql.PreparedStatement; 5 | import java.sql.ResultSet; 6 | import java.sql.SQLException; 7 | import java.util.HashMap; 8 | import java.util.Map; 9 | 10 | import org.cloudcoder.app.server.persist.util.AbstractDatabaseRunnableNoAuthException; 11 | 12 | public class GetSchemaVersions extends AbstractDatabaseRunnableNoAuthException> { 13 | 14 | @Override 15 | public Map run(Connection conn) throws SQLException { 16 | Map schemaVersions = new HashMap(); 17 | PreparedStatement stmt = prepareStatement(conn, "select * from cc_schema_version"); 18 | ResultSet resultSet = executeQuery(stmt); 19 | while (resultSet.next()) { 20 | String tableName = resultSet.getString(1); 21 | int schemaVersion = resultSet.getInt(2); 22 | schemaVersions.put(tableName, schemaVersion); 23 | } 24 | return schemaVersions; 25 | } 26 | 27 | @Override 28 | public String getDescription() { 29 | return " getting schema version numbers"; 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /CloudCoderModelClassesPersistence/test/files/students1.txt: -------------------------------------------------------------------------------- 1 | aabd129 aabd129 aabd129 aabd129 1668184 1 2 | aabu156 aabu156 aabu156 aabu156 2663262 1 3 | aadn266 aadn266 aadn266 aadn266 5522959 1 4 | aagu371 aagu371 aagu371 aagu371 5577837 1 5 | -------------------------------------------------------------------------------- /CloudCoderModelClassesPersistence/test/junit/testClasses/TestDBUtil.java: -------------------------------------------------------------------------------- 1 | package testClasses; 2 | 3 | import static org.junit.Assert.*; 4 | 5 | import java.io.File; 6 | 7 | import org.cloudcoder.app.server.persist.util.DBUtil; 8 | import org.junit.Test; 9 | 10 | public class TestDBUtil 11 | { 12 | @Test 13 | public void testFindRecursively() 14 | throws Exception 15 | { 16 | File f=DBUtil.findRecursively("cloudcoder.properties"); 17 | assertEquals("cloudcoder.properties", f.getName()); 18 | } 19 | 20 | @Test 21 | public void testFindRecursively2() 22 | throws Exception 23 | { 24 | File f=DBUtil.findRecursively("FODOFODOFODOFODODOFJDFDFdfdDF"); 25 | assertNull(f); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /CloudCoderModelClassesTest/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /CloudCoderModelClassesTest/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | -------------------------------------------------------------------------------- /CloudCoderModelClassesTest/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CloudCoderModelClassesTest 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /CloudCoderModelClassesTest/tests/org/cloudcoder/app/shared/model/ProblemTest.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.app.shared.model; 2 | 3 | import static org.junit.Assert.*; 4 | 5 | import org.junit.Before; 6 | import org.junit.Test; 7 | 8 | public class ProblemTest { 9 | private Problem problem; 10 | 11 | @Before 12 | public void setUp() { 13 | problem = new Problem(); 14 | } 15 | 16 | @Test 17 | public void testSetTestname() { 18 | problem.setTestname("hello"); 19 | assertEquals("hello", problem.getTestname()); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /CloudCoderModelClassesTest/tests/org/cloudcoder/app/shared/model/testdata/exercise.json: -------------------------------------------------------------------------------- 1 | {"problem_data":{"problem_type":3,"testname":"hello","brief_description":"Print hello, world","description":"

    Print a line with the following text:<\/p>\n

    Hello, world<\/pre><\/blockquote>\n","skeleton":"#include \n\nint main(void) {\n\t\/\/ TODO - add your code here\n\n\treturn 0;\n}\n","schema_version":0,"author_name":"A. User","author_email":"auser@cs.unseen.edu","author_website":"http:\/\/cs.unseen.edu\/~auser","timestamp_utc":1345230040466,"license":1},"test_case_data_list":[{"test_case_name":"hello","input":"","output":"^\\s*Hello\\s*,\\s*world\\s*$i","secret":false}]}
    
    
    --------------------------------------------------------------------------------
    /CloudCoderRepository/.classpath:
    --------------------------------------------------------------------------------
     1 | 
     2 | 
     3 | 	
     4 | 	
     5 | 	
     6 | 	
     7 | 	
     8 | 	
     9 | 	
    10 | 		
    11 | 			
    12 | 		
    13 | 	
    14 | 	
    15 | 	
    16 | 	
    17 | 
    18 | 
    
    
    --------------------------------------------------------------------------------
    /CloudCoderRepository/.gitignore:
    --------------------------------------------------------------------------------
    1 | /war/WEB-INF/classes
    2 | 
    
    
    --------------------------------------------------------------------------------
    /CloudCoderRepository/.project:
    --------------------------------------------------------------------------------
     1 | 
     2 | 
     3 | 	CloudCoderRepository
     4 | 	
     5 | 	
     6 | 	
     7 | 	
     8 | 		
     9 | 			org.eclipse.jdt.core.javabuilder
    10 | 			
    11 | 			
    12 | 		
    13 | 	
    14 | 	
    15 | 		org.eclipse.jdt.core.javanature
    16 | 	
    17 | 
    18 | 
    
    
    --------------------------------------------------------------------------------
    /CloudCoderRepository/war/WEB-INF/lib/.gitignore:
    --------------------------------------------------------------------------------
    1 | /*.jar
    2 | 
    
    
    --------------------------------------------------------------------------------
    /CloudCoderRepository/war/WEB-INF/repo.tld:
    --------------------------------------------------------------------------------
     1 | 
     2 | 
     6 | 		
     7 |     1.0
     8 |     repo
     9 | 	http://cloudcoder.org/repo
    10 | 	
    11 | 	
    12 | 		sanitizeHTML
    13 | 		org.cloudcoder.repoapp.taglib.SanitizeHTML
    14 | 		empty
    15 | 		
    16 | 			html
    17 | 			true
    18 | 			true
    19 | 		
    20 | 	
    21 | 	
    22 | 	
    23 | 		headStuff
    24 | 		/WEB-INF/tags/headStuff.tag
    25 | 	
    26 | 	
    27 | 		topBanner
    28 | 		/WEB-INF/tags/topBanner.tag
    29 | 	
    30 | 
    
    
    --------------------------------------------------------------------------------
    /CloudCoderRepository/war/WEB-INF/tags/headStuff.tag:
    --------------------------------------------------------------------------------
    1 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    2 | <%@ attribute name="title" required="true" %>
    3 | CloudCoder Exercise Repository<c:if test="${! empty title}"> - ${title}</c:if>
    4 | 
    5 | 
    6 | 
    
    
    --------------------------------------------------------------------------------
    /CloudCoderRepository/war/WEB-INF/tags/topBanner.tag:
    --------------------------------------------------------------------------------
    1 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    2 | 
    3 | 4 | Log in 5 | 6 | 7 | Logged in as ${User.username} | Log out 8 | 9 |
    -------------------------------------------------------------------------------- /CloudCoderRepository/war/_view/confirm.jsp: -------------------------------------------------------------------------------- 1 | <%@ taglib uri="/WEB-INF/repo.tld" prefix="repo" %> 2 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 3 | <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |

    Confirm registration

    12 | 13 | 14 |

    ${confMessage}

    15 |

    You should now be able to log in.

    16 |
    17 | 18 |

    ${confMessage}

    19 |
    20 |
    21 | 22 | -------------------------------------------------------------------------------- /CloudCoderRepository/war/images/back_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderRepository/war/images/back_disabled.png -------------------------------------------------------------------------------- /CloudCoderRepository/war/images/back_enabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderRepository/war/images/back_enabled.png -------------------------------------------------------------------------------- /CloudCoderRepository/war/images/back_enabled_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderRepository/war/images/back_enabled_hover.png -------------------------------------------------------------------------------- /CloudCoderRepository/war/images/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderRepository/war/images/error.png -------------------------------------------------------------------------------- /CloudCoderRepository/war/images/files: -------------------------------------------------------------------------------- 1 | http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.3/images/back_disabled.png 2 | http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.3/images/back_enabled.png 3 | http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.3/images/back_enabled_hover.png 4 | http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.3/images/forward_disabled.png 5 | http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.3/images/forward_enabled.png 6 | http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.3/images/forward_enabled_hover.png 7 | http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.3/images/sort_asc.png 8 | http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.3/images/sort_asc_disabled.png 9 | http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.3/images/sort_both.png 10 | http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.3/images/sort_desc.png 11 | http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.3/images/sort_desc_disabled.png 12 | -------------------------------------------------------------------------------- /CloudCoderRepository/war/images/forward_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderRepository/war/images/forward_disabled.png -------------------------------------------------------------------------------- /CloudCoderRepository/war/images/forward_enabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderRepository/war/images/forward_enabled.png -------------------------------------------------------------------------------- /CloudCoderRepository/war/images/forward_enabled_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderRepository/war/images/forward_enabled_hover.png -------------------------------------------------------------------------------- /CloudCoderRepository/war/images/newWindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderRepository/war/images/newWindow.png -------------------------------------------------------------------------------- /CloudCoderRepository/war/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderRepository/war/images/sort_asc.png -------------------------------------------------------------------------------- /CloudCoderRepository/war/images/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderRepository/war/images/sort_asc_disabled.png -------------------------------------------------------------------------------- /CloudCoderRepository/war/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderRepository/war/images/sort_both.png -------------------------------------------------------------------------------- /CloudCoderRepository/war/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderRepository/war/images/sort_desc.png -------------------------------------------------------------------------------- /CloudCoderRepository/war/images/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderRepository/war/images/sort_desc_disabled.png -------------------------------------------------------------------------------- /CloudCoderRepository/war/images/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderRepository/war/images/spinner.gif -------------------------------------------------------------------------------- /CloudCoderRepository/war/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cloudcoderdotorg/CloudCoder/15ff0a021bd55285d34a49b0811e84893632a3d1/CloudCoderRepository/war/images/success.png -------------------------------------------------------------------------------- /CloudCoderRepositoryWebServer/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /CloudCoderRepositoryWebServer/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | /logs 3 | /cloudcoderRepoApp.jar 4 | /instance.pid 5 | -------------------------------------------------------------------------------- /CloudCoderRepositoryWebServer/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CloudCoderRepositoryWebServer 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /CloudCoderRepositoryWebServer/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 5 | org.eclipse.jdt.core.compiler.compliance=1.6 6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 11 | org.eclipse.jdt.core.compiler.source=1.6 12 | -------------------------------------------------------------------------------- /CloudCoderRepositoryWebServer/src/log4j.properties: -------------------------------------------------------------------------------- 1 | # Create the logger 2 | # log4j configuration for logging to the console 3 | #log4j.logger.org.cloudcoder.submitsvc.oop.builder.test.Slf4jSample=INFO, A1 4 | log4j.rootLogger=INFO, C, FA 5 | 6 | # Appender to write to the console. 7 | log4j.appender.C=org.apache.log4j.ConsoleAppender 8 | log4j.appender.C.layout =org.apache.log4j.PatternLayout 9 | log4j.appender.C.layout.ConversionPattern=%d{ISO8601} %C{1} %-5p - %m%n 10 | 11 | # File appender to write a file that rolls over every night 12 | log4j.appender.FA=org.apache.log4j.DailyRollingFileAppender 13 | log4j.appender.FA.layout =org.apache.log4j.PatternLayout 14 | log4j.appender.FA.layout.ConversionPattern=%d{ISO8601} %C{1} %-5p - %m%n 15 | log4j.appender.FA.file=logs/cloudcoderrepo.log 16 | 17 | # XXX: We can set a higher logging threshold for packages 18 | # or classes like this: 19 | ##log4j.logger.com.foo=WARN 20 | 21 | # Logging thresholds are: 22 | # TRACE 23 | # DEBUG 24 | # INFO 25 | # WARN 26 | # ERROR 27 | # FATAL 28 | # -------------------------------------------------------------------------------- /CloudCoderSubmissionQueue/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /CloudCoderSubmissionQueue/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | /cloudcoderSubmissionQueue.jar 3 | -------------------------------------------------------------------------------- /CloudCoderSubmissionQueue/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CloudCoderSubmissionQueue 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /CloudCoderSubmissionQueue/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /CloudCoderSubmissionQueue/src/org/cloudcoder/app/server/submitsvc/DefaultSubmitService.java: -------------------------------------------------------------------------------- 1 | // CloudCoder - a web-based pedagogical programming environment 2 | // Copyright (C) 2011-2012, Jaime Spacco 3 | // Copyright (C) 2011-2012, David H. Hovemeyer 4 | // 5 | // This program is free software: you can redistribute it and/or modify 6 | // it under the terms of the GNU Affero General Public License as published by 7 | // the Free Software Foundation, either version 3 of the License, or 8 | // (at your option) any later version. 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU Affero General Public License for more details. 14 | // 15 | // You should have received a copy of the GNU Affero General Public License 16 | // along with this program. If not, see . 17 | 18 | package org.cloudcoder.app.server.submitsvc; 19 | 20 | import org.cloudcoder.app.server.submitsvc.oop.OutOfProcessSubmitService; 21 | 22 | public class DefaultSubmitService { 23 | public static ISubmitService getInstance() { 24 | return OutOfProcessSubmitService.getInstance(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /CloudCoderSubmissionQueueServletContextListener/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /CloudCoderSubmissionQueueServletContextListener/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | /cloudcoderSubmissionQueueServletContextListener.jar 3 | -------------------------------------------------------------------------------- /CloudCoderSubmissionQueueServletContextListener/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CloudCoderSubmissionQueueServletContextListener 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /CloudCoderSubmissionQueueServletContextListener/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 5 | org.eclipse.jdt.core.compiler.compliance=1.7 6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 11 | org.eclipse.jdt.core.compiler.source=1.7 12 | -------------------------------------------------------------------------------- /CloudCoderWebServer/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /CloudCoderWebServer/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/* 2 | /apps/cloudCoder 3 | /log.txt 4 | /instance.pid 5 | /instance-*.fifo 6 | /logs 7 | /cloudcoderApp.jar 8 | /cloudcoderApp-v*.jar 9 | /cloudcoderBuilder-v*.jar 10 | /cloudCoder.pid 11 | /cloudcoder.properties 12 | /keystore.jks 13 | /dummy.properties 14 | /VERSION 15 | /bin 16 | /nopoke 17 | -------------------------------------------------------------------------------- /CloudCoderWebServer/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CloudCoderWebServer 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /CloudCoderWebServer/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | #Mon Apr 25 09:10:30 EDT 2011 2 | eclipse.preferences.version=1 3 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 4 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 5 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 6 | org.eclipse.jdt.core.compiler.compliance=1.6 7 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 8 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 9 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 10 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 12 | org.eclipse.jdt.core.compiler.source=1.6 13 | -------------------------------------------------------------------------------- /CloudCoderWebServer/apps/.gitignore: -------------------------------------------------------------------------------- 1 | /logs 2 | -------------------------------------------------------------------------------- /CloudCoderWebServer/src/log4j.properties: -------------------------------------------------------------------------------- 1 | # Create the logger 2 | # log4j configuration for logging to the console 3 | #log4j.logger.org.cloudcoder.submitsvc.oop.builder.test.Slf4jSample=INFO, A1 4 | log4j.rootLogger=INFO, FA 5 | 6 | # File appender to write a file that rolls over every night 7 | log4j.appender.FA=org.apache.log4j.DailyRollingFileAppender 8 | log4j.appender.FA.layout =org.apache.log4j.PatternLayout 9 | log4j.appender.FA.layout.ConversionPattern=%d{ISO8601} %C{1} %-5p - %m%n 10 | log4j.appender.FA.file=logs/cloudcoder.log 11 | 12 | # XXX: We can set a higher logging threshold for packages 13 | # or classes like this: 14 | ##log4j.logger.com.foo=WARN 15 | 16 | # Logging thresholds are: 17 | # TRACE 18 | # DEBUG 19 | # INFO 20 | # WARN 21 | # ERROR 22 | # FATAL 23 | # -------------------------------------------------------------------------------- /CloudCoderWebServer/src/org/cloudcoder/webserver/CloudCoderDaemonController.java: -------------------------------------------------------------------------------- 1 | package org.cloudcoder.webserver; 2 | 3 | import org.cloudcoder.daemon.DaemonController; 4 | import org.cloudcoder.daemon.IDaemon; 5 | 6 | /** 7 | * Implementation of {@link DaemonController} for the CloudCoder webapp. 8 | * 9 | * @author David Hovemeyer 10 | */ 11 | public class CloudCoderDaemonController extends DaemonController { 12 | @Override 13 | public String getDefaultInstanceName() { 14 | return "instance"; 15 | } 16 | 17 | @Override 18 | public Class getDaemonClass() { 19 | return CloudCoderDaemon.class; 20 | } 21 | 22 | @Override 23 | protected Options createOptions() { 24 | // Put the stdout log in the "logs" directory. 25 | return new Options() { 26 | @Override 27 | public String getStdoutLogFileName() { 28 | return "logs/stdout.log"; 29 | } 30 | }; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /CloudCoderWebServiceUtil/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /CloudCoderWebServiceUtil/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | /cloudcoderWebServiceUtil.jar 3 | /bin 4 | -------------------------------------------------------------------------------- /CloudCoderWebServiceUtil/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CloudCoderWebServiceUtil 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /CloudCoderWebServiceUtil/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | CloudCoder is an open-source web-based programming exercise system. 2 | 3 | You can find more information on the [CloudCoder website](http://cloudcoder.org/) 4 | and on the [CloudCoder wiki](https://github.com/cloudcoderdotorg/CloudCoder/wiki). 5 | -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | v0.1.0 2 | -------------------------------------------------------------------------------- /build.pl: -------------------------------------------------------------------------------- 1 | #! /usr/bin/perl -w 2 | 3 | use strict; 4 | 5 | print "==> Building CloudCoderWebServer...\n"; 6 | system("cd CloudCoderWebServer && ant clean && ant jar")/256 == 0 7 | || die "Couldn't build CloudCoderWebServer\n"; 8 | 9 | print "==> Building CloudCoderBuilder...\n"; 10 | system("cd CloudCoderBuilder2 && ant clean && ant jar")/256 == 0 11 | || die "Couldn't build CloudCoderBuilder\n"; 12 | 13 | print "==> Done!\n"; 14 | 15 | -------------------------------------------------------------------------------- /createKeystore.pl: -------------------------------------------------------------------------------- 1 | #! /usr/bin/perl 2 | 3 | use strict; 4 | use FileHandle; 5 | 6 | my $keystore = shift @ARGV || die; 7 | my $passwd = shift @ARGV || die; 8 | my $commonName = shift @ARGV || die; 9 | 10 | print "Creating public/private keypair for secure communication between the builder and the server..."; 11 | STDOUT->flush(); 12 | 13 | run('rm', '-f', $keystore); 14 | run('keytool', '-genkey', '-noprompt', 15 | '-alias', 'cloudcoder', 16 | '-storepass', $passwd, 17 | '-keystore', $keystore, 18 | '-validity', '3600', 19 | '-keypass', $passwd, 20 | '-dname', "CN=$commonName, OU=None, L=None, ST=None, C=None"); 21 | print "Done!\n"; 22 | 23 | sub run { 24 | system(@_)/256 == 0 || die "Command $_[0] failed\n"; 25 | } 26 | -------------------------------------------------------------------------------- /lightbootstrap.pl: -------------------------------------------------------------------------------- 1 | #! /usr/bin/perl 2 | 3 | # Just install Debian/Ubuntu packages needed to run the CloudCoder webapp. 4 | # Also: 5 | # - creates the cloudcoder database user and grants permission on cloudcoderdb 6 | 7 | my $dryRun = 1; 8 | my $ccdbpasswd = 'xyz'; # change this 9 | 10 | Run('sudo apt-get install openjdk-7-jre-headless mysql-client mysql-server apache2 unzip'); 11 | 12 | Run('sudo a2enmod proxy'); 13 | Run('sudo a2enmod proxy_http'); 14 | Run('sudo a2enmod ssl'); 15 | 16 | print "Creating cloudcoder db user account...\n"; 17 | Run("mysql --user=root --pass --execute=\"create user 'cloudcoder'\@'localhost' identified by '$ccdbpasswd'\""); 18 | Run("mysql --user=root --pass --execute=\"grant all on cloudcoderdb.* to 'cloudcoder'\@'localhost'\""); 19 | 20 | sub Run { 21 | if ($dryRun) { 22 | print "cmd: ", join(' ', @_), "\n"; 23 | } else { 24 | system(@_)/256 == 0 || die "Command $_[0] failed\n"; 25 | } 26 | } 27 | 28 | 29 | # vim:ts=2: 30 | --------------------------------------------------------------------------------