aboutsummaryrefslogtreecommitdiff
path: root/weed/filer/flat_namespace/flat_namespace_filer.go
blob: 4173c41eee099ee67f9868da4583a49c228f76bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package flat_namespace

import (
	"errors"

	"github.com/chrislusf/seaweedfs/weed/filer"
	"path/filepath"
)

type FlatNamespaceFiler struct {
	master string
	store  FlatNamespaceStore
}

var (
	ErrNotImplemented = errors.New("Not Implemented for flat namespace meta data store")
)

func NewFlatNamespaceFiler(master string, store FlatNamespaceStore) *FlatNamespaceFiler {
	return &FlatNamespaceFiler{
		master: master,
		store:  store,
	}
}

func (filer *FlatNamespaceFiler) CreateFile(fullFileName string, fid string) (err error) {
	return filer.store.Put(fullFileName, fid)
}
func (filer *FlatNamespaceFiler) FindFile(fullFileName string) (fid string, err error) {
	return filer.store.Get(fullFileName)
}
func (filer *FlatNamespaceFiler) LookupDirectoryEntry(dirPath string, name string) (found bool, fileId string, err error) {
	if fileId, err = filer.FindFile(filepath.Join(dirPath, name)); err == nil {
		return true, fileId, nil
	}
	return false, "", err
}
func (filer *FlatNamespaceFiler) ListDirectories(dirPath string) (dirs []filer.DirectoryName, err error) {
	return nil, ErrNotImplemented
}
func (filer *FlatNamespaceFiler) ListFiles(dirPath string, lastFileName string, limit int) (files []filer.FileEntry, err error) {
	return nil, ErrNotImplemented
}
func (filer *FlatNamespaceFiler) DeleteDirectory(dirPath string, recursive bool) (err error) {
	return ErrNotImplemented
}

func (filer *FlatNamespaceFiler) DeleteFile(fullFileName string) (fid string, err error) {
	fid, err = filer.FindFile(fullFileName)
	if err != nil {
		return "", err
	}

	err = filer.store.Delete(fullFileName)
	if err != nil {
		return "", err
	}

	return fid, nil
	//return filer.store.Delete(fullFileName)
	//are you kidding me!!!!
}

func (filer *FlatNamespaceFiler) Move(fromPath string, toPath string) error {
	return ErrNotImplemented
}