You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2015/03/03 11:00:16 UTC
[48/52] [abbrv] [partial] incubator-kylin git commit: update
ace-builds to new version
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/.gitignore
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/.gitignore b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/.gitignore
new file mode 100644
index 0000000..56ec8fd
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/.gitignore
@@ -0,0 +1,11 @@
+# A sample .gitignore file.
+
+.buildlog
+.DS_Store
+.svn
+
+# Negated patterns:
+!foo.bar
+
+# Also ignore user settings...
+/.settings
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Dockerfile
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Dockerfile b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Dockerfile
new file mode 100644
index 0000000..70270cb
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Dockerfile
@@ -0,0 +1,53 @@
+#
+# example Dockerfile for http://docs.docker.io/en/latest/examples/postgresql_service/
+#
+
+FROM ubuntu
+MAINTAINER SvenDowideit@docker.com
+
+# Add the PostgreSQL PGP key to verify their Debian packages.
+# It should be the same key as https://www.postgresql.org/media/keys/ACCC4CF8.asc
+RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8
+
+# Add PostgreSQL's repository. It contains the most recent stable release
+# of PostgreSQL, ``9.3``.
+RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" > /etc/apt/sources.list.d/pgdg.list
+
+# Update the Ubuntu and PostgreSQL repository indexes
+RUN apt-get update
+
+# Install ``python-software-properties``, ``software-properties-common`` and PostgreSQL 9.3
+# There are some warnings (in red) that show up during the build. You can hide
+# them by prefixing each apt-get statement with DEBIAN_FRONTEND=noninteractive
+RUN apt-get -y -q install python-software-properties software-properties-common
+RUN apt-get -y -q install postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3
+
+# Note: The official Debian and Ubuntu images automatically ``apt-get clean``
+# after each ``apt-get``
+
+# Run the rest of the commands as the ``postgres`` user created by the ``postgres-9.3`` package when it was ``apt-get installed``
+USER postgres
+
+# Create a PostgreSQL role named ``docker`` with ``docker`` as the password and
+# then create a database `docker` owned by the ``docker`` role.
+# Note: here we use ``&&\`` to run commands one after the other - the ``\``
+# allows the RUN command to span multiple lines.
+RUN /etc/init.d/postgresql start &&\
+ psql --command "CREATE USER docker WITH SUPERUSER PASSWORD 'docker';" &&\
+ createdb -O docker docker
+
+# Adjust PostgreSQL configuration so that remote connections to the
+# database are possible.
+RUN echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/9.3/main/pg_hba.conf
+
+# And add ``listen_addresses`` to ``/etc/postgresql/9.3/main/postgresql.conf``
+RUN echo "listen_addresses='*'" >> /etc/postgresql/9.3/main/postgresql.conf
+
+# Expose the PostgreSQL port
+EXPOSE 5432
+
+# Add VOLUMEs to allow backup of config, logs and databases
+VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/postgresql"]
+
+# Set the default command to run when starting the container
+CMD ["/usr/lib/postgresql/9.3/bin/postgres", "-D", "/var/lib/postgresql/9.3/main", "-c", "config_file=/etc/postgresql/9.3/main/postgresql.conf"]
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Haxe.hx
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Haxe.hx b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Haxe.hx
new file mode 100644
index 0000000..ab205bb
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Haxe.hx
@@ -0,0 +1,17 @@
+class Haxe
+{
+ public static function main()
+ {
+ // Say Hello!
+ var greeting:String = "Hello World";
+ trace(greeting);
+
+ var targets:Array<String> = ["Flash","Javascript","PHP","Neko","C++","iOS","Android","webOS"];
+ trace("Haxe is a great language that can target:");
+ for (target in targets)
+ {
+ trace (" - " + target);
+ }
+ trace("And many more!");
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Jack.jack
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Jack.jack b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Jack.jack
new file mode 100644
index 0000000..15acf74
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Jack.jack
@@ -0,0 +1,247 @@
+vars it, p
+
+p = {label, value|
+ print("\n" + label)
+ print(inspect(value))
+}
+-- Create an array from 0 to 15
+p("range", i-collect(range(5)))
+
+-- Create an array from 0 to 15 and break up in chunks of 4
+p("chunked range", i-collect(i-chunk(4, range(16))))
+
+-- Check if all or none items in stream pass test.
+p("all < 60 in range(60)", i-all?({i|i<60}, range(60)))
+p("any < 60 in range(60)", i-any?({i|i>60}, range(60)))
+p("all < 60 in range(70)", i-all?({i|i<60}, range(70)))
+p("any < 60 in range(70)", i-any?({i|i>60}, range(70)))
+
+-- Zip three different collections together
+p("zipped", i-collect(i-zip(
+ range(10),
+ [1,2,3,4,5],
+ i-map({i|i*i}, range(10))
+)))
+
+vars names, person, i, doubles, lengths, cubeRange
+names = ["Thorin", "Dwalin", "Balin", "Bifur", "Bofur", "Bombur", "Oin",
+ "Gloin", "Ori", "Nori", "Dori", "Fili", "Kili", "Bilbo", "Gandalf"]
+
+for name in names {
+ if name != "Bilbo" && name != "Gandalf" {
+ print(name)
+ }
+}
+
+person = {name: "Tim", age: 30}
+for key, value in person {
+ print(key + " = " + value)
+}
+
+i = 0
+while i < 10 {
+ i = i + 1
+ print(i)
+}
+
+print("range")
+for i in range(10) {
+ print(i + 1)
+}
+for i in range(10) {
+ print(10 - i)
+}
+
+-- Dynamic object that gives the first 10 doubles
+doubles = {
+ @len: {| 10 }
+ @get: {key|
+ if key is Integer { key * key }
+ }
+}
+print("#doubles", #doubles)
+
+print("Doubles")
+for k, v in doubles {
+ print([k, v])
+}
+
+-- Dynamic object that has names list as keys and string lenth as values
+lengths = {
+ @keys: {| names }
+ @get: {key|
+ if key is String { #key }
+ }
+}
+
+print ("Lengths")
+for k, v in lengths {
+ print([k, v])
+}
+
+
+cubeRange = {n|
+ vars i, v
+ i = 0
+ {
+ @call: {|
+ v = i
+ i = i + 1
+ if v < n { v * v * v }
+ }
+ }
+}
+
+print("Cubes")
+for k, v in cubeRange(5) {
+ print([k, v])
+}
+print("String")
+for k, v in "Hello World" {
+ print([k, v])
+}
+
+
+print([i for i in range(10)])
+print([i for i in range(20) if i % 3])
+
+
+
+-- Example showing how to do parallel work using split..and
+base = {bootstrap, target-dir|
+ split {
+ copy("res", target-dir)
+ } and {
+ if newer("src/*.less", target-dir + "/style.css") {
+ lessc("src/" + bootstrap + ".less", target-dir + "/style.css")
+ }
+ } and {
+ build("src/" + bootstrap + ".js", target-dir + "/app.js")
+ }
+}
+
+
+vars Dragon, pet
+
+Dragon = {name|
+ vars asleep, stuff-in-belly, stuff-in-intestine,
+ feed, walk, put-to-bed, toss, rock,
+ hungry?, poopy?, passage-of-time
+
+ asleep = false
+ stuff-in-belly = 10 -- He's full.
+ stuff-in-intestine = 0 -- He doesn't need to go.
+
+ print(name + ' is born.')
+
+ feed = {|
+ print('You feed ' + name + '.')
+ stuff-in-belly = 10
+ passage-of-time()
+ }
+
+ walk = {|
+ print('You walk ' + name + ".")
+ stuff-in-intestine = 0
+ passage-of-time
+ }
+
+ put-to-bed = {|
+ print('You put ' + name + ' to bed.')
+ asleep = true
+ for i in range(3) {
+ if asleep {
+ passage-of-time()
+ }
+ if asleep {
+ print(name + ' snores, filling the room with smoke.')
+ }
+ }
+ if asleep {
+ asleep = false
+ print(name + ' wakes up slowly.')
+ }
+ }
+
+ toss = {|
+ print('You toss ' + name + ' up into the air.')
+ print('He giggles, which singes your eyebrows.')
+ passage-of-time()
+ }
+
+ rock = {|
+ print('You rock ' + name + ' gently.')
+ asleep = true
+ print('He briefly dozes off...')
+ passage-of-time()
+ if asleep {
+ asleep = false
+ print('...but wakes when you stop.')
+ }
+ }
+
+ hungry? = {|
+ stuff-in-belly <= 2
+ }
+
+ poopy? = {|
+ stuff-in-intestine >= 8
+ }
+
+ passage-of-time = {|
+ if stuff-in-belly > 0 {
+ -- Move food from belly to intestine
+ stuff-in-belly = stuff-in-belly - 1
+ stuff-in-intestine = stuff-in-intestine + 1
+ } else { -- Our dragon is starving!
+ if asleep {
+ asleep = false
+ print('He wakes up suddenly!')
+ }
+ print(name + ' is starving! In desperation, he ate YOU!')
+ abort "died"
+ }
+
+ if stuff-in-intestine >= 10 {
+ stuff-in-intestine = 0
+ print('Whoops! ' + name + ' had an accident...')
+ }
+
+ if hungry?() {
+ if asleep {
+ asleep = false
+ print('He wakes up suddenly!')
+ }
+ print(name + "'s stomach grumbles...")
+ }
+
+ if poopy?() {
+ if asleep {
+ asleep = false
+ print('He wakes up suddenly!')
+ }
+ print(name + ' does the potty dance...')
+ }
+ }
+
+ -- Export the public interface to this closure object.
+ {
+ feed: feed
+ walk: walk
+ put-to-bed: put-to-bed
+ toss: toss
+ rock: rock
+ }
+
+}
+
+pet = Dragon('Norbert')
+pet.feed()
+pet.toss()
+pet.walk()
+pet.put-to-bed()
+pet.rock()
+pet.put-to-bed()
+pet.put-to-bed()
+pet.put-to-bed()
+pet.put-to-bed()
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Makefile
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Makefile b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Makefile
new file mode 100644
index 0000000..9b0b31a
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Makefile
@@ -0,0 +1,122 @@
+.PHONY: apf ext worker mode theme package test
+
+default: apf worker
+
+update: worker
+
+# packages apf
+
+# This is the first line of a comment \
+and this is still part of the comment \
+as is this, since I keep ending each line \
+with a backslash character
+
+apf:
+ cd node_modules/packager; node package.js projects/apf_cloud9.apr
+ cd node_modules/packager; cat build/apf_release.js | sed 's/\(\/\*FILEHEAD(\).*//g' > ../../plugins-client/lib.apf/www/apf-packaged/apf_release.js
+
+# package debug version of apf
+apfdebug:
+ cd node_modules/packager/projects; cat apf_cloud9.apr | sed 's/<p:define name=\"__DEBUG\" value=\"0\" \/>/<p:define name=\"__DEBUG\" value=\"1\" \/>/g' > apf_cloud9_debug2.apr
+ cd node_modules/packager/projects; cat apf_cloud9_debug2.apr | sed 's/apf_release/apf_debug/g' > apf_cloud9_debug.apr; rm apf_cloud9_debug2.apr
+ cd node_modules/packager; node package.js projects/apf_cloud9_debug.apr
+ cd node_modules/packager; cat build/apf_debug.js | sed 's/\(\/\*FILEHEAD(\).*\/apf\/\(.*\)/\1\2/g' > ../../plugins-client/lib.apf/www/apf-packaged/apf_debug.js
+
+# package_apf--temporary fix for non-workering infra
+pack_apf:
+ mkdir -p build/src
+ mv plugins-client/lib.apf/www/apf-packaged/apf_release.js build/src/apf_release.js
+ node build/r.js -o name=./build/src/apf_release.js out=./plugins-client/lib.apf/www/apf-packaged/apf_release.js baseUrl=.
+
+# makes ace; at the moment, requires dryice@0.4.2
+ace:
+ cd node_modules/ace; make clean pre_build; ./Makefile.dryice.js minimal
+
+
+# packages core
+core: ace
+ mkdir -p build/src
+ node build/r.js -o build/core.build.js
+
+# generates packed template
+helper:
+ node build/packed_helper.js
+
+helper_clean:
+ mkdir -p build/src
+ node build/packed_helper.js 1
+
+# packages ext
+ext:
+ node build/r.js -o build/app.build.js
+
+# calls dryice on worker & packages it
+worker: plugins-client/lib.ace/www/worker/worker-language.js
+
+plugins-client/lib.ace/www/worker/worker-language.js plugins-client/lib.ace/www/worker/worker-javascript.js : \
+ $(wildcard node_modules/ace/*) $(wildcard node_modules/ace/*/*) $(wildcard node_modules/ace/*/*/mode/*) \
+ $(wildcard plugins-client/ext.language/*) \
+ $(wildcard plugins-client/ext.language/*/*) \
+ $(wildcard plugins-client/ext.linereport/*) \
+ $(wildcard plugins-client/ext.codecomplete/*) \
+ $(wildcard plugins-client/ext.codecomplete/*/*) \
+ $(wildcard plugins-client/ext.jslanguage/*) \
+ $(wildcard plugins-client/ext.jslanguage/*/*) \
+ $(wildcard plugins-client/ext.csslanguage/*) \
+ $(wildcard plugins-client/ext.csslanguage/*/*) \
+ $(wildcard plugins-client/ext.htmllanguage/*) \
+ $(wildcard plugins-client/ext.htmllanguage/*/*) \
+ $(wildcard plugins-client/ext.jsinfer/*) \
+ $(wildcard plugins-client/ext.jsinfer/*/*) \
+ $(wildcard node_modules/treehugger/lib/*) \
+ $(wildcard node_modules/treehugger/lib/*/*) \
+ $(wildcard node_modules/ace/lib/*) \
+ $(wildcard node_modules/ace/*/*) \
+ Makefile.dryice.js
+ mkdir -p plugins-client/lib.ace/www/worker
+ rm -rf /tmp/c9_worker_build
+ mkdir -p /tmp/c9_worker_build/ext
+ ln -s `pwd`/plugins-client/ext.language /tmp/c9_worker_build/ext/language
+ ln -s `pwd`/plugins-client/ext.codecomplete /tmp/c9_worker_build/ext/codecomplete
+ ln -s `pwd`/plugins-client/ext.jslanguage /tmp/c9_worker_build/ext/jslanguage
+ ln -s `pwd`/plugins-client/ext.csslanguage /tmp/c9_worker_build/ext/csslanguage
+ ln -s `pwd`/plugins-client/ext.htmllanguage /tmp/c9_worker_build/ext/htmllanguage
+ ln -s `pwd`/plugins-client/ext.linereport /tmp/c9_worker_build/ext/linereport
+ ln -s `pwd`/plugins-client/ext.linereport_php /tmp/c9_worker_build/ext/linereport_php
+ node Makefile.dryice.js worker
+ cp node_modules/ace/build/src/worker* plugins-client/lib.ace/www/worker
+
+define
+
+ifeq
+
+override
+
+# copies built ace modes
+mode:
+ mkdir -p plugins-client/lib.ace/www/mode
+ cp `find node_modules/ace/build/src | grep -E "mode-[a-zA-Z_0-9]+.js"` plugins-client/lib.ace/www/mode
+
+# copies built ace themes
+theme:
+ mkdir -p plugins-client/lib.ace/www/theme
+ cp `find node_modules/ace/build/src | grep -E "theme-[a-zA-Z_0-9]+.js"` plugins-client/lib.ace/www/theme
+
+gzip_safe:
+ for i in `ls ./plugins-client/lib.packed/www/*.js`; do \
+ gzip -9 -v -c -q -f $$i > $$i.gz ; \
+ done
+
+gzip:
+ for i in `ls ./plugins-client/lib.packed/www/*.js`; do \
+ gzip -9 -v -q -f $$i ; \
+ done
+
+c9core: apf ace core worker mode theme
+
+package_clean: helper_clean c9core ext
+
+package: helper c9core ext
+
+test check:
+ test/run-tests.sh
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Nix.nix
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Nix.nix b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Nix.nix
new file mode 100644
index 0000000..9476db3
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/Nix.nix
@@ -0,0 +1,57 @@
+{
+ # Name of our deployment
+ network.description = "HelloWorld";
+ # Enable rolling back to previous versions of our infrastructure
+ network.enableRollback = true;
+
+ # It consists of a single server named 'helloserver'
+ helloserver =
+ # Every server gets passed a few arguments, including a reference
+ # to nixpkgs (pkgs)
+ { config, pkgs, ... }:
+ let
+ # We import our custom packages from ./default passing pkgs as argument
+ packages = import ./default.nix { pkgs = pkgs; };
+ # This is the nodejs version specified in default.nix
+ nodejs = packages.nodejs;
+ # And this is the application we'd like to deploy
+ app = packages.app;
+ in
+ {
+ # We'll be running our application on port 8080, because a regular
+ # user cannot bind to port 80
+ # Then, using some iptables magic we'll forward traffic designated to port 80 to 8080
+ networking.firewall.enable = true;
+ # We will open up port 22 (SSH) as well otherwise we're locking ourselves out
+ networking.firewall.allowedTCPPorts = [ 80 8080 22 ];
+ networking.firewall.allowPing = true;
+
+ # Port forwarding using iptables
+ networking.firewall.extraCommands = ''
+ iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
+ '';
+
+ # To run our node.js program we're going to use a systemd service
+ # We can configure the service to automatically start on boot and to restart
+ # the process in case it crashes
+ systemd.services.helloserver = {
+ description = "Hello world application";
+ # Start the service after the network is available
+ after = [ "network.target" ];
+ # We're going to run it on port 8080 in production
+ environment = { PORT = "8080"; };
+ serviceConfig = {
+ # The actual command to run
+ ExecStart = "${nodejs}/bin/node ${app}/server.js";
+ # For security reasons we'll run this process as a special 'nodejs' user
+ User = "nodejs";
+ Restart = "always";
+ };
+ };
+
+ # And lastly we ensure the user we run our application as is created
+ users.extraUsers = {
+ nodejs = { };
+ };
+ };
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/abap.abap
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/abap.abap b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/abap.abap
new file mode 100644
index 0000000..f66bfdf
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/abap.abap
@@ -0,0 +1,36 @@
+***************************************
+** Program: EXAMPLE **
+** Author: Joe Byte, 07-Jul-2007 **
+***************************************
+
+REPORT BOOKINGS.
+
+* Read flight bookings from the database
+SELECT * FROM FLIGHTINFO
+ WHERE CLASS = 'Y' "Y = economy
+ OR CLASS = 'C'. "C = business
+(...)
+
+REPORT TEST.
+WRITE 'Hello World'.
+
+USERPROMPT = 'Please double-click on a line in the output list ' &
+ 'to see the complete details of the transaction.'.
+
+
+DATA LAST_EOM TYPE D. "last end-of-month date
+
+* Start from today's date
+ LAST_EOM = SY-DATUM.
+* Set characters 6 and 7 (0-relative) of the YYYYMMDD string to "01",
+* giving the first day of the current month
+ LAST_EOM+6(2) = '01'.
+* Subtract one day
+ LAST_EOM = LAST_EOM - 1.
+
+ WRITE: 'Last day of previous month was', LAST_EOM.
+
+DATA : BEGIN OF I_VBRK OCCURS 0,
+ VBELN LIKE VBRK-VBELN,
+ ZUONR LIKE VBRK-ZUONR,
+ END OF I_VBRK.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/actionscript.as
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/actionscript.as b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/actionscript.as
new file mode 100644
index 0000000..ffe21fb
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/actionscript.as
@@ -0,0 +1,51 @@
+package code
+{
+ /*****************************************
+ * based on textmate actionscript bundle
+ ****************************************/
+
+ import fl.events.SliderEvent;
+
+ public class Foo extends MovieClip
+ {
+ //*************************
+ // Properties:
+
+ public var activeSwatch:MovieClip;
+
+ // Color offsets
+ public var c1:Number = 0; // R
+
+ //*************************
+ // Constructor:
+
+ public function Foo()
+ {
+ // Respond to mouse events
+ swatch1_btn.addEventListener(MouseEvent.CLICK,swatchHandler,false,0,false);
+ previewBox_btn.addEventListener(MouseEvent.MOUSE_DOWN,dragPressHandler);
+
+ // Respond to drag events
+ red_slider.addEventListener(SliderEvent.THUMB_DRAG,sliderHandler);
+
+ // Draw a frame later
+ addEventListener(Event.ENTER_FRAME,draw);
+ }
+
+ protected function clickHandler(event:MouseEvent):void
+ {
+ car.transform.colorTransform = new ColorTransform(0,0,0,1,c1,c2,c3);
+ }
+
+ protected function changeRGBHandler(event:Event):void
+ {
+ c1 = Number(c1_txt.text);
+
+ if(!(c1>=0)){
+ c1 = 0;
+ }
+
+ updateSliders();
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/99a418c0/webapp/app/components/ace-builds/demo/kitchen-sink/docs/ada.ada
----------------------------------------------------------------------
diff --git a/webapp/app/components/ace-builds/demo/kitchen-sink/docs/ada.ada b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/ada.ada
new file mode 100644
index 0000000..90e027f
--- /dev/null
+++ b/webapp/app/components/ace-builds/demo/kitchen-sink/docs/ada.ada
@@ -0,0 +1,5 @@
+with Ada.Text_IO; use Ada.Text_IO;
+procedure Hello is
+begin
+ Put_Line("Hello, world!");
+end Hello;
\ No newline at end of file