53 lines
1.3 KiB
Go
53 lines
1.3 KiB
Go
package runner
|
|
|
|
import (
|
|
"errors"
|
|
"github.com/openHPI/poseidon/pkg/dto"
|
|
)
|
|
|
|
var ErrNullObject = errors.New("functionality not available for the null object")
|
|
|
|
// AbstractManager is used to have a fallback runner manager in the chain of responsibility
|
|
// following the null object pattern.
|
|
type AbstractManager struct {
|
|
nextHandler AccessorHandler
|
|
}
|
|
|
|
func (n *AbstractManager) SetNextHandler(next AccessorHandler) {
|
|
n.nextHandler = next
|
|
}
|
|
|
|
func (n *AbstractManager) NextHandler() AccessorHandler {
|
|
return n.nextHandler
|
|
}
|
|
|
|
func (n *AbstractManager) ListEnvironments() []ExecutionEnvironment {
|
|
return []ExecutionEnvironment{}
|
|
}
|
|
|
|
func (n *AbstractManager) GetEnvironment(_ dto.EnvironmentID) (ExecutionEnvironment, bool) {
|
|
return nil, false
|
|
}
|
|
|
|
func (n *AbstractManager) StoreEnvironment(_ ExecutionEnvironment) {}
|
|
|
|
func (n *AbstractManager) DeleteEnvironment(_ dto.EnvironmentID) {}
|
|
|
|
func (n *AbstractManager) EnvironmentStatistics() map[dto.EnvironmentID]*dto.StatisticalExecutionEnvironmentData {
|
|
return map[dto.EnvironmentID]*dto.StatisticalExecutionEnvironmentData{}
|
|
}
|
|
|
|
func (n *AbstractManager) Claim(_ dto.EnvironmentID, _ int) (Runner, error) {
|
|
return nil, ErrNullObject
|
|
}
|
|
|
|
func (n *AbstractManager) Get(_ string) (Runner, error) {
|
|
return nil, ErrNullObject
|
|
}
|
|
|
|
func (n *AbstractManager) Return(_ Runner) error {
|
|
return nil
|
|
}
|
|
|
|
func (n *AbstractManager) Load() {}
|