Explorar el Código

Merge branch 'master' into erlang-fw-mochiweb

Conflicts:
	.travis.yml
msmith-techempower hace 9 años
padre
commit
a060ac8790
Se han modificado 44 ficheros con 172 adiciones y 1025 borrados
  1. 1 1
      .travis.yml
  2. 7 0
      frameworks/Erlang/misultin/.gitignore
  3. 13 0
      frameworks/Erlang/misultin/Makefile
  4. 23 0
      frameworks/Erlang/misultin/benchmark_config.json
  5. 9 0
      frameworks/Erlang/misultin/priv/app.config
  6. 5 0
      frameworks/Erlang/misultin/rebar.config
  7. 11 0
      frameworks/Erlang/misultin/setup.sh
  8. 9 0
      frameworks/Erlang/misultin/src/misultin_bench.app.src
  9. 16 0
      frameworks/Erlang/misultin/src/misultin_bench_app.erl
  10. 18 0
      frameworks/Erlang/misultin/src/misultin_bench_sup.erl
  11. 53 0
      frameworks/Erlang/misultin/src/web_handler.erl
  12. 7 0
      frameworks/Erlang/misultin/start-dev.sh
  13. 0 2
      frameworks/Java/mangooio/README.md
  14. 0 28
      frameworks/Java/mangooio/benchmark_config.json
  15. 0 123
      frameworks/Java/mangooio/pom.xml
  16. 0 9
      frameworks/Java/mangooio/setup.sh
  17. 0 24
      frameworks/Java/mangooio/src/main/java/conf/Lifecycle.java
  18. 0 15
      frameworks/Java/mangooio/src/main/java/conf/Module.java
  19. 0 23
      frameworks/Java/mangooio/src/main/java/conf/Routes.java
  20. 0 69
      frameworks/Java/mangooio/src/main/java/controllers/ApplicationController.java
  21. 0 7
      frameworks/Java/mangooio/src/main/java/interfaces/Constants.java
  22. 0 40
      frameworks/Java/mangooio/src/main/java/models/Fortune.java
  23. 0 9
      frameworks/Java/mangooio/src/main/java/models/Message.java
  24. 0 39
      frameworks/Java/mangooio/src/main/java/models/World.java
  25. 0 62
      frameworks/Java/mangooio/src/main/java/services/DataService.java
  26. 0 11
      frameworks/Java/mangooio/src/main/java/utils/RandomUtils.java
  27. 0 50
      frameworks/Java/mangooio/src/main/resources/application.conf
  28. 0 13
      frameworks/Java/mangooio/src/main/resources/ehcache.xml
  29. 0 1
      frameworks/Java/mangooio/src/main/resources/files/assets/javascripts/jquery.min.js
  30. 0 2
      frameworks/Java/mangooio/src/main/resources/files/robots.txt
  31. 0 13
      frameworks/Java/mangooio/src/main/resources/logback.prod.xml
  32. 0 11
      frameworks/Java/mangooio/src/main/resources/logback.xml
  33. 0 14
      frameworks/Java/mangooio/src/main/resources/templates/ApplicationController/fortunes.ftl
  34. 0 8
      frameworks/Java/mangooio/src/main/resources/templates/layout.ftl
  35. 0 2
      frameworks/Java/mangooio/src/main/resources/translations/messages.properties
  36. 0 2
      frameworks/Java/mangooio/src/main/resources/translations/messages_de.properties
  37. 0 1
      frameworks/Java/mangooio/src/main/resources/translations/messages_en.properties
  38. 0 6
      frameworks/Java/mangooio/src/test/java/mangooio/TestSuite.java
  39. 0 111
      frameworks/Java/mangooio/src/test/java/mangooio/controllers/ApplicationControllerTest.java
  40. 0 69
      frameworks/Java/tapestry/hello/build.gradle
  41. BIN
      frameworks/Java/tapestry/hello/gradle/wrapper/gradle-wrapper.jar
  42. 0 6
      frameworks/Java/tapestry/hello/gradle/wrapper/gradle-wrapper.properties
  43. 0 164
      frameworks/Java/tapestry/hello/gradlew
  44. 0 90
      frameworks/Java/tapestry/hello/gradlew.bat

+ 1 - 1
.travis.yml

@@ -50,6 +50,7 @@ env:
     - "TESTDIR=Erlang/cowboy"
     - "TESTDIR=Erlang/elli"
     - "TESTDIR=Erlang/mochiweb"
+    - "TESTDIR=Erlang/misultin"
     - "TESTDIR=Go/beego"
     - "TESTDIR=Go/falcore"
     - "TESTDIR=Go/fasthttp"
@@ -76,7 +77,6 @@ env:
     - "TESTDIR=Java/jawn"
     - "TESTDIR=Java/jetty-servlet"
     - "TESTDIR=Java/jetty"
-    - "TESTDIR=Java/mangooio"
     - "TESTDIR=Java/netty"
     - "TESTDIR=Java/ninja-standalone"
     - "TESTDIR=Java/play1"

+ 7 - 0
frameworks/Erlang/misultin/.gitignore

@@ -0,0 +1,7 @@
+.eunit
+deps
+ebin
+*.o
+*.beam
+*.plt
+erl_crash.dump

+ 13 - 0
frameworks/Erlang/misultin/Makefile

@@ -0,0 +1,13 @@
+REBAR=./rebar
+
+all:
+	@$(REBAR) -r get-deps compile
+
+clean:
+	@$(REBAR) clean
+
+run:
+	@./start.sh
+
+stop:
+	@killall beam.smp

+ 23 - 0
frameworks/Erlang/misultin/benchmark_config.json

@@ -0,0 +1,23 @@
+{
+  "framework": "misultin",
+  "tests": [{
+    "default": {
+      "setup_file": "setup",
+      "json_url": "/json",
+      "plaintext_url": "/plaintext",
+      "port": 8080,
+      "approach": "Realistic",
+      "classification": "Platform",
+      "database": "MySQL",
+      "framework": "Misultin",
+      "language": "Erlang",
+      "orm": "Raw",
+      "platform": "Erlang",
+      "webserver": "None",
+      "os": "Linux",
+      "database_os": "Linux",
+      "display_name": "misultin",
+      "notes": "",
+      "versus": ""
+  }}]
+}

+ 9 - 0
frameworks/Erlang/misultin/priv/app.config

@@ -0,0 +1,9 @@
+%% -*- erlang -*-
+[{misultin_bench, [{http_port, 8080}]},
+
+ {erl_bench, [{db_pool, 256},
+              {db_user, "benchmarkdbuser"},
+              {db_password, "benchmarkdbpass"},
+              {db_host, "localhost"},
+              {db_port, 3306},
+              {db_name, "hello_world"}]}].

+ 5 - 0
frameworks/Erlang/misultin/rebar.config

@@ -0,0 +1,5 @@
+%% -*- erlang -*-
+{deps, [
+  {erl_bench, "0.0.1", {git, "git://github.com/b0oh/erl_bench.git", {tag, "v0.0.1"}}},
+  {misultin, "0.9", {git, "git://github.com/ostinelli/misultin.git", {tag, "misultin-0.9"}}}
+]}.

+ 11 - 0
frameworks/Erlang/misultin/setup.sh

@@ -0,0 +1,11 @@
+#!/bin/bash
+
+sed -i 's|"benchmarkdbpass", ".*", 3306|"benchmarkdbpass", "'"${DBHOST}"'", 3306|g' src/misultin_bench_sup.erl
+
+fw_depends erlang
+
+rm -rf deps/* ebin/*
+rebar get-deps
+rebar compile
+
+erl +K true +sbwt very_long +swt very_low -pa ebin deps/*/ebin -boot start_sasl -config priv/app.config -s misultin_bench_app -noshell -detached

+ 9 - 0
frameworks/Erlang/misultin/src/misultin_bench.app.src

@@ -0,0 +1,9 @@
+%% -*- erlang -*-
+{application, misultin_bench,
+ [{description, ""},
+  {vsn, "0.1"},
+  {modules, []},
+  {registered, []},
+  {mod, {misultin_bench_app, []}},
+  {env, []},
+  {applications, [kernel, stdlib, crypto, erl_bench]}]}.

+ 16 - 0
frameworks/Erlang/misultin/src/misultin_bench_app.erl

@@ -0,0 +1,16 @@
+-module(misultin_bench_app).
+-behaviour(application).
+-export([start/0]).
+-export([start/2, stop/1]).
+
+start() ->
+    application:ensure_all_started(misultin_bench).
+
+start(_Type, _StartArgs) ->
+    {ok, Port} = application:get_env(misultin_bench, http_port),
+    Options = [{loop, fun(Req) -> web_handler:dispatch(Req) end},
+               {port, Port}],
+    misultin_bench_sup:start_link(Options).
+
+stop(_State) ->
+    ok.

+ 18 - 0
frameworks/Erlang/misultin/src/misultin_bench_sup.erl

@@ -0,0 +1,18 @@
+-module(misultin_bench_sup).
+-behaviour(supervisor).
+-export([start_link/1]).
+-export([init/1]).
+
+start_link(Options) ->
+    supervisor:start_link(?MODULE, [Options]).
+
+init([Options]) ->
+    Misultin = supervisor(misultin, Options),
+    Processes = [Misultin],
+    Strategy = {one_for_one, 5, 30},
+    {ok, {Strategy, Processes}}.
+
+supervisor(Mod, Options) ->
+    {Mod,
+     {Mod, start_link, [Options]},
+     permanent, infinity, supervisor, [Mod]}.

+ 53 - 0
frameworks/Erlang/misultin/src/web_handler.erl

@@ -0,0 +1,53 @@
+-module(web_handler).
+-export([dispatch/1]).
+
+dispatch(Req) ->
+    Method = Req:get(method),
+    {_UriType, Uri} = Req:get(uri),
+    Path = string:tokens(Uri, "/"),
+    handle(Method, Path, Req).
+
+%% handle
+
+handle('GET', ["json"], Req) ->
+    json(Req, erl_bench:hello_json());
+
+handle('GET', ["plaintext"], Req) ->
+    plain(Req, erl_bench:hello_plain());
+
+handle('GET', ["db"], Req) ->
+    json(Req, erl_bench:random_json());
+
+handle('GET', ["queries"], Req) ->
+    Queries = queries(Req),
+    json(Req, erl_bench:randoms_json(Queries));
+
+handle('GET', ["updates"], Req) ->
+    Queries = queries(Req),
+    json(Req, erl_bench:update_randoms_json(Queries));
+
+handle('GET', ["fortunes"], Req) ->
+    html(Req, erl_bench:fortunes_html());
+
+handle(_Method, _Path, Req) ->
+    Req:respond(404, [{"Content-Type", "text/plain"}], "Not Found").
+
+%% private
+
+json(Req, Json) ->
+    Req:ok([{"Content-Type", "application/json"}], Json).
+
+plain(Req, Text) ->
+    Req:ok([{"Content-Type", "text/plain"}], Text).
+
+html(Req, Html) ->
+    Req:ok([{"Content-Type", "text/html"}], Html).
+
+queries(Req) ->
+    Params = Req:parse_qs(),
+    Queries = (catch list_to_integer(proplists:get_value("queries", Params, "1"))),
+    case {is_number(Queries), Queries > 500} of
+        {true, true} -> 500;
+        {false, _}   -> 1;
+        _ -> Queries
+    end.

+ 7 - 0
frameworks/Erlang/misultin/start-dev.sh

@@ -0,0 +1,7 @@
+#!/bin/sh
+exec erl \
+     +K true +sbwt very_long +swt very_low \
+     -pa ebin deps/*/ebin \
+     -boot start_sasl \
+     -config priv/app.config \
+     -s misultin_bench_app

+ 0 - 2
frameworks/Java/mangooio/README.md

@@ -1,2 +0,0 @@
-FrameworkBenchmarks-mangooio
-=============================

+ 0 - 28
frameworks/Java/mangooio/benchmark_config.json

@@ -1,28 +0,0 @@
-{
-  "framework": "mangooio",
-  "tests": [{
-    "default": {
-      "setup_file": "setup",
-      "json_url": "/json",
-      "db_url": "/db",
-      "query_url": "/queries?queries=",
-      "fortune_url": "/fortunes",
-      "update_url": "/updates?queries=",
-      "plaintext_url": "/plaintext",
-      "port": 8080,
-      "approach": "Realistic",
-      "classification": "Fullstack",
-      "database": "MongoDB",
-      "framework": "mangooio",
-      "language": "Java",
-      "orm": "Full",
-      "platform": "Undertow",
-      "webserver": "Undertow",
-      "os": "Linux",
-      "database_os": "Linux",
-      "display_name": "mangoo I/O",
-      "notes": "",
-      "versus": ""
-    }
-  }]
-}

+ 0 - 123
frameworks/Java/mangooio/pom.xml

@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xmlns="http://maven.apache.org/POM/4.0.0"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<artifactId>mangooio</artifactId>
-	<groupId>de.svenkubiak.techempower</groupId>
-	<version>1.0.0-SNAPSHOT</version>
-	<packaging>jar</packaging>
-	<url>https://mangoo.io</url>
-	<properties>
-		<mangooio.version>1.0.0-Beta1</mangooio.version>
-		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-	</properties>
-	<build>
-		<resources>
-			<resource>
-				<directory>src/main/java</directory>
-				<includes>
-					<include>**/*</include>
-				</includes>
-				<excludes>
-					<exclude>**/*.java</exclude>
-				</excludes>
-			</resource>
-			<resource>
-				<directory>src/main/resources</directory>
-				<includes>
-					<include>**/*</include>
-				</includes>
-			</resource>
-		</resources>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-surefire-plugin</artifactId>
-				<version>2.18.1</version>
-				<configuration>
-					<includes>
-						<include>**/*TestSuite.java</include>
-					</includes>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<version>3.2</version>
-				<configuration>
-					<source>1.8</source>
-					<target>1.8</target>
-					<compilerArgument>-parameters</compilerArgument>
-					<optimize>true</optimize>
-					<debug>false</debug>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>de.svenkubiak</groupId>
-				<artifactId>mangooio-maven-plugin</artifactId>
-				<version>${mangooio.version}</version>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-shade-plugin</artifactId>
-				<version>2.2</version>
-				<configuration>
-					<createDependencyReducedPom>false</createDependencyReducedPom>
-					<filters>
-						<filter>
-							<artifact>*:*</artifact>
-							<excludes>
-								<exclude>META-INF/*.SF</exclude>
-								<exclude>META-INF/*.DSA</exclude>
-								<exclude>META-INF/*.RSA</exclude>
-							</excludes>
-						</filter>
-					</filters>
-					<finalName>mangooioapp</finalName>
-				</configuration>
-				<executions>
-					<execution>
-						<phase>package</phase>
-						<goals>
-							<goal>shade</goal>
-						</goals>
-						<configuration>
-							<transformers>
-								<transformer
-									implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
-								<transformer
-									implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
-									<mainClass>mangoo.io.core.Application</mainClass>
-								</transformer>
-							</transformers>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
-	<dependencies>
-		<dependency>
-			<groupId>de.svenkubiak</groupId>
-			<artifactId>mangooio-core</artifactId>
-			<version>${mangooio.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>de.svenkubiak</groupId>
-			<artifactId>mangooio-test-utilities</artifactId>
-			<version>${mangooio.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>de.svenkubiak</groupId>
-			<artifactId>embedded-mongodb</artifactId>
-			<version>4.1.1</version>
-		</dependency>
-		<dependency>
-			<groupId>de.svenkubiak</groupId>
-			<artifactId>mangooio-mongodb-extension</artifactId>
-			<version>1.0.0</version>
-		</dependency>
-	</dependencies>
-</project>

+ 0 - 9
frameworks/Java/mangooio/setup.sh

@@ -1,9 +0,0 @@
-#!/bin/bash
-
-fw_depends java8 maven
-
-sed -i 's|mongodb.host=.*|mongodb.host='${DBHOST}'|g' src/main/resources/application.conf
-
-mvn clean package -Dmaven.test.skip=true
-
-java -jar target/mangooioapp.jar &

+ 0 - 24
frameworks/Java/mangooio/src/main/java/conf/Lifecycle.java

@@ -1,24 +0,0 @@
-package conf;
-
-import mangoo.io.core.Application;
-import mangoo.io.interfaces.MangooLifecycle;
-
-import com.google.inject.Singleton;
-
-import de.svenkubiak.embeddedmongodb.EmbeddedMongo;
-
-@Singleton
-public class Lifecycle implements MangooLifecycle {
-
-	@Override
-	public void applicationInitialized() {
-		if (Application.inTestMode()) {
-			EmbeddedMongo.DB.port(29019).start();
-		}
-	}
-
-	@Override
-    public void applicationStarted() {
-		// Do nothing for now
-	}
-}

+ 0 - 15
frameworks/Java/mangooio/src/main/java/conf/Module.java

@@ -1,15 +0,0 @@
-package conf;
-
-import mangoo.io.interfaces.MangooLifecycle;
-
-import com.google.inject.AbstractModule;
-import com.google.inject.Singleton;
-
-@Singleton
-public class Module extends AbstractModule {
-    
-	@Override
-    protected void configure() {
-        bind(MangooLifecycle.class).to(Lifecycle.class);
-    }
-}

+ 0 - 23
frameworks/Java/mangooio/src/main/java/conf/Routes.java

@@ -1,23 +0,0 @@
-package conf;
-
-import com.google.inject.Singleton;
-
-import io.undertow.util.Methods;
-import mangoo.io.interfaces.MangooRoutes;
-import mangoo.io.routing.Router;
-import controllers.ApplicationController;
-
-@Singleton
-public class Routes implements MangooRoutes {
-    
-	@Override
-    public void routify() {
-		Router.mapRequest(Methods.GET).toUrl("/").onClassAndMethod(ApplicationController.class, "index");
-        Router.mapRequest(Methods.GET).toUrl("/json").onClassAndMethod(ApplicationController.class, "json");
-        Router.mapRequest(Methods.GET).toUrl("/db").onClassAndMethod(ApplicationController.class, "db");
-        Router.mapRequest(Methods.GET).toUrl("/queries").onClassAndMethod(ApplicationController.class, "queries");
-        Router.mapRequest(Methods.GET).toUrl("/plaintext").onClassAndMethod(ApplicationController.class, "plaintext");
-        Router.mapRequest(Methods.GET).toUrl("/fortunes").onClassAndMethod(ApplicationController.class, "fortunes");
-        Router.mapRequest(Methods.GET).toUrl("/updates").onClassAndMethod(ApplicationController.class, "updates");
-    }
-}

+ 0 - 69
frameworks/Java/mangooio/src/main/java/controllers/ApplicationController.java

@@ -1,69 +0,0 @@
-package controllers;
-
-import interfaces.Constants;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import mangoo.io.routing.Response;
-import models.Fortune;
-import models.Message;
-import models.World;
-import services.DataService;
-import utils.RandomUtils;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-
-@Singleton
-public class ApplicationController {
-	
-	@Inject
-	private DataService dataService;
-	
-	public Response index() {
-		return Response.withOk().andEmptyBody();
-	}
-
-	public Response json() {
-    	return Response.withOk().andJsonBody(new Message(Constants.HELLO_WORLD));
-    }
-	
-	public Response db() {
-		World world = dataService.findById(RandomUtils.getRandomId()); 
-    	return Response.withOk().andJsonBody(world);
-    }
-	
-	public Response queries(String queries) {
-		List<World> worlds = dataService.getWorlds(queries);
-		return Response.withOk().andJsonBody(worlds);
-    }
-	
-	public Response plaintext() {
-    	return Response.withOk().andTextBody(Constants.HELLO_WORLD);
-    }
-	
-	public Response fortunes() {
-		List<Fortune> fortunes = dataService.findAllFortunes();
-		fortunes.add(new Fortune(0, Constants.FORTUNE_MESSAGE));
-		Collections.sort(fortunes);
-		
-    	return Response.withOk().andContent("fortunes", fortunes);
-    }
-	
-	public Response updates(String queries) {
-		List<World> worldUpdates = new ArrayList<World>();
-		
-		List<World> worlds = dataService.getWorlds(queries);
-		for (World world : worlds) {
-			int randomNumber = RandomUtils.getRandomId();
-			world.setRandomnumber(randomNumber);
-			dataService.save(world);
-			
-			worldUpdates.add(world);
-		}
-		
-		return Response.withOk().andJsonBody(worldUpdates);
-    }
-}

+ 0 - 7
frameworks/Java/mangooio/src/main/java/interfaces/Constants.java

@@ -1,7 +0,0 @@
-package interfaces;
-
-public interface Constants {
-	public static final int ROWS = 10000;
-	public static final String HELLO_WORLD = "Hello, World!";
-	public static final String FORTUNE_MESSAGE = "Additional fortune added at request time.";
-}

+ 0 - 40
frameworks/Java/mangooio/src/main/java/models/Fortune.java

@@ -1,40 +0,0 @@
-package models;
-
-import java.io.Serializable;
-
-import org.bson.types.ObjectId;
-import org.mongodb.morphia.annotations.Id;
-import org.mongodb.morphia.annotations.Indexed;
-
-public class Fortune  implements Serializable, Comparable<Fortune> {
-	private static final long serialVersionUID = 3493429313579555024L;
-
-    @Id
-    protected ObjectId objectId;
-	
-	@Indexed(unique=true)
-	private long id;
-	
-	private String message;
-	
-	public Fortune(){
-	}
-	
-	public Fortune(long id, String message) {
-		this.id = id;
-		this.message = message;
- 	}
-
-	public String getMessage() {
-		return message;
-	}
-	
-	public long getId() {
-		return id;
-	}
-
-	@Override
-    public int compareTo(Fortune other) {
-        return message.compareTo(other.message);
-    }
-}

+ 0 - 9
frameworks/Java/mangooio/src/main/java/models/Message.java

@@ -1,9 +0,0 @@
-package models;
-
-public class Message {
-	public final String message;
-
-	public Message(String message) {
-		this.message = message;
-	}
-}

+ 0 - 39
frameworks/Java/mangooio/src/main/java/models/World.java

@@ -1,39 +0,0 @@
-package models;
-
-import java.io.Serializable;
-
-import org.bson.types.ObjectId;
-import org.mongodb.morphia.annotations.Id;
-import org.mongodb.morphia.annotations.Indexed;
-
-public class World implements Serializable {
-	private static final long serialVersionUID = -3219780537751230815L;
-
-    @Id
-    protected ObjectId objectId;
-	
-	@Indexed(unique=true)
-	private long id;
-	
-	private int randomNumber;
-	
-	public World() {
-	}
-	
-	public World(long id, int randomNumber) {
-		this.id = id;
-		this.randomNumber = randomNumber;
-	}
-
-	public int getRandomNumber() {
-		return this.randomNumber;
-	}
-
-	public void setRandomnumber(int randomNumber) {
-		this.randomNumber = randomNumber;
-	}
-	
-	public long getId() {
-		return id;
-	}
-}

+ 0 - 62
frameworks/Java/mangooio/src/main/java/services/DataService.java

@@ -1,62 +0,0 @@
-package services;
-
-import interfaces.Constants;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.ThreadLocalRandom;
-
-import org.apache.commons.lang.StringUtils;
-
-import models.Fortune;
-import models.World;
-
-import com.google.inject.Inject;
-
-import de.svenkubiak.mangoo.mongodb.MongoDB;
-
-public class DataService {
-    private MongoDB mongoDB;
-
-    @Inject
-    public DataService(MongoDB mongoDB) {
-    	this.mongoDB = mongoDB;
-        this.mongoDB.ensureIndexes(true);
-    }
-
-    public World findById(int id) {
-        return this.mongoDB.getDatastore().find(World.class).field("id").equal(id).retrievedFields(false, "_id").get();
-    }
-    
-    public List<World> find(int queries) {
-    	return this.mongoDB.getDatastore().find(World.class).retrievedFields(false, "_id").asList();
-    }
-
-	public void save(Object object) {
-		this.mongoDB.getDatastore().save(object);
-	}
-	
-	public List<World> getWorlds(String queries) {
-		int query = 1;
-		if (StringUtils.isNotBlank(queries) && StringUtils.isNumeric(queries)) {
-			query = Integer.valueOf(queries);
-		}
-		
-		if (query <= 1) {
-			query = 1;
-		} else if (query > 500) {
-			query = 500;
-		}
-		
-		List<World> worlds = new ArrayList<World>();
-		for (int i=0; i < query; i++) {
-			int id = ThreadLocalRandom.current().nextInt(Constants.ROWS) + 1;
-			worlds.add(findById(id));
-		}
-		return worlds;
-	}
-
-	public List<Fortune> findAllFortunes() {
-		return this.mongoDB.getDatastore().find(Fortune.class).retrievedFields(false, "_id").asList();
-	}
-}

+ 0 - 11
frameworks/Java/mangooio/src/main/java/utils/RandomUtils.java

@@ -1,11 +0,0 @@
-package utils;
-
-import interfaces.Constants;
-
-import java.util.concurrent.ThreadLocalRandom;
-
-public final class RandomUtils {
-	public static int getRandomId() {
-		return ThreadLocalRandom.current().nextInt(Constants.ROWS) + 1;
-	}
-}

+ 0 - 50
frameworks/Java/mangooio/src/main/resources/application.conf

@@ -1,50 +0,0 @@
-# The main properties file to configure your application
-#
-# Properties can be prefixed by "%".
-# "%"" matches a mode you can set as system property. For instance when you
-# are using maven you can do: mvn -Dmode=test jetty:run
-#
-# Using that the following property:
-# %test.myproperty=test property
-# would overwrite the property
-# myproperty=my property
-
-application.host=0.0.0.0
-application.port=8080
-%test.application.host=localhost
-%test.application.port=10808
-
-application.name=mangooio.techempower
-application.secret=myvoiceismypassword
-application.language=en
-
-cookie.name=${application.name}-SESSION
-cookie.expires=86400
-cookie.encryption=false
-
-smtp.host=localhost
-smtp.port=3025
-%test.smtp.host=localhost
-%test.smtp.port=3055
-
-smtp.username=
-smtp.password=
-smtp.ssl=false
-
-mongodb.host=127.0.0.1
-mongodb.port=27017           
-mongodb.dbname=hello_world     
-mongodb.user=         
-mongodb.pass=         
-mongodb.authdb=     
-morphia.package=models     
-morphia.init=true
-
-%test.mongodb.host127.0.0.1
-%test.mongodb.port=29019           
-%test.mongodb.dbname=test     
-%test.mongodb.user=         
-%test.mongodb.pass=         
-%test.mongodb.authdb=     
-%test.morphia.package=models     
-%test.morphia.init=true       

+ 0 - 13
frameworks/Java/mangooio/src/main/resources/ehcache.xml

@@ -1,13 +0,0 @@
-<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../config/ehcache.xsd" updateCheck="false">
-    <defaultCache
-            maxElementsInMemory="10000"
-            eternal="false"
-            timeToIdleSeconds="120"
-            timeToLiveSeconds="120"
-            overflowToDisk="false"
-            maxElementsOnDisk="10000000"
-            diskPersistent="false"
-            diskExpiryThreadIntervalSeconds="120"
-            memoryStoreEvictionPolicy="LRU"
-    /> 
-</ehcache>

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 1
frameworks/Java/mangooio/src/main/resources/files/assets/javascripts/jquery.min.js


+ 0 - 2
frameworks/Java/mangooio/src/main/resources/files/robots.txt

@@ -1,2 +0,0 @@
-User-agent: *
-Disallow: /

+ 0 - 13
frameworks/Java/mangooio/src/main/resources/logback.prod.xml

@@ -1,13 +0,0 @@
-<configuration>
-	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-			<level>info</level>
-		</filter>
-		<encoder>
-			<pattern>%d{dd.MM.yyyy;HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
-		</encoder>
-	</appender>
-	<root level="FATAL">
-		<appender-ref ref="STDOUT" />
-	</root>
-</configuration>

+ 0 - 11
frameworks/Java/mangooio/src/main/resources/logback.xml

@@ -1,11 +0,0 @@
-<configuration>
-	<logger name="org.mongodb" level="FATAL"/>
-	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-		<encoder>
-			<pattern>%d{dd.MM.yyyy;HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
-		</encoder>
-	</appender>
-	<root level="FATAL">
-		<appender-ref ref="STDOUT" />
-	</root>
-</configuration>

+ 0 - 14
frameworks/Java/mangooio/src/main/resources/templates/ApplicationController/fortunes.ftl

@@ -1,14 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head><title>Fortunes</title></head>
-<body>
-<table>
-<tr><th>id</th><th>message</th></tr>
-<#if fortunes?has_content>
-<#list fortunes as fortune>
-<tr><td>${fortune.id}</td><td>${fortune.message}</td></tr>
-</#list>
-</#if>
-</table>
-</body>
-</html>

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 8
frameworks/Java/mangooio/src/main/resources/templates/layout.ftl


+ 0 - 2
frameworks/Java/mangooio/src/main/resources/translations/messages.properties

@@ -1,2 +0,0 @@
-welcome=willkommen
-test=dies ist der {0} test dieser {1} super app

+ 0 - 2
frameworks/Java/mangooio/src/main/resources/translations/messages_de.properties

@@ -1,2 +0,0 @@
-welcome=willkommen
-test=dies ist der {0} test dieser {1} super app

+ 0 - 1
frameworks/Java/mangooio/src/main/resources/translations/messages_en.properties

@@ -1 +0,0 @@
-welcome=welcome

+ 0 - 6
frameworks/Java/mangooio/src/test/java/mangooio/TestSuite.java

@@ -1,6 +0,0 @@
-package mangooio;
-
-import mangoo.io.testing.MangooRunner;
-
-public class TestSuite extends MangooRunner {
-}

+ 0 - 111
frameworks/Java/mangooio/src/test/java/mangooio/controllers/ApplicationControllerTest.java

@@ -1,111 +0,0 @@
-package mangooio.controllers;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import interfaces.Constants;
-import io.undertow.util.StatusCodes;
-
-import java.util.UUID;
-
-import mangoo.io.core.Application;
-import mangoo.io.testing.MangooRequest;
-import mangoo.io.testing.MangooResponse;
-import models.Fortune;
-import models.World;
-
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import services.DataService;
-import utils.RandomUtils;
-import de.svenkubiak.embeddedmongodb.EmbeddedMongo;
-
-public class ApplicationControllerTest {
-	private static final String HELLO_WORLD_JSON = "{\"message\":\"Hello, World!\"}";
-	
-	@BeforeClass()
-	public static void preloadData() {
-		DataService dataService = Application.getInjector().getInstance(DataService.class);
-		for (int i=0; i < Constants.ROWS; i++) {
-			World world = new World(i + 1, RandomUtils.getRandomId());
-			dataService.save(world);
-			
-			Fortune fortune = new Fortune(i + 1, UUID.randomUUID().toString());
-			dataService.save(fortune);
-		}
-	}
-
-	@Test
-	public void testIndex() {
-		MangooResponse mangooResponse = MangooRequest.get("/").execute();
-		
-		assertNotNull(mangooResponse);
-		assertEquals(StatusCodes.OK, mangooResponse.getStatusCode());
-	}
-	
-	@Test
-	public void testJson() {
-		MangooResponse mangooResponse = MangooRequest.get("/json").execute();
-		
-		assertNotNull(mangooResponse);
-		assertEquals(StatusCodes.OK, mangooResponse.getStatusCode());
-		assertEquals(HELLO_WORLD_JSON, mangooResponse.getContent());
-	}
-	
-	@Test
-	public void testDb() {
-		MangooResponse mangooResponse = MangooRequest.get("/db").execute();
-		
-		assertNotNull(mangooResponse);
-		assertEquals(StatusCodes.OK, mangooResponse.getStatusCode());
-		assertTrue(mangooResponse.getContent().contains("id"));
-		assertTrue(mangooResponse.getContent().contains("randomNumber"));
-	}
-	
-	@Test
-	public void testQueries() {
-		int queries = RandomUtils.getRandomId();
-		MangooResponse mangooResponse = MangooRequest.get("/db?queries=" + queries).execute();
-		
-		assertNotNull(mangooResponse);
-		assertEquals(StatusCodes.OK, mangooResponse.getStatusCode());
-		assertTrue(mangooResponse.getContent().contains("id"));
-		assertTrue(mangooResponse.getContent().contains("randomNumber"));
-	}
-	
-	@Test
-	public void testPlaintext() {
-		MangooResponse mangooResponse = MangooRequest.get("/plaintext").execute();
-		
-		assertNotNull(mangooResponse);
-		assertEquals(StatusCodes.OK, mangooResponse.getStatusCode());
-		assertEquals(Constants.HELLO_WORLD, mangooResponse.getContent());
-	}
-	
-	@Test
-	public void testFortunes() {
-		MangooResponse mangooResponse = MangooRequest.get("/fortunes").execute();
-		
-		assertNotNull(mangooResponse);
-		assertEquals(StatusCodes.OK, mangooResponse.getStatusCode());
-		assertTrue(mangooResponse.getContent().contains("id"));
-		assertTrue(mangooResponse.getContent().contains(Constants.FORTUNE_MESSAGE));
-	}
-	
-	@Test
-	public void testUpdates() {
-		int queries = RandomUtils.getRandomId();
-		MangooResponse mangooResponse = MangooRequest.get("/updates?queries=" + queries).execute();
-		
-		assertNotNull(mangooResponse);
-		assertEquals(StatusCodes.OK, mangooResponse.getStatusCode());
-		assertTrue(mangooResponse.getContent().contains("id"));
-	}
-	
-	@AfterClass
-	public static void stopMongoDB() {
-		EmbeddedMongo.DB.stop();
-	}
-}

+ 0 - 69
frameworks/Java/tapestry/hello/build.gradle

@@ -1,69 +0,0 @@
-description = "hello application"
-
-apply plugin: "war"
-apply plugin: "java"
-apply plugin: "jetty"
-apply plugin: "idea"
-
-sourceCompatibility = "1.5"
-targetCompatibility = "1.5"
-
-group = "hello"
-version = "1.0-SNAPSHOT"
-
-repositories {
-    mavenCentral()
-
-    // All things JBoss/Hibernate
-    mavenRepo name: "JBoss", url: "http://repository.jboss.org/nexus/content/groups/public/"
-}
-
-// This simulates Maven's "provided" scope, until it is officially supported by Gradle
-// See http://jira.codehaus.org/browse/GRADLE-784
-
-configurations {
-    provided
-}
-
-sourceSets {
-    main {
-        compileClasspath += configurations.provided
-    }
-    test {
-        compileClasspath += configurations.provided
-        runtimeClasspath += configurations.provided
-    }
-}
-
-dependencies {
-
-    compile "mysql:mysql-connector-java:5.1.19"
-    compile "org.hibernate:hibernate-core:3.6.3.Final"
-    compile "org.apache.tapestry:tapestry-hibernate:5.3.6"
-    compile "com.fasterxml.jackson.core:jackson-databind:2.3.0"
-
-    // This adds automatic compression of JavaScript and CSS in production mode:
-    compile "org.apache.tapestry:tapestry-yuicompressor:5.3.6"
-
-    // Uncomment this to add support for file uploads:
-    // compile "org.apache.tapestry:tapestry-upload:5.3.6"
-
-    provided "javax.servlet:servlet-api:2.5"
-}
-
-test {
-    useTestNG()
-
-    options.suites("src/test/conf/testng.xml")
-
-    systemProperties["tapestry.service-reloading-enabled"] = "false"
-    systemProperties["tapestry.execution-mode"] = "development"
-
-    maxHeapSize = "600M"
-
-    jvmArgs("-XX:MaxPermSize=256M")
-
-    enableAssertions = true
-}
-
-// TODO: Configure execution mode for jettyRun task

BIN
frameworks/Java/tapestry/hello/gradle/wrapper/gradle-wrapper.jar


+ 0 - 6
frameworks/Java/tapestry/hello/gradle/wrapper/gradle-wrapper.properties

@@ -1,6 +0,0 @@
-#Fri Jun 22 15:08:07 PDT 2012
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-distributionUrl=http\://services.gradle.org/distributions/gradle-1.0-bin.zip

+ 0 - 164
frameworks/Java/tapestry/hello/gradlew

@@ -1,164 +0,0 @@
-#!/bin/bash
-
-##############################################################################
-##
-##  Gradle start up script for UN*X
-##
-##############################################################################
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
-
-APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
-
-warn ( ) {
-    echo "$*"
-}
-
-die ( ) {
-    echo
-    echo "$*"
-    echo
-    exit 1
-}
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-case "`uname`" in
-  CYGWIN* )
-    cygwin=true
-    ;;
-  Darwin* )
-    darwin=true
-    ;;
-  MINGW* )
-    msys=true
-    ;;
-esac
-
-# For Cygwin, ensure paths are in UNIX format before anything is touched.
-if $cygwin ; then
-    [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
-fi
-
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
-    ls=`ls -ld "$PRG"`
-    link=`expr "$ls" : '.*-> \(.*\)$'`
-    if expr "$link" : '/.*' > /dev/null; then
-        PRG="$link"
-    else
-        PRG=`dirname "$PRG"`"/$link"
-    fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/"
-APP_HOME="`pwd -P`"
-cd "$SAVED"
-
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
-    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
-        # IBM's JDK on AIX uses strange locations for the executables
-        JAVACMD="$JAVA_HOME/jre/sh/java"
-    else
-        JAVACMD="$JAVA_HOME/bin/java"
-    fi
-    if [ ! -x "$JAVACMD" ] ; then
-        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-    fi
-else
-    JAVACMD="java"
-    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-fi
-
-# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
-    MAX_FD_LIMIT=`ulimit -H -n`
-    if [ $? -eq 0 ] ; then
-        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
-            MAX_FD="$MAX_FD_LIMIT"
-        fi
-        ulimit -n $MAX_FD
-        if [ $? -ne 0 ] ; then
-            warn "Could not set maximum file descriptor limit: $MAX_FD"
-        fi
-    else
-        warn "Could not query businessSystem maximum file descriptor limit: $MAX_FD_LIMIT"
-    fi
-fi
-
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
-    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
-    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
-    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
-
-    # We build the pattern for arguments to be converted via cygpath
-    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
-    SEP=""
-    for dir in $ROOTDIRSRAW ; do
-        ROOTDIRS="$ROOTDIRS$SEP$dir"
-        SEP="|"
-    done
-    OURCYGPATTERN="(^($ROOTDIRS))"
-    # Add a user-defined pattern to the cygpath arguments
-    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
-        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
-    fi
-    # Now convert the arguments - kludge to limit ourselves to /bin/sh
-    i=0
-    for arg in "$@" ; do
-        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
-        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
-
-        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
-            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
-        else
-            eval `echo args$i`="\"$arg\""
-        fi
-        i=$((i+1))
-    done
-    case $i in
-        (0) set -- ;;
-        (1) set -- "$args0" ;;
-        (2) set -- "$args0" "$args1" ;;
-        (3) set -- "$args0" "$args1" "$args2" ;;
-        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
-        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
-        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
-        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
-        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
-        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
-    esac
-fi
-
-# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
-function splitJvmOpts() {
-    JVM_OPTS=("$@")
-}
-eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
-JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
-
-exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"

+ 0 - 90
frameworks/Java/tapestry/hello/gradlew.bat

@@ -1,90 +0,0 @@
-@if "%DEBUG%" == "" @echo off
-@rem ##########################################################################
-@rem
-@rem  Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
-
-set DIRNAME=%~dp0
-if "%DIRNAME%" == "" set DIRNAME=.
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
-
-echo.
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto init
-
-echo.
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:init
-@rem Get command-line arguments, handling Windowz variants
-
-if not "%OS%" == "Windows_NT" goto win9xME_args
-if "%@eval[2+2]" == "4" goto 4NT_args
-
-:win9xME_args
-@rem Slurp the command line arguments.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-if "x%~1" == "x" goto execute
-
-set CMD_LINE_ARGS=%*
-goto execute
-
-:4NT_args
-@rem Get arguments from the 4NT Shell from JP Software
-set CMD_LINE_ARGS=%$
-
-:execute
-@rem Setup the command line
-
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
-
-:end
-@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="0" goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
-rem the _cmd.exe /c_ return code!
-if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
-exit /b 1
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio