removed mongodb

This commit is contained in:
didier amyot committed 2014-12-27 18:29:24 -08:00
1 parent 8976b50cc5
commit f6ec518814
4 files changed
+2 -153

No files matched your search

-88
View File
@@ -1,88 +0,0 @@
package main
import (
"encoding/json"
"errors"
"fmt"
"net/http"
"strings"
"gopkg.in/mgo.v2/bson"
)
/*
Api structure
/weblabs
POST: create a new weblab. The payload must be
{
"name": "web lab frendly name",
"cases": ["case_name_1", "case_name_2", ..., "case_name_n"],
"probabilities": [prob_1, prob_2, ..., prob_n], // the sum must be 1
"private": false,
}
GET:
returns the list of all the created weblabs
/weblabs/<id>
GET: returns the weblab as
/weblabs/<id>/history
GET: get the history
*/
// the smallest value that makes two floats the same.
const epsilon float64 = 0.000000001
type Cases struct {
Name string `json:"name"`
Probability float64 `json:"probability"`
}
type WeblabDefinition struct {
Id bson.ObjectId `json:"id"`
Name string `json:"name"`
Cases []*Cases `json:"cases"`
Private bool `json:"private"`
}
func (w *WeblabDefinition) verifyCasesStructure() error {
names := make(map[string]bool)
for _, c := range w.Cases {
if c.Probability+epsilon < 0 {
return errors.New("probability cannot be less 0")
}
if c.Probability-epsilon > 1 {
return errors.New("probability cannot be greater 0")
}
c.Name = strings.Trim(c.Name, " \t\n\r")
if c.Name == "" {
return errors.New("weblab cannot have empty names")
}
names[c.Name] = true
}
if len(names) != len(w.Cases) {
return errors.New("multiple weblab cannot have the same name")
}
return nil
}
func (w *WeblabDefinition) VerifyProbabilitySum() {
}
func (w *WeblabDefinition) Verify() error {
return nil
}
func CreateNewWeblab(w http.ResponseWriter, request *http.Request) {
d := json.NewDecoder(request.Body)
wab := new(WeblabDefinition)
if err := d.Decode(d); err != nil {
w.WriteHeader(400)
fmt.Fprint(w, err.Error())
return
}
wab.Id = bson.NewObjectId()
}
+2 -34
View File
@@ -3,7 +3,6 @@ package main
import ( import (
"io/ioutil" "io/ioutil"
mgo "gopkg.in/mgo.v2"
goyaml "gopkg.in/yaml.v2" goyaml "gopkg.in/yaml.v2"
) )
@@ -12,15 +11,9 @@ const PARAM_FILE string = "params.yml"
type Params struct { type Params struct {
Port int `yaml:"port,omitempty"` Port int `yaml:"port,omitempty"`
Host string `yaml:"host,omitempty"` Host string `yaml:"host,omitempty"`
Mongo *MongoParams `yaml:"mongo,omitempty"`
MongoClient *mgo.Session `yaml:"-"`
DB *mgo.Database `yaml:"-"`
} }
type MongoParams struct {
Url string `yaml:"url,omitempty"`
DatabaseName string `yaml:"database_name,omitempty"`
}
func (this *Params) LoadFromYamlFile(fileName string) error { func (this *Params) LoadFromYamlFile(fileName string) error {
data, err := ioutil.ReadFile(fileName) data, err := ioutil.ReadFile(fileName)
@@ -43,36 +36,14 @@ func (this *Params) LoadFromYamlData(data []byte) error {
if p.Port > 0 { if p.Port > 0 {
this.Port = p.Port this.Port = p.Port
} }
if p.Mongo == nil {
return nil
}
if p.Mongo.Url != "" {
this.Mongo.Url = p.Mongo.Url
}
if p.Mongo.DatabaseName != "" {
this.Mongo.DatabaseName = p.Mongo.DatabaseName
}
if p.Mongo.DatabaseName != "" {
this.Mongo.DatabaseName = p.Mongo.DatabaseName
}
return nil return nil
} }
func (this *Params) initMongo() error {
var err error
this.MongoClient, err = mgo.Dial(this.Mongo.Url)
this.DB = this.MongoClient.DB(this.Mongo.DatabaseName)
return err
}
func GetDefaultParams() *Params { func GetDefaultParams() *Params {
mongoParams := &MongoParams{ return &Params{7777, "localhost"}
Url: "localhost:27017",
DatabaseName: "union",
}
return &Params{7777, "localhost", mongoParams, nil, nil}
} }
var params = GetDefaultParams() var params = GetDefaultParams()
@@ -81,7 +52,4 @@ func init() {
if err := params.LoadFromYamlFile(PARAM_FILE); err != nil { if err := params.LoadFromYamlFile(PARAM_FILE); err != nil {
panic(err) panic(err)
} }
if err := params.initMongo(); err != nil {
panic(err)
}
} }
-9
View File
@@ -13,12 +13,3 @@ port: 1999
# service # service
host: 0.0.0.0 #localhost host: 0.0.0.0 #localhost
# all the params relative to mongodb
mongo:
# the url where to get mongodb
url: localhost:27017
# the name of the database to use
database_name: amazon_union
-22
View File
@@ -11,20 +11,7 @@ port: 9999
host: 0.0.0.0 #localhost host: 0.0.0.0 #localhost
# all the params relative to mongodb
mongo:
# the url where to get mongodb
url: localhost:1234
# the name of the database to use
database_name: geography
# the name of the collection where all the street can be found
street_collection: quebec_street_map
# the collection where all the heat map point will be stored
heat_map_collection: quebec_heat_map # quebec_heat_map
` `
func TestLoadFromYamlData(t *testing.T) { func TestLoadFromYamlData(t *testing.T) {
@@ -39,14 +26,5 @@ func TestLoadFromYamlData(t *testing.T) {
if p.Host != "0.0.0.0" { if p.Host != "0.0.0.0" {
t.Error("host") t.Error("host")
} }
if p.Mongo.Url != "localhost:1234" {
t.Error("mongo.url")
}
if p.Mongo.Url != "localhost:1234" {
t.Error("mongo.url")
}
if p.Mongo.DatabaseName != "geography" {
t.Error("mongo.DatabaseName")
}
} }