// Add the Entity's data to disk (in JSON format)
func (e *Entity) addEntityToStorage(prefix string, storage *ss.SecureStorage) error {
	if storage == nil {
		return fmt.Errorf("Cannot add to storage: Storage is nil")
	}
	val, _ := json.Marshal(e)
	return storage.AddItem(prefix, string(val))
}
func addPermissionToStorage(permission Permission, prefix string, storage *ss.SecureStorage) error {
	if storage == nil {
		return fmt.Errorf("Cannot add to storage: Storage is nil")
	}
	val, _ := json.Marshal(permission)
	return storage.AddItem(getEntityStoreFmt(permissionTypeStr+prefix, "", string(permission)), string(val))
}
// Add the group's data to disk (in JSON format)
func (g *Group) addGroupToStorage(prefix string, storage *ss.SecureStorage) error {
	if storage == nil {
		return fmt.Errorf("Cannot add group to storage: Storage is nil")
	}
	val, _ := json.Marshal(g)
	return storage.AddItem(prefix, string(val))
}
// AddToStorage : Add the OCRA property information to the secure_storage
func (s Serializer) AddToStorage(prefix string, data interface{}, storage *ss.SecureStorage) error {
	d, ok := data.(*UserOcra)
	if ok == false {
		return fmt.Errorf("Cannot store the OCRA property: Not the right type")
	}
	if storage == nil {
		return fmt.Errorf("Cannot add OCRA property to storage: Storage is nil")
	}
	value, _ := json.Marshal(d)
	err := storage.AddItem(prefix, string(value))
	if err != nil {
		return err
	}
	return nil
}
// AddToStorage : Add the ACL property information to the secure_storage
func (s Serializer) AddToStorage(prefix string, data interface{}, storage *ss.SecureStorage) error {
	lock.Lock()
	defer lock.Unlock()

	d, ok := data.(*Acl)
	if ok == false {
		return fmt.Errorf("Cannot store the ACL property: Illegal type")
	}
	if storage == nil {
		return fmt.Errorf("Cannot add an ACL property to storage: Storage is nil")
	}
	value, err := json.Marshal(d)
	err = storage.AddItem(prefix, string(value))
	if err != nil {
		return err
	}
	return nil
}