You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ariatosca.apache.org by mx...@apache.org on 2017/04/02 10:58:36 UTC
incubator-ariatosca git commit: fixes
Repository: incubator-ariatosca
Updated Branches:
refs/heads/ARIA-48-aria-cli cb581d51b -> 699fec023
fixes
Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/699fec02
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/699fec02
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/699fec02
Branch: refs/heads/ARIA-48-aria-cli
Commit: 699fec023a9d18b7e15fe9fc8761921366ed12d1
Parents: cb581d5
Author: max-orlov <ma...@gigaspaces.com>
Authored: Thu Mar 30 17:36:47 2017 +0300
Committer: max-orlov <ma...@gigaspaces.com>
Committed: Sun Apr 2 13:58:13 2017 +0300
----------------------------------------------------------------------
aria/modeling/__init__.py | 2 ++
aria/modeling/utils.py | 14 ++++++++++++++
aria/orchestrator/context/common.py | 2 +-
.../orchestrator/execution_plugin/ctx_proxy/server.py | 3 ++-
4 files changed, 19 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/699fec02/aria/modeling/__init__.py
----------------------------------------------------------------------
diff --git a/aria/modeling/__init__.py b/aria/modeling/__init__.py
index 4dfc39d..4ac79e7 100644
--- a/aria/modeling/__init__.py
+++ b/aria/modeling/__init__.py
@@ -19,6 +19,7 @@ from . import (
mixins,
types,
models,
+ utils,
service_template as _service_template_bases,
service_instance as _service_instance_bases,
service_changes as _service_changes_bases,
@@ -45,4 +46,5 @@ __all__ = (
'types',
'models',
'model_bases',
+ 'utils'
)
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/699fec02/aria/modeling/utils.py
----------------------------------------------------------------------
diff --git a/aria/modeling/utils.py b/aria/modeling/utils.py
index a0caa68..e3a2700 100644
--- a/aria/modeling/utils.py
+++ b/aria/modeling/utils.py
@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+from json import JSONEncoder
from StringIO import StringIO
from . import exceptions
@@ -24,6 +25,19 @@ from ..utils.console import puts
from ..utils.conversion import convert_value_to_type
+class ModelJSONEncoder(JSONEncoder):
+ def default(self, o):
+ from .mixins import ModelMixin
+ if isinstance(o, ModelMixin):
+ if hasattr(o, 'value'):
+ dict_to_return = o.to_dict(fields=('value',))
+ return dict_to_return['value']
+ else:
+ return o.to_dict()
+ else:
+ return JSONEncoder.default(self, o)
+
+
def create_inputs(inputs, template_inputs):
"""
:param inputs: key-value dict
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/699fec02/aria/orchestrator/context/common.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/context/common.py b/aria/orchestrator/context/common.py
index 06e283c..3861982 100644
--- a/aria/orchestrator/context/common.py
+++ b/aria/orchestrator/context/common.py
@@ -195,7 +195,7 @@ class BaseContext(object):
try:
return self.resource.service.read(entry_id=str(self.service.id), path=path)
except exceptions.StorageError:
- return self.resource.service.read(entry_id=str(self.service_template.id), path=path)
+ return self.resource.service_template.read(entry_id=str(self.service_template.id), path=path)
def get_resource_and_render(self, path=None, variables=None):
"""
http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/699fec02/aria/orchestrator/execution_plugin/ctx_proxy/server.py
----------------------------------------------------------------------
diff --git a/aria/orchestrator/execution_plugin/ctx_proxy/server.py b/aria/orchestrator/execution_plugin/ctx_proxy/server.py
index 817d064..52a5312 100644
--- a/aria/orchestrator/execution_plugin/ctx_proxy/server.py
+++ b/aria/orchestrator/execution_plugin/ctx_proxy/server.py
@@ -24,6 +24,7 @@ import StringIO
import wsgiref.simple_server
import bottle
+from aria import modeling
from .. import exceptions
@@ -111,7 +112,7 @@ class CtxProxy(object):
result = json.dumps({
'type': result_type,
'payload': payload
- })
+ }, cls=modeling.utils.ModelJSONEncoder)
except Exception as e:
traceback_out = StringIO.StringIO()
traceback.print_exc(file=traceback_out)