project

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 30, 2018 License: GPL-3.0, GPL-3.0-or-later Imports: 5 Imported by: 8

Documentation

Overview

Package project implement project model used for storing simulation settings, setup and results.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ComputingLibrary

type ComputingLibrary int

ComputingLibrary library used for computing

const (
	// UnassignedLibrary unassigned
	UnassignedLibrary ComputingLibrary = iota

	// ShieldLibrary SHILD-HIT12A
	ShieldLibrary

	// FlukaLibrary FLUKA
	FlukaLibrary
)

func (ComputingLibrary) MarshalJSON

func (l ComputingLibrary) MarshalJSON() ([]byte, error)

MarshalJSON json.Marshaller implementation.

func (*ComputingLibrary) UnmarshalJSON

func (l *ComputingLibrary) UnmarshalJSON(b []byte) error

UnmarshalJSON json.Unmarshaller implementation.

type List

type List struct {
	Projects []Project `json:"projects"`
}

List contains list of project.Project.

type Project

type Project struct {
	ID          bson.ObjectId `json:"id" bson:"_id,omitempty"`
	AccountID   bson.ObjectId `json:"accountId" bson:"account_id"`
	Name        string        `json:"name" bson:"name"`
	Description string        `json:"description" bson:"description"`
	Versions    []Version     `json:"versions" bson:"versions"`
}

Project represent named project, which may have multiple version.

type Settings

type Settings struct {
	SimulationEngine SimulationEngine `json:"simulationEngine"`
	ComputingLibrary ComputingLibrary `json:"computingLibrary"`
}

Settings contains simulation settings such as the used simulation engine.

func NewSettings

func NewSettings() Settings

NewSettings constructor.

type SimulationEngine

type SimulationEngine int

SimulationEngine is method/location of running simulation

const (
	// UnassignedEngine unassigned
	UnassignedEngine SimulationEngine = iota

	// LocalMachine simulation engine
	LocalMachine
)

func (SimulationEngine) MarshalJSON

func (s SimulationEngine) MarshalJSON() ([]byte, error)

MarshalJSON json.Marshaller implementation.

func (*SimulationEngine) UnmarshalJSON

func (s *SimulationEngine) UnmarshalJSON(b []byte) error

UnmarshalJSON json.Unmarshaller implementation.

type Version

type Version struct {
	ID        VersionID     `json:"id" bson:"id"`
	Status    VersionStatus `json:"status" bson:"status"`
	Settings  Settings      `json:"settings" bson:"settings"`
	SetupID   bson.ObjectId `json:"-" bson:"setup_id"`
	ResultID  bson.ObjectId `json:"-" bson:"result_id"`
	UpdatedAt time.Time     `json:"updatedAt"`
}

Version is project version, which contains settting and simulation setup/results.

type VersionID

type VersionID int

VersionID is key type in Project.Versions list.

type VersionStatus

type VersionStatus int

VersionStatus indicate current version status.

const (
	// New version status. It is set during creation or copy/from operation
	// on newly created version.
	New VersionStatus = iota

	// Edited version status. It is set during version modifing.
	Edited

	// Running version status. It is set after simulation start.
	Running

	// Pending version status. It is set after siulation start request.
	Pending

	// Success version status. It is set after successful simulation.
	Success

	// Failure version status. It is set after unsuccessful simulation
	// associated with simulation engine error.
	Failure

	// Interrupted version status. It is set, when simulation processing is interrupted
	// due to technical difficultes like broken connection or server crash.
	Interrupted

	// Canceled version status. It is after request to cancel simulation.
	Canceled

	// Discarded version status. It is after creatine new version while old is still editable.
	Discarded
)

func (VersionStatus) IsModifable

func (v VersionStatus) IsModifable() bool

IsModifable return true, if simulation has no started yet, so Version content can be changed.

func (VersionStatus) IsRunnable

func (v VersionStatus) IsRunnable() bool

IsRunnable return true, if simulation can be runned.

func (VersionStatus) MarshalJSON

func (v VersionStatus) MarshalJSON() ([]byte, error)

MarshalJSON json.Marshaller implementation.

func (VersionStatus) String

func (v VersionStatus) String() string

String fmt.Stringer implementation.

func (*VersionStatus) UnmarshalJSON

func (v *VersionStatus) UnmarshalJSON(b []byte) error

UnmarshalJSON json.Unmarshaller implementation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL