Skip to content

Commit

Permalink
- Dropped 'no metadata file is provided' context
Browse files Browse the repository at this point in the history
- Refactored file_metadata_service to remove duplication of code.

[#106965166]
https://www.pivotaltracker.com/story/show/106965166

Signed-off-by: Sukhil Suresh <ssuresh@pivotal.io>
  • Loading branch information
adi-mishra authored and nader-ziada committed Nov 9, 2015
1 parent 7d0e933 commit 1c68a2e
Show file tree
Hide file tree
Showing 2 changed files with 127 additions and 280 deletions.
59 changes: 22 additions & 37 deletions infrastructure/file_metadata_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ func NewFileMetadataService(
userDataFilePath: userDataFilePath,
settingsFilePath: settingsFilePath,
fs: fs,
logTag: "fileMetadataService",
logger: logger,
logTag: "fileMetadataService",
logger: logger,
}
}

Expand All @@ -47,52 +47,30 @@ func (ms fileMetadataService) Load() error {
func (ms fileMetadataService) GetPublicKey() (string, error) {
var p PublicKeyContent

contents, err := ms.fs.ReadFile(ms.settingsFilePath)
err := ms.unmarshallFile(ms.metaDataFilePath, &p)
if err != nil {
return "", bosherr.WrapError(err, "Reading metadata file")
return "", err
}

err = json.Unmarshal([]byte(contents), &p)
if err != nil {
return "", bosherr.WrapError(err, "Unmarshalling metadata")
}

return p.PublicKey, nil
}

func (ms fileMetadataService) GetInstanceID() (string, error) {
var metadata MetadataContentsType

contents, err := ms.fs.ReadFile(ms.metaDataFilePath)
err := ms.unmarshallFile(ms.metaDataFilePath, &metadata)
if err != nil {
return "", bosherr.WrapError(err, "Reading metadata file")
return "", err
}

err = json.Unmarshal([]byte(contents), &metadata)
if err != nil {
return "", bosherr.WrapError(err, "Unmarshalling metadata")
}

ms.logger.Debug(ms.logTag, "Read metadata '%#v'", metadata)

return metadata.InstanceID, nil
}

func (ms fileMetadataService) GetServerName() (string, error) {
var userData UserDataContentsType

contents, err := ms.fs.ReadFile(ms.userDataFilePath)
err := ms.unmarshallFile(ms.userDataFilePath, &userData)
if err != nil {
return "", bosherr.WrapError(err, "Reading user data")
}

err = json.Unmarshal([]byte(contents), &userData)
if err != nil {
return "", bosherr.WrapError(err, "Unmarshalling user data")
return "", err
}

ms.logger.Debug(ms.logTag, "Read user data '%#v'", userData)

return userData.Server.Name, nil
}

Expand All @@ -112,26 +90,33 @@ func (ms fileMetadataService) GetRegistryEndpoint() (string, error) {
}

ms.logger.Debug(ms.logTag, "Read user data '%#v'", userData)

return userData.Registry.Endpoint, nil
}

func (ms fileMetadataService) GetNetworks() (boshsettings.Networks, error) {
var userData UserDataContentsType

contents, err := ms.fs.ReadFile(ms.userDataFilePath)
err := ms.unmarshallFile(ms.userDataFilePath, &userData)
if err != nil {
return nil, bosherr.WrapError(err, "Reading user data")
return nil, err
}
return userData.Networks, nil
}

err = json.Unmarshal([]byte(contents), &userData)
func (ms fileMetadataService) unmarshallFile(filePath string, data interface{}) error {

contents, err := ms.fs.ReadFile(filePath)
if err != nil {
return nil, bosherr.WrapError(err, "Unmarshalling user data")
return bosherr.WrapError(err, "Reading user data: File not found ")
}

ms.logger.Debug(ms.logTag, "Read user data '%#v'", userData)
err = json.Unmarshal([]byte(contents), data)
if err != nil {
return bosherr.WrapError(err, "Unmarshalling user data")
}

return userData.Networks, nil
ms.logger.Debug(ms.logTag, "Read user data '%#v'", data)
return nil
}

func (ms fileMetadataService) IsAvailable() bool {
Expand Down

0 comments on commit 1c68a2e

Please sign in to comment.