Skip to content
Snippets Groups Projects
Commit b0450c21 authored by Mathis Neumann's avatar Mathis Neumann
Browse files

model structure and loading added yuidoc

parent f3747376
No related branches found
No related tags found
No related merge requests found
Showing
with 109 additions and 197 deletions
import Ember from 'ember';
import RESTAdapter from 'ember-data/adapters/rest';
export default RESTAdapter.extend({
host: 'http://localhost:3000',
namespace: 'v1',
session: Ember.inject.service()
});
\ No newline at end of file
import RESTAdapter from 'ember-data/adapters/rest'; import Ember from 'ember';
import BaseAdapter from './_baseAdapter';
import UrlTemplates from "ember-data-url-templates";
export default RESTAdapter.extend({ /**
host: 'http://localhost:3000', * @param {UrlTemplate}
namespace: 'v1' * @param {Object} configuration for templates
* @return {Adapter} adapter that is used for all metamodel models
*/
export default BaseAdapter.extend(UrlTemplates, {
urlTemplate: '{+host}/{+namespace}/systems{/systemId}/{pathForType}/{/id}',
findAllUrlTemplate: '{+host}/{+namespace}/systems{/systemId}/{pathForType}/{?query*}',
urlSegments: {
systemId() {
return this.get('session.systemId');
}
}
}); });
\ No newline at end of file
import BaseAdapter from './_baseAdapter';
export default BaseAdapter; // do not use URL Templates!
\ No newline at end of file
import BaseEntity from './baseentity.js'; import BaseEntity from './baseentity';
import attr from 'ember-data/attr'; import attr from 'ember-data/attr';
export default BaseEntity.extend({ export default BaseEntity.extend({
......
import BaseEntity from './baseentity.js'; import BaseEntity from './baseentity';
import attr from 'ember-data/attr'; import attr from 'ember-data/attr';
export default BaseEntity.extend({ export default BaseEntity.extend({
......
import BaseEntity from './baseentity.js'; import BaseEntity from './baseentity';
import attr from 'ember-data/attr'; import attr from 'ember-data/attr';
export default BaseEntity.extend({ export default BaseEntity.extend({
......
import BaseEntity from './baseentity.js'; import BaseEntity from './baseentity';
import attr from 'ember-data/attr'; import attr from 'ember-data/attr';
export default BaseEntity.extend({ export default BaseEntity.extend({
......
import BaseEntity from './baseentity.js'; import BaseEntity from './baseentity';
import attr from 'ember-data/attr'; import attr from 'ember-data/attr';
export default BaseEntity.extend({ export default BaseEntity.extend({
......
import BaseEntity from './baseentity.js'; import BaseEntity from './baseentity';
import attr from 'ember-data/attr'; import attr from 'ember-data/attr';
import DS from 'ember-data';
export default BaseEntity.extend({ export default BaseEntity.extend({
name: attr('string'), name: attr('string'),
node: attr(), // FIXME relation node: DS.belongsTo('node', {async: true}),
service: attr() // FIXME relation service: DS.belongsTo('service', {async: true})
}); });
import BaseEntity from './baseentity'; import BaseEntity from './baseentity';
import attr from 'ember-data/attr'; import attr from 'ember-data/attr';
import DS from 'ember-data';
export default BaseEntity.extend({ export default BaseEntity.extend({
name: attr('string'), name: attr('string')
nodeGroups: attr('string'), // FIXME relation
communications: attr('string'), // FIXME relation
services: attr('string') // FIXME relation
}); });
...@@ -7,9 +7,9 @@ const Router = Ember.Router.extend({ ...@@ -7,9 +7,9 @@ const Router = Ember.Router.extend({
Router.map(function() { Router.map(function() {
this.route('home', {path: '/'}); this.route('home', {path: '/'});
this.route('architecture', {path: '/architecture'}); this.route('architectures', function() {
this.route('cola', {path: '/cola'}); this.route('single', {path: '/:systemId'});
this.route('cytoscape'); });
}); });
export default Router; export default Router;
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return {
id: 'root',
labels: [{text: 'My Architecture'}],
'properties': {
'direction': 'RIGHT',
'spacing': 10,
'de.cau.cs.kieler.aspectRatio': 1.7,
'de.cau.cs.kieler.separateConnComp': true,
'separateConnComp': true
},
children: [{
id: 'VM_Profile',
children: [{
id: 'VM_Profile>Database',
labels: [{text: 'Profile DB'}],
width: 20,
height: 20
}]
},
{
id: 'VM_Big',
children: [{
id: 'VM_Big>Auth',
width: 20,
height: 20
}, {
id: 'VM_Big>User',
width: 20,
height: 20
}, {
id: 'VM_Big>User2',
width: 20,
height: 20
}, {
id: 'VM_Big>User3',
width: 20,
height: 20
}, {
id: 'VM_Big>User4',
width: 20,
height: 20
}],
edges: [{
id: 'VM_Big>Auth->VM_Big>User',
labels: [ { text: 'e1' } ],
source: 'VM_Big>Auth',
target: 'VM_Big>User'
}]
},
{
id: 'VM_1',
children: [{
id: 'VM_1>Auth',
labels: [{text: 'Auth 1'}],
width: 20,
height: 20
}]
},
{
id: 'VM_2',
children: [{
id: 'VM_2>Auth',
labels: [{text: 'Auth 2'}],
width: 20,
height: 20
}]
},
{
id: 'VM_3',
children: [{
id: 'VM_3>User',
labels: [{text: 'User 1'}],
width: 20,
height: 20
}]
},
{
id: 'VM_4',
children: [{
id: 'VM_4>User',
labels: [{text: 'User 2'}],
width: 20,
height: 20
}]
},
{
id: 'VM_5',
children: [{
id: 'VM_5>User',
labels: [{text: 'User 2'}],
width: 20,
height: 20
}]
},
{
id: 'VM_6',
children: [{
id: 'VM_6>User',
labels: [{text: 'User 2'}],
width: 20,
height: 20
}]
},
{
id: 'VM_7',
children: [{
id: 'VM_7>User',
labels: [{text: 'User 2'}],
width: 20,
height: 20
}]
},
{
id: 'VM_8',
children: [{
id: 'VM_8>User',
labels: [{text: 'User 2'}],
width: 20,
height: 20
}]
}],
edges: [{
id: 'VM_1>Auth->VM_3>User',
source: 'VM_1>Auth',
target: 'VM_3>User',
}, {
id: 'VM_2>Auth->VM_4>User',
source: 'VM_2>Auth',
target: 'VM_4>User',
} /*{
id: 'VM_Big>User->VM_Profile>Database',
source: 'VM_Big>User',
target: 'VM_Profile>Database',
}, {
id: 'VM_2>Auth->VM_Profile>Database',
source: 'VM_2>Auth',
target: 'VM_Profile>Database',
}, {
id: 'VM_1>Auth->VM_Profile>Database',
source: 'VM_1>Auth',
target: 'VM_Profile>Database',
}, {
id: 'VM_3>User->VM_Profile>Database',
source: 'VM_3>User',
target: 'VM_Profile>Database',
}, {
id: 'VM_4>User->VM_Profile>Database',
source: 'VM_4>User',
target: 'VM_Profile>Database',
}, {
id: 'VM_5>User->VM_Profile>Database',
source: 'VM_5>User',
target: 'VM_Profile>Database',
}, {
id: 'VM_6>User->VM_Profile>Database',
source: 'VM_6>User',
target: 'VM_Profile>Database',
}, {
id: 'VM_7>User->VM_Profile>Database',
source: 'VM_7>User',
target: 'VM_Profile>Database',
}, {
id: 'VM_8>User->VM_Profile>Database',
source: 'VM_8>User',
target: 'VM_Profile>Database',
}*/]
};
}
});
\ No newline at end of file
import Ember from 'ember';
export default Ember.Route.extend({
session: Ember.inject.service(), // loads services/session.js for systemId
model () {
this.set('session.systemId', null); // no system selected, remove from model requests
return this.store.findAll('system').then((systems) => {
this.debug(systems);
return systems;
});
}
});
import Ember from 'ember';
export default Ember.Route.extend({
session: Ember.inject.service(), // loads services/session.js
graphingService: Ember.inject.service(),
model(params) {
this.set('session.systemId', params.systemId); // add the system to all requests
const graphingService = this.get('graphingService');
const createGraph = graphingService.createGraph.bind(graphingService);
this.set('loading', true);
return Ember.RSVP.Promise.all([
this.store.findAll('node'),
this.store.findAll('nodegroup'),
this.store.findAll('service'),
this.store.findAll('serviceinstance'),
this.store.findAll('communication'),
this.store.findAll('communicationinstance')
]).then(createGraph).finally((graph) => {
this.set('loading', false);
return graph;
});
}
});
...@@ -3,7 +3,7 @@ import Ember from 'ember'; ...@@ -3,7 +3,7 @@ import Ember from 'ember';
export default Ember.Route.extend({ export default Ember.Route.extend({
model() { model() {
return this.store.findAll('system').then((systems) => { return this.store.findAll('system').then((systems) => {
console.log('loaded systems', systems) console.log('loaded systems', systems);
return systems; return systems;
}); });
} }
......
import JSONSerializer from 'ember-data/serializers/json';
export default JSONSerializer.extend({
});
\ No newline at end of file
import Ember from 'ember';
/**
* parses a list of models and creates stores them
*/
export default Ember.Service.extend({
createGraph(models) {
this.debug('loaded models', models);
return models;
}
});
import Ember from 'ember';
/**
* this service stores the global state of the system.
* @property {String} systemId store the id of the system which is currently used for
* loading metamodel components
*/
export default Ember.Service.extend({
systemId: null
});
{{loading-slider isLoading=loading duration=250}}
<h2 id="title">Welcome to Ember</h2> <h2 id="title">Welcome to Ember</h2>
<ul> <ul>
<li>Go to {{#link-to 'home'}}Home{{/link-to}}</li> <li>Go to {{#link-to 'home'}}Home{{/link-to}}</li>
<li>Go to {{#link-to 'architecture'}}Klay-based Architecture{{/link-to}}</li> <li>Go to {{#link-to 'architectures'}}Architekturen{{/link-to}}</li>
<li>Go to {{#link-to 'cola'}}Webcola Architecture{{/link-to}}</li>
<li>Go to {{#link-to 'cytoscape'}}Cytoscape Architecture{{/link-to}}</li>
</ul> </ul>
{{outlet}} {{outlet}}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment