Browse Source

[go/aah] Remove aah (#9775)

Aah hasn't seen an update in 5 years:
https://github.com/go-aah/aah
It seems to be no longer active:
https://github.com/go-aah/aah/issues/277
Petrik de Heus 4 months ago
parent
commit
f977e34c35

+ 0 - 26
frameworks/Go/aah/README.md

@@ -1,26 +0,0 @@
-<p align="center">
-  <img src="https://cdn.aahframework.org/assets/img/aah-logo-64x64.png" />
-  <h2 align="center">Benchmark Application</h2>
-  <p align="center">aah - A secure, flexible, rapid Go web framework</p>
-</p>
-
-Visit official website https://aahframework.org to learn more about `aah` framework. 
-
-### Test URLs
-
-  * http://localhost:8080/json
-  * http://localhost:8080/plaintext
-
-### Test URLs - w/ MySQL Datasource
-
-  * http://localhost:8080/db
-  * http://localhost:8080/db/queries?count=[1-500]
-  * http://localhost:8080/db/fortunes
-  * http://localhost:8080/db/updates?count=[1-500]
-  
-### Test URLs - w/ PostgreSQL Datasource
-
-  * http://localhost:8080/pg-db
-  * http://localhost:8080/pg-db/queries?count=[1-500]
-  * http://localhost:8080/pg-db/fortunes
-  * http://localhost:8080/pg-db/updates?count=[1-500]

+ 0 - 22
frameworks/Go/aah/aah-mysql.dockerfile

@@ -1,22 +0,0 @@
-FROM golang:1.14
-
-RUN apt-get update -yqq
-
-ADD ./ /aah
-WORKDIR /aah
-
-ENV GOPATH /aah
-ENV PATH ${GOPATH}/bin:${PATH}
-ENV GO111MODULE on
-
-RUN curl -sL https://aahframework.org/install-cli | bash -s v0.13.3
-
-WORKDIR /aah/src/benchmark
-
-RUN aah --version
-RUN mkdir -p views/common
-RUN aah build --single
-
-EXPOSE 8080
-
-CMD build/bin/benchmark run --envprofile bm_mysql

+ 0 - 22
frameworks/Go/aah/aah-postgresql.dockerfile

@@ -1,22 +0,0 @@
-FROM golang:1.14
-
-RUN apt-get update -yqq
-
-ADD ./ /aah
-WORKDIR /aah
-
-ENV GOPATH /aah
-ENV PATH ${GOPATH}/bin:${PATH}
-ENV GO111MODULE on
-
-RUN curl -sL https://aahframework.org/install-cli | bash -s v0.13.3
-
-WORKDIR /aah/src/benchmark
-
-RUN aah --version
-RUN mkdir -p views/common
-RUN aah build --single
-
-EXPOSE 8080
-
-CMD build/bin/benchmark run --envprofile bm_postgresql

+ 0 - 22
frameworks/Go/aah/aah.dockerfile

@@ -1,22 +0,0 @@
-FROM golang:1.14
-
-RUN apt-get update -yqq
-
-ADD ./ /aah
-WORKDIR /aah
-
-ENV GOPATH /aah
-ENV PATH ${GOPATH}/bin:${PATH}
-ENV GO111MODULE on
-
-RUN curl -sL https://aahframework.org/install-cli | bash -s v0.13.3
-
-WORKDIR /aah/src/benchmark
-
-RUN aah --version
-RUN mkdir -p views/common
-RUN aah build --single
-
-EXPOSE 8080
-
-CMD build/bin/benchmark run --envprofile bm_default

+ 0 - 73
frameworks/Go/aah/benchmark_config.json

@@ -1,73 +0,0 @@
-{
-  "framework": "aah",
-  "tests": [{
-    "default": {
-      "json_url": "/json",
-      "plaintext_url": "/plaintext",
-      "port": 8080,
-      "approach": "Realistic",
-      "classification": "Fullstack",
-      "database": "MySQL",
-      "framework": "aah",
-      "language": "Go",
-      "flavor": "None",
-      "orm": "Raw",
-      "platform": "None",
-      "webserver": "None",
-      "os": "Linux",
-      "database_os": "Linux",
-      "display_name": "aah",
-      "notes": "",
-      "versus": "go",
-      "tags": ["broken"]
-    },
-    "mysql": {
-      "dockerfile": "aah.dockerfile",
-      "docker_cmd": "build/bin/benchmark run --envprofile bm_mysql",
-      "db_url": "/db",
-      "query_url": "/db/queries?count=",
-      "fortune_url": "/db/fortunes",
-      "update_url": "/db/updates?count=",
-      "port": 8080,
-      "approach": "Realistic",
-      "classification": "Fullstack",
-      "database": "MySQL",
-      "framework": "aah",
-      "language": "Go",
-      "flavor": "None",
-      "orm": "Raw",
-      "platform": "None",
-      "webserver": "None",
-      "os": "Linux",
-      "database_os": "Linux",
-      "display_name": "aah-mysql",
-      "notes": "",
-      "versus": "go",
-      "tags": ["broken"]
-    },
-    "postgresql": {
-      "dockerfile": "aah.dockerfile",
-      "docker_cmd": "build/bin/benchmark run --envprofile bm_postgresql",
-      "db_url": "/pg-db",
-      "query_url": "/pg-db/queries?count=",
-      "fortune_url": "/pg-db/fortunes",
-      "update_url": "/pg-db/updates?count=",
-      "port": 8080,
-      "approach": "Realistic",
-      "classification": "Fullstack",
-      "database": "Postgres",
-      "framework": "aah",
-      "language": "Go",
-      "flavor": "None",
-      "orm": "Raw",
-      "platform": "None",
-      "webserver": "None",
-      "os": "Linux",
-      "database_os": "Linux",
-      "display_name": "aah-postgresql",
-      "notes": "",
-      "versus": "go",
-      "tags": ["broken"]
-    }  
-  }]
-}

+ 0 - 47
frameworks/Go/aah/config.toml

@@ -1,47 +0,0 @@
-[framework]
-name = "aah"
-
-[main]
-urls.plaintext = "/plaintext"
-urls.json = "/json"
-approach = "Realistic"
-classification = "Fullstack"
-database = "MySQL"
-database_os = "Linux"
-os = "Linux"
-orm = "Raw"
-platform = "None"
-webserver = "None"
-versus = "go"
-
-[postgresql]
-urls.db = "/pg-db"
-urls.query = "/pg-db/queries?count="
-urls.update = "/pg-db/updates?count="
-urls.fortune = "/pg-db/fortunes"
-approach = "Realistic"
-classification = "Fullstack"
-database = "Postgres"
-database_os = "Linux"
-os = "Linux"
-orm = "Raw"
-platform = "None"
-webserver = "None"
-versus = "go"
-dockerfile = "aah.dockerfile"
-
-[mysql]
-urls.db = "/db"
-urls.query = "/db/queries?count="
-urls.update = "/db/updates?count="
-urls.fortune = "/db/fortunes"
-approach = "Realistic"
-classification = "Fullstack"
-database = "MySQL"
-database_os = "Linux"
-os = "Linux"
-orm = "Raw"
-platform = "None"
-webserver = "None"
-versus = "go"
-dockerfile = "aah.dockerfile"

+ 0 - 43
frameworks/Go/aah/src/benchmark/aah.project

@@ -1,43 +0,0 @@
-########################################
-# benchmark - aah framework project
-#
-# Note: Add it to version control
-########################################
-
-# Build section is used during aah application compile and build command.
-build {
-  # Application binary name
-  # Default value is `name` attribute value from `aah.conf`
-  #binary_name = "benchmark"
-
-  # Used as fallback if
-  #   - `git commit sha` or
-  #   - `AAH_APP_VERSION` environment value is not available.
-  version = "0.0.1"
-
-  # If application is missing any dependencies in `build import path`
-  # during a compile and build, aah CLI will try to get dependencies
-  # using 'go get <package>'.
-  # Default value is `false`.
-  #dep_get = true
-
-  # Log level is used for aah CLI tool logging.
-  # Default value is `info`.
-  #log_level = "info"
-
-  flags = ["-i"]
-
-  ldflags = ""
-
-  tags = ""
-
-  # AST excludes is used for `aah.Context` inspection and generating aah
-  # application main Go file. Valid exclude patterns
-  # refer: https://golang.org/pkg/path/filepath/#Match
-  ast_excludes = ["*_test.go", ".*", "*.bak", "*.tmp", "vendor"]
-
-  # Packing excludes is used to exclude file/directory during aah application
-  # build archive. Valid exclude patterns
-  # refer: https://golang.org/pkg/path/filepath/#Match
-  excludes = ["*.go", "*_test.go", ".*", "*.bak", "*.tmp", "vendor", "app", "build", "tests", "logs"]
-}

+ 0 - 122
frameworks/Go/aah/src/benchmark/app/controllers/app.go

@@ -1,122 +0,0 @@
-package controllers
-
-import (
-	"strconv"
-
-	"benchmark/app/models"
-
-	"aahframe.work"
-)
-
-const helloWorldString = "Hello, World!"
-
-// AppController struct application controller
-type AppController struct {
-	*aah.Context
-}
-
-// Plaintext method is for `/plaintext` test.
-func (c *AppController) Plaintext() {
-	c.Reply().Text(helloWorldString)
-}
-
-// JSON method is for `/json` test.
-func (c *AppController) JSON() {
-	c.Reply().JSON(models.Message{Message: helloWorldString})
-}
-
-//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
-// MySQL DB based implementation
-//___________________________________________________________________________
-
-// World returns one world record randomly for `/db` test.
-func (c *AppController) World() {
-	world := new(models.World)
-	if err := models.MySQLFetchRandomWorld(world); err != nil {
-		c.Reply().InternalServerError().Text(err.Error())
-		return
-	}
-	c.Reply().JSON(world)
-}
-
-// Worlds returns one world record randomly for `/db/queries` test.
-func (c *AppController) Worlds() {
-	c.handleResult(models.MySQLRandomWorlds(c.getCount()))
-}
-
-// UpdateWorlds updates record and returns those records for `/db/updates` test.
-func (c *AppController) UpdateWorlds() {
-	c.handleResult(models.MySQLUpdateRandomWorlds(c.getCount()))
-}
-
-// Fortunes method is for `/db/fortunes` test.
-func (c *AppController) Fortunes() {
-	fortunes, err := models.MySQLFortunes()
-	if err != nil {
-		c.Reply().InternalServerError().Text(err.Error())
-		return
-	}
-
-	c.Reply().HTML(aah.Data{
-		"Fortunes": fortunes,
-	})
-}
-
-//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
-// PostgreSQL DB based implementation
-//___________________________________________________________________________
-
-// PGWorld returns one world record randomly for `/pg-db` test.
-func (c *AppController) PGWorld() {
-	world := new(models.World)
-	if err := models.PGFetchRandomWorld(world); err != nil {
-		c.Reply().InternalServerError().Text(err.Error())
-		return
-	}
-	c.Reply().JSON(world)
-}
-
-// PGWorlds returns one world record randomly for `/pg-db/queries` test.
-func (c *AppController) PGWorlds() {
-	c.handleResult(models.PGRandomWorlds(c.getCount()))
-}
-
-// PGUpdateWorlds updates record and returns those records for `/pg-db/updates` test.
-func (c *AppController) PGUpdateWorlds() {
-	c.handleResult(models.PGUpdateRandomWorlds(c.getCount()))
-}
-
-// PGFortunes method is for `/pg-db/fortunes` test.
-func (c *AppController) PGFortunes() {
-	fortunes, err := models.PGFortunes()
-	if err != nil {
-		c.Reply().InternalServerError().Text(err.Error())
-		return
-	}
-
-	c.Reply().HTMLf("fortunes.html", aah.Data{
-		"Fortunes": fortunes,
-	})
-}
-
-//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
-// Unexported methods
-//___________________________________________________________________________
-
-func (c *AppController) getCount() int {
-	cnt, err := strconv.Atoi(c.Req.QueryValue("count"))
-	if err != nil || cnt < 1 {
-		cnt = 1
-	} else if cnt > 500 {
-		cnt = 500
-	}
-	return cnt
-}
-
-func (c *AppController) handleResult(worlds []models.World, err error) {
-	if err != nil {
-		c.Reply().InternalServerError().Text(err.Error())
-		return
-	}
-	c.Reply().JSON(worlds)
-}

+ 0 - 63
frameworks/Go/aah/src/benchmark/app/db/mysql.go

@@ -1,63 +0,0 @@
-package db
-
-import (
-	"database/sql"
-	"runtime"
-
-	"aahframe.work"
-
-	// mysql driver
-	_ "github.com/go-sql-driver/mysql"
-)
-
-// MySQL database connection and prepared statements
-var (
-	MySQL               *sql.DB
-	MSworldSelectStmt   *sql.Stmt
-	MSworldUpdateStmt   *sql.Stmt
-	MSfortuneSelectStmt *sql.Stmt
-
-	mysqlMaxConnCount = runtime.NumCPU() * 2
-)
-
-// InitMySQLDatabase initializes the Database.
-func InitMySQLDatabase(_ *aah.Event) {
-	app := aah.App()
-	if !app.IsEnvProfile("bm_mysql") {
-		return
-	}
-
-	cfg := app.Config()
-	var err error
-	MySQL, err = sql.Open(
-		cfg.StringDefault("datasource.benchmark.mysql.driver", "mysql"),
-		cfg.StringDefault("datasource.benchmark.mysql.url", ""),
-	)
-	if err != nil {
-		app.Log().Fatal(err)
-	}
-
-	if err = MySQL.Ping(); err != nil {
-		app.Log().Fatal(err)
-	}
-
-	MySQL.SetMaxIdleConns(mysqlMaxConnCount)
-	MySQL.SetMaxOpenConns(mysqlMaxConnCount)
-
-	if MSworldSelectStmt, err = MySQL.Prepare("SELECT id, randomNumber FROM World WHERE id = ?"); err != nil {
-		app.Log().Fatal(err)
-	}
-	if MSworldUpdateStmt, err = MySQL.Prepare("UPDATE World SET randomNumber = ? WHERE id = ?"); err != nil {
-		app.Log().Fatal(err)
-	}
-	if MSfortuneSelectStmt, err = MySQL.Prepare("SELECT id, message FROM Fortune"); err != nil {
-		app.Log().Fatal(err)
-	}
-}
-
-// CloseMySQLDatabase initializes the Database.
-func CloseMySQLDatabase(_ *aah.Event) {
-	if MySQL != nil {
-		_ = MySQL.Close()
-	}
-}

+ 0 - 66
frameworks/Go/aah/src/benchmark/app/db/postgresql.go

@@ -1,66 +0,0 @@
-package db
-
-import (
-	"runtime"
-
-	"aahframe.work"
-
-	"github.com/jackc/pgx"
-)
-
-// PostgreSQL database connection and statements
-var (
-	PostgreSQL          *pgx.ConnPool
-	PGWorldSelectStmt   *pgx.PreparedStatement
-	PGWorldUpdateStmt   *pgx.PreparedStatement
-	PGFortuneSelectStmt *pgx.PreparedStatement
-
-	postgresqlMaxConnCount = runtime.NumCPU() * 4
-)
-
-// InitPostgreSQLDatabase initializes the Database.
-func InitPostgreSQLDatabase(_ *aah.Event) {
-	app := aah.App()
-	if !app.IsEnvProfile("bm_postgresql") {
-		return
-	}
-
-	cfg := app.Config()
-	config := pgx.ConnPoolConfig{
-		ConnConfig: pgx.ConnConfig{
-			Host:     cfg.StringDefault("datasource.benchmark.postgresql.host", ""),
-			Port:     uint16(cfg.IntDefault("datasource.benchmark.postgresql.port", 5432)),
-			User:     cfg.StringDefault("datasource.benchmark.postgresql.user", ""),
-			Password: cfg.StringDefault("datasource.benchmark.postgresql.password", ""),
-			Database: cfg.StringDefault("datasource.benchmark.postgresql.dbname", ""),
-		},
-		MaxConnections: postgresqlMaxConnCount,
-	}
-
-	config.AfterConnect = func(conn *pgx.Conn) error {
-		var err error
-		if PGWorldSelectStmt, err = conn.Prepare("worldSelectStmt", "SELECT id, randomNumber FROM World WHERE id = $1"); err != nil {
-			app.Log().Fatal(err)
-		}
-		if PGWorldUpdateStmt, err = conn.Prepare("worldUpdateStmt", "UPDATE World SET randomNumber = $1 WHERE id = $2"); err != nil {
-			app.Log().Fatal(err)
-		}
-		if PGFortuneSelectStmt, err = conn.Prepare("fortuneSelectStmt", "SELECT id, message FROM Fortune"); err != nil {
-			app.Log().Fatal(err)
-		}
-		return nil
-	}
-
-	var err error
-	PostgreSQL, err = pgx.NewConnPool(config)
-	if err != nil {
-		app.Log().Fatal(err)
-	}
-}
-
-// ClosePostgreSQLDatabase initializes the Database.
-func ClosePostgreSQLDatabase(_ *aah.Event) {
-	if PostgreSQL != nil {
-		PostgreSQL.Close()
-	}
-}

+ 0 - 28
frameworks/Go/aah/src/benchmark/app/init.go

@@ -1,28 +0,0 @@
-// aah application initialization - configuration, server extensions, middleware's, etc.
-// Customize it per application use case.
-
-package main
-
-import (
-	"benchmark/app/db"
-
-	"aahframe.work"
-)
-
-func init() {
-	app := aah.App()
-
-	app.OnStart(db.InitMySQLDatabase)
-	app.OnStart(db.InitPostgreSQLDatabase)
-	app.OnStart(func(_ *aah.Event) {
-		app.SecurityManager().AntiCSRF.Enabled = false
-	})
-
-	app.OnPostShutdown(db.CloseMySQLDatabase)
-	app.OnPostShutdown(db.ClosePostgreSQLDatabase)
-
-	app.HTTPEngine().Middlewares(
-		aah.RouteMiddleware,
-		aah.ActionMiddleware,
-	)
-}

+ 0 - 188
frameworks/Go/aah/src/benchmark/app/models/models.go

@@ -1,188 +0,0 @@
-package models
-
-import (
-	"fmt"
-	"math/rand"
-	"sort"
-
-	"benchmark/app/db"
-)
-
-var worldRowCount = 10000
-
-type (
-	// Message is used for JSON reply.
-	Message struct {
-		Message string `json:"message"`
-	}
-
-	// World is used for database operation.
-	World struct {
-		ID           uint16 `json:"id"`
-		RandomNumber uint16 `json:"randomNumber"`
-	}
-
-	// Fortune is used for database and reply.
-	Fortune struct {
-		ID      uint16 `json:"id"`
-		Message string `json:"message"`
-	}
-
-	// Fortunes slice
-	Fortunes []*Fortune
-)
-
-//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
-// MySQL DB based implementation
-//___________________________________________________________________________
-
-// MySQLFetchRandomWorld method returns one world record info.
-func MySQLFetchRandomWorld(w *World) error {
-	err := db.MSworldSelectStmt.QueryRow(randomWorldNum()).Scan(&w.ID, &w.RandomNumber)
-	return err
-}
-
-// MySQLRandomWorlds method returns world record from db randomly.
-func MySQLRandomWorlds(count int) ([]World, error) {
-	worlds := make([]World, count)
-	var err error
-	for i := 0; i < count; i++ {
-		w := &worlds[i]
-		if err = MySQLFetchRandomWorld(w); err != nil {
-			return nil, err
-		}
-	}
-	return worlds, nil
-}
-
-// MySQLUpdateRandomWorlds method updates random world records.
-func MySQLUpdateRandomWorlds(count int) ([]World, error) {
-	worlds := make([]World, count)
-	var err error
-	for i := 0; i < count; i++ {
-		w := &worlds[i]
-		if err = MySQLFetchRandomWorld(w); err != nil {
-			return nil, err
-		}
-
-		w.RandomNumber = uint16(randomWorldNum())
-		if _, err = db.MSworldUpdateStmt.Exec(w.RandomNumber, w.ID); err != nil {
-			return nil, err
-		}
-	}
-	return worlds, nil
-}
-
-// MySQLFortunes method returns fortunes records
-func MySQLFortunes() (Fortunes, error) {
-	rows, err := db.MSfortuneSelectStmt.Query()
-	if err != nil {
-		return nil, err
-	}
-
-	fortunes := make(Fortunes, 0)
-	for rows.Next() {
-		var fortune Fortune
-		if err = rows.Scan(&fortune.ID, &fortune.Message); err != nil {
-			return nil, err
-		}
-		fortunes = append(fortunes, &fortune)
-	}
-	_ = rows.Close()
-
-	fortunes = append(fortunes, &Fortune{Message: "Additional fortune added at request time."})
-	sortFortunesByMessage(fortunes)
-	return fortunes, nil
-}
-
-//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
-// PostgreSQL DB based implementation
-//___________________________________________________________________________
-
-// PGFetchRandomWorld method returns one world record info.
-func PGFetchRandomWorld(w *World) error {
-	return db.PostgreSQL.QueryRow("worldSelectStmt", randomWorldNum()).Scan(&w.ID, &w.RandomNumber)
-}
-
-// PGRandomWorlds method returns world record from db randomly.
-func PGRandomWorlds(count int) ([]World, error) {
-	worlds := make([]World, count)
-	var err error
-	for i := 0; i < count; i++ {
-		w := &worlds[i]
-		if err = PGFetchRandomWorld(w); err != nil {
-			return nil, err
-		}
-	}
-	return worlds, nil
-}
-
-// PGUpdateRandomWorlds method updates random world records.
-func PGUpdateRandomWorlds(count int) ([]World, error) {
-	worlds := make([]World, count)
-	var err error
-	for i := 0; i < count; i++ {
-		w := &worlds[i]
-		if err = PGFetchRandomWorld(w); err != nil {
-			return nil, err
-		}
-		w.RandomNumber = uint16(randomWorldNum())
-	}
-
-	// sorting is required for insert deadlock prevention.
-	sortWorldsByID(worlds)
-
-	txn, err := db.PostgreSQL.Begin()
-	if err != nil {
-		return nil, fmt.Errorf("Error starting transaction: %s", err)
-	}
-	for i := 0; i < count; i++ {
-		w := &worlds[i]
-		if _, err = txn.Exec("worldUpdateStmt", w.RandomNumber, w.ID); err != nil {
-			return nil, fmt.Errorf("Error updating world row %d: %s", i, err)
-		}
-	}
-	if err = txn.Commit(); err != nil {
-		return nil, fmt.Errorf("Error when commiting world rows: %s", err)
-	}
-
-	return worlds, nil
-}
-
-// PGFortunes method returns fortunes records
-func PGFortunes() (Fortunes, error) {
-	rows, err := db.PostgreSQL.Query("fortuneSelectStmt")
-	if err != nil {
-		return nil, err
-	}
-
-	fortunes := make(Fortunes, 0)
-	for rows.Next() {
-		var fortune Fortune
-		if err = rows.Scan(&fortune.ID, &fortune.Message); err != nil {
-			return nil, err
-		}
-		fortunes = append(fortunes, &fortune)
-	}
-	rows.Close()
-
-	fortunes = append(fortunes, &Fortune{Message: "Additional fortune added at request time."})
-	sortFortunesByMessage(fortunes)
-	return fortunes, nil
-}
-
-//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
-// Unexported methods
-//___________________________________________________________________________
-
-func randomWorldNum() int {
-	return rand.Intn(worldRowCount) + 1
-}
-
-func sortFortunesByMessage(fortunes Fortunes) {
-	sort.Slice(fortunes, func(i, j int) bool { return fortunes[i].Message < fortunes[j].Message })
-}
-
-func sortWorldsByID(worlds []World) {
-	sort.Slice(worlds, func(i, j int) bool { return worlds[i].ID < worlds[j].ID })
-}

+ 0 - 50
frameworks/Go/aah/src/benchmark/config/aah.conf

@@ -1,50 +0,0 @@
-# -----------------------------------------------------------------------------
-# benchmark - aah Application Configuration
-#
-# Refer documentation to explore and customize the configurations.
-# Doc: https://docs.aahframework.org/app-config.html
-# -----------------------------------------------------------------------------
-
-name = "benchmark"
-desc = "aah framework web application"
-type = "web"
-
-server {
-  header = "aah"
-}
-
-request {
-  id {
-    enable = false
-  }
-}
-
-render {
-  default = "html"
-  gzip {
-    enable = false
-  }
-}
-
-cache {
-  static {
-    default_cache_control = "public, max-age=31536000"
-  }
-}
-
-view {
-  engine = "go"
-  ext = ".html"
-  delimiters = "{{.}}"
-}
-
-include "./security.conf"
-
-env {
-  active = "bm_default"
-
-  # -------------------------------------------------
-  # Including Environment profile configurations
-  # -------------------------------------------------
-  include "./env/*.conf"
-}

+ 0 - 12
frameworks/Go/aah/src/benchmark/config/env/bm-default.conf

@@ -1,12 +0,0 @@
-# ---------------------------------
-# Default Benchmark profile
-# ---------------------------------
-
-bm_default {
-    
-    log {
-        receiver = "console"
-        level = "error"
-    }
-
-}

+ 0 - 21
frameworks/Go/aah/src/benchmark/config/env/bm-mysql.conf

@@ -1,21 +0,0 @@
-# ---------------------------------
-# MySQL Benchmark profile
-# ---------------------------------
-
-bm_mysql {
-    
-    log {
-        receiver = "console"
-        level = "error"
-    }
-
-    datasource {
-        benchmark {
-            mysql {
-                driver = "mysql"
-                url = "benchmarkdbuser:benchmarkdbpass@tcp(tfb-database:3306)/hello_world"
-            }
-        }
-    }
-
-}

+ 0 - 24
frameworks/Go/aah/src/benchmark/config/env/bm-postgresql.conf

@@ -1,24 +0,0 @@
-# ---------------------------------
-# PostgreSQL Benchmark profile
-# ---------------------------------
-
-bm_postgresql {
-    
-    log {
-        receiver = "console"
-        level = "error"
-    }
-
-    datasource {
-        benchmark {
-            postgresql {
-                host = "tfb-database"
-                port = 5432
-                dbname = "hello_world"
-                user = "benchmarkdbuser"
-                password = "benchmarkdbpass"
-            }
-        }
-    }
-
-}

+ 0 - 76
frameworks/Go/aah/src/benchmark/config/routes.conf

@@ -1,76 +0,0 @@
-# -----------------------------------------------------------------------------
-# benchmark - Application Routes Configuration
-#
-# Refer documentation to explore and configure routes.
-# Doc: https://docs.aahframework.org/routing.html
-# -----------------------------------------------------------------------------
-
-domains {
-
-  localhost {
-    name = "benchmark routes"
-    host = "localhost"
-
-    routes {
-
-      json {
-        path = "/json"
-        controller = "AppController"
-        action = "JSON"
-      }
-
-      plaintext {
-        path = "/plaintext"
-        controller = "AppController"
-        action = "Plaintext"
-      }
-
-      # For MySQL datasource
-      db {
-        path = "/db"
-        controller = "AppController"
-        action = "World"
-
-        routes {
-          dbs {
-            path = "/queries"
-            action = "Worlds"
-          }
-          fortunes {
-            path = "/fortunes"
-            action = "Fortunes"
-          }
-          updates {
-            path = "/updates"
-            action = "UpdateWorlds"
-          }
-        }
-      }
-
-      # For PostgreSQL datasource
-      pg_db {
-        path = "/pg-db"
-        controller = "AppController"
-        action = "PGWorld"
-
-        routes {
-          pg_dbs {
-            path = "/queries"
-            action = "PGWorlds"
-          }
-          pg_fortunes {
-            path = "/fortunes"
-            action = "PGFortunes"
-          }
-          pg_updates {
-            path = "/updates"
-            action = "PGUpdateWorlds"
-          }
-        }
-      }      
-
-    } # end - routes
-
-  } # end - localhost
-
-} # end - domains

+ 0 - 12
frameworks/Go/aah/src/benchmark/config/security.conf

@@ -1,12 +0,0 @@
-# -----------------------------------------------------------------------------
-# benchmark - Application Security Configuration
-#
-# Refer documentation to explore and customize the configurations.
-# Doc: https://docs.aahframework.org/security-config.html
-# -----------------------------------------------------------------------------
-
-security {
-  http_header {
-    enable = false
-  }
-}

+ 0 - 33
frameworks/Go/aah/src/benchmark/go.mod

@@ -1,33 +0,0 @@
-module benchmark
-
-require (
-	aahframe.work v0.12.4
-	github.com/go-sql-driver/mysql v1.4.1
-	github.com/jackc/pgx v3.3.0+incompatible
-)
-
-require (
-	cloud.google.com/go v0.30.0 // indirect
-	github.com/cockroachdb/apd v1.1.0 // indirect
-	github.com/go-aah/forge v0.8.0 // indirect
-	github.com/go-playground/locales v0.12.1 // indirect
-	github.com/go-playground/universal-translator v0.16.0 // indirect
-	github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee // indirect
-	github.com/gobwas/pool v0.2.0 // indirect
-	github.com/gobwas/ws v1.0.0 // indirect
-	github.com/golang/protobuf v1.3.1 // indirect
-	github.com/jackc/fake v0.0.0-20150926172116-812a484cc733 // indirect
-	github.com/lib/pq v1.10.7 // indirect
-	github.com/pkg/errors v0.8.1 // indirect
-	github.com/satori/go.uuid v1.2.0 // indirect
-	github.com/shopspring/decimal v1.3.1 // indirect
-	github.com/urfave/cli v1.20.0 // indirect
-	golang.org/x/crypto v0.21.0 // indirect
-	golang.org/x/net v0.23.0 // indirect
-	golang.org/x/oauth2 v0.0.0-20181003184128-c57b0facaced // indirect
-	golang.org/x/sys v0.18.0 // indirect
-	golang.org/x/text v0.14.0 // indirect
-	google.golang.org/appengine v1.6.7 // indirect
-	gopkg.in/go-playground/assert.v1 v1.2.1 // indirect
-	gopkg.in/go-playground/validator.v9 v9.21.0 // indirect
-)

+ 0 - 66
frameworks/Go/aah/src/benchmark/go.sum

@@ -1,66 +0,0 @@
-aahframe.work v0.12.4 h1:Hcp1EP7T8Y+qh1ukFjTqXjImqKxyk03nuvACm81OTfU=
-aahframe.work v0.12.4/go.mod h1:Ogn3OQKcq9W59XSAZzPqk4g2PpFH9h2Px1PFPnoGmvs=
-cloud.google.com/go v0.30.0 h1:xKvyLgk56d0nksWq49J0UyGEeUIicTl4+UBiX1NPX9g=
-cloud.google.com/go v0.30.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I=
-github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
-github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
-github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/go-aah/forge v0.8.0 h1:sk4Z523B9ay3JQF4At97U7kecB5yTIm0J2UM/qRVXbQ=
-github.com/go-aah/forge v0.8.0/go.mod h1:+pz2ywtYKCMzKtHa2kyKIOBw2XhQpj+dgch/vMGWyqo=
-github.com/go-playground/locales v0.12.1 h1:2FITxuFt/xuCNP1Acdhv62OzaCiviiE4kotfhkmOqEc=
-github.com/go-playground/locales v0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM=
-github.com/go-playground/universal-translator v0.16.0 h1:X++omBR/4cE2MNg91AoC3rmGrCjJ8eAeUP/K/EKx4DM=
-github.com/go-playground/universal-translator v0.16.0/go.mod h1:1AnU7NaIRDWWzGEKwgtJRd2xk99HeFyHw3yid4rvQIY=
-github.com/go-sql-driver/mysql v1.4.1 h1:g24URVg0OFbNUTx9qqY1IRZ9D9z3iPyi5zKhQZpNwpA=
-github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
-github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0=
-github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=
-github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8=
-github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
-github.com/gobwas/ws v1.0.0 h1:1WdyfgUcImUfVBvYbsW2krIsnko+1QU2t45soaF8v1M=
-github.com/gobwas/ws v1.0.0/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM=
-github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
-github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/jackc/fake v0.0.0-20150926172116-812a484cc733 h1:vr3AYkKovP8uR8AvSGGUK1IDqRa5lAAvEkZG1LKaCRc=
-github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ=
-github.com/jackc/pgx v3.3.0+incompatible h1:Wa90/+qsITBAPkAZjiByeIGHFcj3Ztu+VzrrIpHjL90=
-github.com/jackc/pgx v3.3.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I=
-github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw=
-github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
-github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
-github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
-github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=
-github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
-github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8=
-github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
-github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
-github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
-github.com/urfave/cli v1.20.0 h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw=
-github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
-golang.org/x/crypto v0.0.0-20181012144002-a92615f3c490/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
-golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
-golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
-golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
-golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
-golang.org/x/oauth2 v0.0.0-20181003184128-c57b0facaced h1:4oqSq7eft7MdPKBGQK11X9WYUxmj6ZLgGTqYIbY1kyw=
-golang.org/x/oauth2 v0.0.0-20181003184128-c57b0facaced/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
-golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
-golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
-golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
-google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
-gopkg.in/go-playground/assert.v1 v1.2.1 h1:xoYuJVE7KT85PYWrN730RguIQO0ePzVRfFMXadIrXTM=
-gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
-gopkg.in/go-playground/validator.v9 v9.21.0 h1:wSDJGBpQBYC1wLpVnGHLmshm2JicoSNdrb38Zj+8yHI=
-gopkg.in/go-playground/validator.v9 v9.21.0/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ=

+ 0 - 7
frameworks/Go/aah/src/benchmark/views/layouts/master.html

@@ -1,7 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>{{ template "title" . }}</head>
-<body>
-{{ template "body" . }}
-</body>
-</html>

+ 0 - 10
frameworks/Go/aah/src/benchmark/views/pages/app/fortunes.html

@@ -1,10 +0,0 @@
-{{ define "title" -}}<title>Fortunes</title>{{- end }}
-
-{{ define "body" -}}
-<table>
-<tr><th>id</th><th>message</th></tr>
-{{- range .Fortunes }}
-<tr><td>{{ .ID }}</td><td>{{ .Message }}</td></tr>
-{{- end }}
-</table>
-{{- end }}