Skip to content
This repository has been archived by the owner on Nov 27, 2024. It is now read-only.

Commit

Permalink
chore(deps): update to bpmn-moddle v7.0.1
Browse files Browse the repository at this point in the history
Adds awaitable import and export apis.

Related to bpmn-io#812
  • Loading branch information
oguzeroglu authored and nikku committed Apr 29, 2020
1 parent 6bff933 commit 506321e
Show file tree
Hide file tree
Showing 6 changed files with 76 additions and 46 deletions.
49 changes: 32 additions & 17 deletions lib/BaseViewer.js
Original file line number Diff line number Diff line change
Expand Up @@ -104,33 +104,44 @@ BaseViewer.prototype.importXML = function(xml, bpmnDiagram, done) {
// allow xml manipulation
xml = this._emit('import.parse.start', { xml: xml }) || xml;

this._moddle.fromXML(xml, 'bpmn:Definitions', function(err, definitions, context) {
this._moddle.fromXML(xml, 'bpmn:Definitions').then(function(result) {
var definitions = result.rootElement;
var references = result.references;
var parseWarnings = result.warnings;
var elementsById = result.elementsById;

var context = {
elementsById: elementsById,
references: references,
warnings: parseWarnings
};

// hook in post parse listeners +
// allow definitions manipulation
definitions = self._emit('import.parse.complete', {
error: err,
error: null,
definitions: definitions,
context: context
}) || definitions;

var parseWarnings = context.warnings;

if (err) {
err = checkValidationError(err);

self._emit('import.done', { error: err, warnings: parseWarnings });

return done(err, parseWarnings);
}

self.importDefinitions(definitions, bpmnDiagram, function(err, importWarnings) {
var allWarnings = [].concat(parseWarnings, importWarnings || []);

self._emit('import.done', { error: err, warnings: allWarnings });

done(err, allWarnings);
});
}).catch(function(err) {

self._emit('import.parse.complete', {
error: err
});

err = checkValidationError(err);

self._emit('import.done', { error: err, warnings: err.warnings });

return done(err, err.warnings);
});
};

Expand Down Expand Up @@ -263,23 +274,27 @@ BaseViewer.prototype.saveXML = function(options, done) {
definitions: definitions
}) || definitions;

this._moddle.toXML(definitions, options, function(err, xml) {
this._moddle.toXML(definitions, options).then(function(result) {

var xml = result.xml;

try {
xml = self._emit('saveXML.serialized', {
error: err,
error: null,
xml: xml
}) || xml;

self._emit('saveXML.done', {
error: err,
error: null,
xml: xml
});
} catch (e) {
console.error('error in saveXML life-cycle listener', e);
}

done(err, xml);
done(null, xml);
}).catch(function(err) {
done(err);
});
};

Expand Down Expand Up @@ -650,4 +665,4 @@ function addProjectLogo(container) {
});
}

/* </project-logo> */
/* </project-logo> */
14 changes: 7 additions & 7 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@
"webpack": "^4.35.3"
},
"dependencies": {
"bpmn-moddle": "^6.0.6",
"bpmn-moddle": "^7.0.1",
"css.escape": "^1.5.1",
"diagram-js": "^6.6.1",
"diagram-js-direct-editing": "^1.6.1",
Expand Down
23 changes: 11 additions & 12 deletions test/integration/model/BpmnModdleSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import BpmnModdle from 'bpmn-moddle';

describe('bpmn-moddle', function() {

function parse(xml, done) {
function parse(xml) {
var moddle = new BpmnModdle();
moddle.fromXML(xml, 'bpmn:Definitions', done);
return moddle.fromXML(xml, 'bpmn:Definitions');
}


Expand All @@ -22,11 +22,9 @@ describe('bpmn-moddle', function() {
'</bpmn2:definitions>';

// when
parse(xml, function(err, definitions) {
parse(xml).then(function(result) {

if (err) {
return done(err);
}
var definitions = result.rootElement;

// then
expect(definitions.id).to.equal('simple');
Expand All @@ -36,6 +34,8 @@ describe('bpmn-moddle', function() {
expect(definitions.rootElements[0].id).to.equal('Process_1');

done();
}).catch(function(err) {
done(err);
});
});

Expand All @@ -47,18 +47,17 @@ describe('bpmn-moddle', function() {
var start = new Date().getTime();

// when
parse(xml, function(err) {
parse(xml).then(function() {

// then
// parsing a XML document should not take too long
expect((new Date().getTime() - start)).to.be.below(1000);

done();
}).catch(function(err) {
done(err);
});

// then
// everything should be a.o.k
});

});

});
});
28 changes: 21 additions & 7 deletions test/spec/import/BpmnTreeWalkerSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ describe('import - BpmnTreeWalker', function() {
error: errorSpy
});

createModdle(simpleXML, function(err, definitions, context, moddle) {
createModdle(simpleXML).then(function(result) {

var definitions = result.rootElement;

// when
walker.handleDefinitions(definitions);
Expand All @@ -46,6 +48,9 @@ describe('import - BpmnTreeWalker', function() {
expect(errorSpy.notCalled).to.be.true;

done();
}).catch(function(err) {

done(err);
});
});

Expand All @@ -63,7 +68,10 @@ describe('import - BpmnTreeWalker', function() {
error: errorSpy
});

createModdle(simpleXML, function(err, definitions, context, moddle) {
createModdle(simpleXML).then(function(result) {

var definitions = result.rootElement;

var subProcess = findElementWithId(definitions, 'SubProcess_1');

var plane = definitions.diagrams[0].plane,
Expand All @@ -83,6 +91,9 @@ describe('import - BpmnTreeWalker', function() {
expect(errorSpy.notCalled).to.be.true;

done();
}).catch(function(err) {

done(err);
});
});

Expand All @@ -100,7 +111,9 @@ describe('import - BpmnTreeWalker', function() {
error: errorSpy
});

createModdle(simpleXML, function(err, definitions, context, moddle) {
createModdle(simpleXML).then(function(result) {

var definitions = result.rootElement;

var element = findElementWithId(definitions, 'SubProcess_1');

Expand All @@ -116,6 +129,9 @@ describe('import - BpmnTreeWalker', function() {
expect(errorSpy.calledOnce).to.be.true;

done();
}).catch(function(err) {

done(err);
});
});

Expand All @@ -127,9 +143,7 @@ describe('import - BpmnTreeWalker', function() {
function createModdle(xml, done) {
var moddle = new BpmnModdle();

moddle.fromXML(xml, 'bpmn:Definitions', function(err, definitions, context) {
done(err, definitions, context, moddle);
});
return moddle.fromXML(xml, 'bpmn:Definitions');
}

function createWalker(listeners) {
Expand Down Expand Up @@ -174,4 +188,4 @@ function findElementWithId(definitions, id) {
return findElement(rootElement) || foundElement;
}
}, null);
}
}
6 changes: 4 additions & 2 deletions test/spec/import/ImporterSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,9 @@ describe('import - Importer', function() {

var moddle = new BpmnModdle();

moddle.fromXML(xml, function(err, definitions) {
moddle.fromXML(xml).then(function(result) {

var definitions = result.rootElement;

var selectedDiagram = find(definitions.diagrams, function(element) {
return element.id === diagramId;
Expand Down Expand Up @@ -711,4 +713,4 @@ function expectChildren(diagram, parent, children) {
expect(existingChildrenGfx).to.eql(expectedChildrenGfx);
});

}
}

0 comments on commit 506321e

Please sign in to comment.