Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
218 commits
Select commit Hold shift + click to select a range
7c1cde2
schema_gen: add cli option to include derived attributes in the schema.
john-tornblom May 1, 2016
b113732
include requirements.txt in sdists
john-tornblom May 10, 2016
390a08a
set the url listed on pypi.python.org to point at the xtuml organisat…
john-tornblom May 10, 2016
a074c8b
bump the python3 language compatability from 3.4 to 3.5
john-tornblom May 10, 2016
bc6fc81
setup: remove platforms specification, pyxtuml is generic and works o…
john-tornblom May 28, 2016
46b59af
docs: change URLs pointing at github.com/john-tornblom to github.com/…
john-tornblom May 28, 2016
a5141d4
update url to reaththedocs
john-tornblom May 10, 2016
e640ec6
cosmetics
john-tornblom Jun 4, 2016
a38a06c
model: improve the reflexive sorting algorithm upon recursion
john-tornblom Jun 4, 2016
088a183
test: fix reflexive recusrion sorting test case, and clean up test ca…
john-tornblom Jun 4, 2016
4d24979
test: cosmetics
john-tornblom Jun 4, 2016
bdbb2bc
test: cosmetics
john-tornblom Jun 12, 2016
b7cf97d
model: add the convenient method find_class() to the MetaModel class
john-tornblom Jun 21, 2016
3c556bc
consistency_check: let the user decide whether to add builtin global …
john-tornblom Jun 22, 2016
512c137
bump version
john-tornblom Jul 7, 2016
698b963
expose MetaModel.find_class() to api
john-tornblom Jul 10, 2016
5ec97ce
use MetaModel.find_class() to locate classes
john-tornblom Jul 10, 2016
92799f9
apply initial api changes for v0.9
john-tornblom Jul 11, 2016
406b352
metaclass: added the __call__ method to create new instances
john-tornblom Jul 11, 2016
216a878
metaclass: move instance caches from BaseObject MetaClass
john-tornblom Jul 11, 2016
32d6a3b
metaclass: move unique indices from BaseObject MetaClass
john-tornblom Jul 12, 2016
56d1247
metaclass: allow removing of attributes
john-tornblom Jul 12, 2016
be92868
metaclass: improve api for modifying attribute list
john-tornblom Jul 13, 2016
9477008
cosmetics
john-tornblom Jul 13, 2016
7c46446
metaclass: added navigate() and query() methods
john-tornblom Jul 13, 2016
5a6bed9
consistency: check for identifiers that are null
john-tornblom Jul 13, 2016
222445d
test: ensure that SM_EVT.SMspd_ID is not null. NOTE: this is a bug in…
john-tornblom Jul 13, 2016
7b8e1e5
model: use cache to lookup select queryies with a where_eq clause
john-tornblom Jul 13, 2016
35c18ff
examples: demonstrate how to modify attribute lists based on hacky ke…
john-tornblom Jul 13, 2016
9bf66f1
examples: cosmetics
john-tornblom Jul 13, 2016
fbc917c
cosmetics
john-tornblom Jul 14, 2016
c4dfc69
model: store links and queries on metaclasses instead of on classes
john-tornblom Jul 25, 2016
668599e
cosmetics
john-tornblom Jul 25, 2016
1076131
model: remove __r__ from instances
john-tornblom Jul 25, 2016
ea8dbe3
cosmetics
john-tornblom Jul 25, 2016
9b7129b
cosmetics
john-tornblom Jul 26, 2016
668a13f
cosmetics
john-tornblom Jul 26, 2016
e7afba5
cosmetics
john-tornblom Jul 26, 2016
a8d5e4d
cosmetics
john-tornblom Jul 26, 2016
a2ba9f2
cosmetics
john-tornblom Jul 26, 2016
88c706f
cosmetics
john-tornblom Jul 26, 2016
62ec7c1
cosmetics
john-tornblom Jul 26, 2016
5fe7071
cosmetics
john-tornblom Jul 26, 2016
8e0c1e3
cosmetics
john-tornblom Jul 26, 2016
70998c7
cosmetics
john-tornblom Jul 26, 2016
3097aa5
cosmetics
john-tornblom Jul 26, 2016
c977784
expose UnknownAssociationException to public api
john-tornblom Jul 26, 2016
00fc29f
cosmetics
john-tornblom Jul 26, 2016
b3f1c9a
docs: add xtuml.UnknownAssociationException
john-tornblom Jul 26, 2016
d103695
cosmetics
john-tornblom Jul 26, 2016
c474df1
model: change api for creating new associations by using builtin pyth…
john-tornblom Jul 26, 2016
129945b
cosmetics
john-tornblom Jul 27, 2016
deed994
xtuml: major cosmetic restructuring that breaks API.
john-tornblom Jul 27, 2016
3e095d7
xtuml: rename xtuml.model to xtuml.meta
john-tornblom Jul 27, 2016
6d61a36
cosmetics
john-tornblom Jul 27, 2016
d90ae3d
sourcegen: use navigate_subtype when walking ACT_SMT and V_VAL
john-tornblom Jul 27, 2016
5780751
cosmetics
john-tornblom Aug 2, 2016
0e1ddb2
setup: provide a user option that limit testing to a single test case…
john-tornblom Aug 8, 2016
bcfa77d
count number of concistency violations
john-tornblom Aug 8, 2016
69fab39
test: cosmetics
john-tornblom Aug 8, 2016
ffeda70
add test case for bridgepoint.consistency_check
john-tornblom Aug 8, 2016
df2f82b
rename UnelateException to UnrelateException
john-tornblom Aug 15, 2016
b59e2e4
verify behaviour of xtuml.unrelate upon some illegal input
john-tornblom Aug 15, 2016
8241d18
test relate when already related
john-tornblom Aug 15, 2016
789c514
throw UnknownLinkException properly when sort_reflexive is unable to …
john-tornblom Aug 15, 2016
5e0f4e1
test sort_reflexive with unknown link
john-tornblom Aug 15, 2016
0f02e15
test navigate_subtype with supertype=None
john-tornblom Aug 15, 2016
50838d7
cosmetics
john-tornblom Aug 15, 2016
a1ed7c0
fix typo in unrelate testcase
john-tornblom Aug 15, 2016
2db061e
test for unique identifier with null values
john-tornblom Aug 15, 2016
fb9646d
cosmetics (case sensitivity fixes)
john-tornblom Jul 31, 2016
a577b64
cosmetics
john-tornblom Aug 9, 2016
0961e3c
cosmetics
john-tornblom Aug 9, 2016
027d904
cosmetics
john-tornblom Aug 16, 2016
ace34d8
cosmetics
john-tornblom Aug 16, 2016
a174d3a
update docs on bridgepoint.consistency_check
john-tornblom Aug 16, 2016
c882f8a
ci: initial appeyor support
john-tornblom Aug 17, 2016
c18d36e
test: defere removal of temp files until program exit
john-tornblom Aug 17, 2016
0226e1c
appveyor: don't try to produce PDF manual, it depends POSIX make
john-tornblom Aug 17, 2016
96ad4fd
version bump
john-tornblom Sep 3, 2016
266b31d
meta: fix case sensitivity issues when association contain lowercased…
john-tornblom Sep 20, 2016
1b038dc
version bump
john-tornblom Sep 20, 2016
b96b4fa
meta: fix relate operation on reflexive association classes
john-tornblom Sep 23, 2016
0dbf035
persist: fix serialization of associations
john-tornblom Sep 23, 2016
cc2f6f7
test: fix case where an invalid phrase is used in a relate operation
john-tornblom Sep 23, 2016
504c02f
test: fix test case that serialize of associations
john-tornblom Sep 23, 2016
f3431c1
test: add test cases for relate and navigation operations where phras…
john-tornblom Sep 23, 2016
92f3fd0
cosmetics
john-tornblom Sep 23, 2016
ce7016b
bump version
john-tornblom Sep 23, 2016
9d7f055
meta: return a set of affected instances from relate/unrelate operations
john-tornblom Sep 23, 2016
81bce63
schema gen: omit unique identifiers that contain derived attributes
john-tornblom Sep 26, 2016
e1591ef
unrelate: don't clear derived attributes that are also identifying to…
john-tornblom Sep 26, 2016
b1b4e84
persist: preserve order of keys in associations by using the same lin…
john-tornblom Oct 2, 2016
660c7a5
version bump
john-tornblom Oct 2, 2016
65fb53c
consistency_check: add check_subtype_integrity() to check supertype/s…
john-tornblom Oct 8, 2016
8c42ac1
add bridgepoint.ModelLoader.build_component to API references
john-tornblom Oct 8, 2016
faefca6
docs: cosmetics
john-tornblom Oct 8, 2016
e7e5803
turn derived_attributes on in example
cortlandstarrett Oct 11, 2016
9921b6d
Merge pull request #6 from xtuml/cortlandstarrett-patch-1
john-tornblom Oct 11, 2016
a19c30a
job: #8425 Automating the re-insertion of return_type into ACT_ACT …
cortlandstarrett Oct 12, 2016
da908d0
job: #8425 adjust indentation
cortlandstarrett Oct 12, 2016
31c808a
Merge pull request #8 from cortlandstarrett/8425_ooaschema
john-tornblom Oct 12, 2016
dc0dcfc
docs: expose xtuml.MetaClass to public API
john-tornblom Oct 12, 2016
f75fc58
version bump
john-tornblom Nov 19, 2016
b3a4efa
re-license to LGPLv3+
john-tornblom Feb 21, 2017
be5ae16
bump version to 0.9.5
john-tornblom Feb 21, 2017
8b62e1e
readme: update license information
john-tornblom Feb 21, 2017
6c66a36
manifest: include COPYING and COPYING.LESSER instead of LICENSE
john-tornblom Feb 21, 2017
eca29af
version: use correct year in date
john-tornblom Feb 21, 2017
eb6e83f
cosmetics
john-tornblom Jan 8, 2017
2be09f2
meta: preserve order of attributes in indices
john-tornblom Jan 8, 2017
7e0f993
meta: add convenient method for obtaining the type of an attribute
john-tornblom Jan 8, 2017
9511ea5
cosmetics
john-tornblom Jan 8, 2017
722a932
setup: add install_requires to setup()
john-tornblom May 28, 2017
3733e79
bump version
john-tornblom May 28, 2017
91717ab
setup: add ply to setup_requires
john-tornblom May 28, 2017
4a5fb83
bump version
john-tornblom May 28, 2017
1c8efad
setup: ensure that ply is not imported until the build command is exe…
john-tornblom May 28, 2017
1cec159
bump version
john-tornblom May 28, 2017
5eb461c
setup: remove import dependency to ply
john-tornblom May 28, 2017
a19c67d
update ooaofooa to version 5.2
john-tornblom Apr 22, 2017
dff0a4c
examples: update ooaofooa schema gen
john-tornblom Apr 22, 2017
54ea814
cosmetics
john-tornblom Apr 22, 2017
77551dc
test: test_unique_identifier_with_null using PE_PE instead of ACT_BLK
john-tornblom Apr 22, 2017
ff8b589
test: test_uniqueness_constraint using PE_PE instead of S_DT
john-tornblom Apr 22, 2017
53c6319
initial support for explicit links.
john-tornblom Apr 22, 2017
9fbcb99
cosmetics
john-tornblom Apr 23, 2017
d9bfa3d
cosmetics
john-tornblom Apr 23, 2017
cab692d
meta: do not attempt to associate new instances with referred to inst…
john-tornblom Apr 23, 2017
3f262f3
meta: remove cache, it is not evicted correctly
john-tornblom Apr 23, 2017
1d6c0ca
test: improve preconditions of test_relate
john-tornblom Apr 23, 2017
0c52f69
test: test that cached queries are evicted after relate/unrelate
john-tornblom Apr 23, 2017
6df9b1e
cosmetics
john-tornblom Apr 23, 2017
5f4f0a7
cosmetics
john-tornblom Apr 23, 2017
bcf682a
load: allow integers to be persisted as GUIDs
john-tornblom Apr 23, 2017
4305df0
move batch relate operation from loader into the metamodel class
john-tornblom Apr 23, 2017
53759f8
cosmetics
john-tornblom Apr 23, 2017
52ad1fd
ooaofooa schema gen: unrelate R_REL from R_OIR during filtering
john-tornblom Apr 25, 2017
f087d88
formalize associations after all links have been connected
john-tornblom Apr 25, 2017
44b0640
meta: consider all links when computing referential attributes
john-tornblom Apr 25, 2017
fe5568d
meta: remove referential values from instances once links are formalized
john-tornblom Apr 25, 2017
5b1aa2b
load: populate links at the same time as everything else
john-tornblom Apr 29, 2017
a5702ab
cosmetics
john-tornblom Apr 29, 2017
2ec851c
meta: minor performance tweaks
john-tornblom Apr 30, 2017
e4a6abb
meta: allow queries with null values
john-tornblom May 1, 2017
878368c
assume instances are unique based on association keys during batch re…
john-tornblom May 1, 2017
1ded4dc
meta: make referential attributes case insensitive
john-tornblom May 1, 2017
753c161
load: support multiple batch relates on the same meta model instance
john-tornblom May 2, 2017
7bc1c16
preserve order of instances in sets
john-tornblom May 4, 2017
597c60f
meta: properly assign referential attributes using the class property
john-tornblom May 15, 2017
9dec477
meta: raise an exception when attempting to explicitly write a refere…
john-tornblom May 15, 2017
68fecd9
load: track positional information of SQL statements
john-tornblom May 16, 2017
525b40a
load: show positional information of INSERT statements with schema mi…
john-tornblom May 16, 2017
63da81d
cosmetics
john-tornblom May 16, 2017
7c2a1c5
oal ast: convert phrases with null values to empty string
john-tornblom May 19, 2017
c52f56a
test: expect empty relationship phrases to evaluate to false
john-tornblom May 19, 2017
23c476d
bridgepoint: add experimental oal interpreter
john-tornblom May 19, 2017
d07e56b
remove dead, unused code
john-tornblom May 19, 2017
68f3291
test: add basic test for bridgepoint interpreter
john-tornblom May 19, 2017
7ef93ff
fix python3 issues
john-tornblom May 19, 2017
0771bc7
fix import issues
john-tornblom May 19, 2017
d23b66f
interpret: support assigning values to fields
john-tornblom May 19, 2017
df012a7
interpret: allow selecting component to execute
john-tornblom May 19, 2017
b3ee5e6
ooaofooa: display warning on unformalized associations
john-tornblom May 19, 2017
0c41664
ooaofooa: populate unformalized associations correctly
john-tornblom May 20, 2017
e99a07c
interpret: improve logging of errors
john-tornblom May 20, 2017
de44d18
cosmetics
john-tornblom May 20, 2017
8a85e09
meta: add cardinality function that operate on instances or sets
john-tornblom May 20, 2017
cd6ef3b
interpret: improve binary and unary operator support
john-tornblom May 20, 2017
8c62838
interpret: import support for external entities
john-tornblom May 20, 2017
928e67e
add cardinality to api
john-tornblom May 20, 2017
eaae90d
bridgepoint: add more builtin bridges to TIM
john-tornblom May 20, 2017
3ad092a
meta: support navigation across association classes without explicitly
john-tornblom May 21, 2017
ad1c18f
oal: cosmetics
john-tornblom May 21, 2017
6f0349f
ee: add stub for PERSIST.restore
john-tornblom May 21, 2017
1b64fd9
ooaofooa: move schema to its own module
john-tornblom May 21, 2017
7dfb598
ee: add copyright license
john-tornblom May 21, 2017
49e28c6
cosmetics
john-tornblom May 21, 2017
32e30af
meta: swap order of phrases in navigations
john-tornblom May 25, 2017
69429f1
builtin EEs: add python implementation of LOG::LogReal
john-tornblom May 25, 2017
2a4fc13
api: add the convenient functions get_metaclass() and get_metamodel()
john-tornblom May 25, 2017
b044e90
cosmetics
john-tornblom May 25, 2017
bc0eb62
meta: remove dead code
john-tornblom May 25, 2017
5f42c8e
cosmetics
john-tornblom May 25, 2017
1148692
cosmetics
john-tornblom May 25, 2017
c0ef0a4
cosmetics
john-tornblom May 25, 2017
75d392d
doc: add additional functions and methods to API reference
john-tornblom May 25, 2017
eb63389
doc: add description on the command line interface for the OAL interp…
john-tornblom May 25, 2017
116c112
cosmetics
john-tornblom May 25, 2017
9d5c839
cosmetics
john-tornblom May 25, 2017
e0d53aa
doc: cosmetics
john-tornblom May 29, 2017
2cb2581
meta: unrelate instances that are deleted
john-tornblom May 30, 2017
dc4becf
examples: fix minor typo in help description of integrity check gener…
john-tornblom May 31, 2017
f925d70
ooaofooa: add convenient function to remove globals from a model
john-tornblom Jun 2, 2017
4f56e94
meta: stop adding new instances to a set during reflexive sorting
john-tornblom Jun 3, 2017
cbb2fa1
meta: make disconnect operation performed during instance deletion op…
john-tornblom Jun 3, 2017
f1f92bd
ooaofooa: rename remove_globals to delete_globals, and make the disco…
john-tornblom Jun 3, 2017
1c19d70
cosmetics
john-tornblom Jun 3, 2017
0caccd7
persist: parameterize the file mode
john-tornblom Jun 3, 2017
fe035ac
cosmetics
john-tornblom Jun 3, 2017
9e65d42
cosmetics
john-tornblom Jun 3, 2017
d52e88c
meta: allow links across instances with the same schema, but different
john-tornblom Jun 3, 2017
8827118
meta: only apply filter function if a where_clause is provided
john-tornblom Jun 7, 2017
6f00fce
cosmetics
john-tornblom Jun 7, 2017
97bcab0
prebuild: use relate instead of assigning referential attributes
john-tornblom Jun 8, 2017
994cb12
consistency: improve performance by checking uniqness constraints with a
john-tornblom Jun 8, 2017
bb7eb12
test inserting an integer with a uuid literal
john-tornblom Jun 10, 2017
23c87f9
remove dead code
john-tornblom Jun 10, 2017
be19fb8
cosmetics
john-tornblom Jun 10, 2017
c046ee1
meta: fix navigate_many with a where-clause
john-tornblom Jun 19, 2017
4c15cf4
cosmetics
john-tornblom Jun 20, 2017
f3a7e88
add test for xsd schema gen
john-tornblom Jun 20, 2017
bcf47b8
test xsd gen for enums and user defined types
john-tornblom Jun 20, 2017
df89e96
test: add cases with strings escaped at the start and end of a string
john-tornblom Jul 21, 2017
b733580
load: fix deserialization of the string "'"
john-tornblom Jul 21, 2017
853c2ef
add python 3.6 to travis
john-tornblom Jul 21, 2017
391babf
setup: add python 3.6 to list of supported python dialects
john-tornblom Jul 21, 2017
30b35a8
bump version to 2.0b1
john-tornblom Jul 23, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
language: python
python:
- "3.6"
- "3.5"
- "2.7"
install:
Expand Down
8 changes: 4 additions & 4 deletions LICENSE → COPYING
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
GNU GENERAL PUBLIC LICENSE
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Expand Down Expand Up @@ -631,8 +631,8 @@ to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

{one line to give the program's name and a brief idea of what it does.}
Copyright (C) {year} {name of author}
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand All @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:

{project} Copyright (C) {year} {fullname}
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
Expand Down
165 changes: 165 additions & 0 deletions COPYING.LESSER
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.


This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.

0. Additional Definitions.

As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.

"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.

An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.

A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".

The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.

The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.

1. Exception to Section 3 of the GNU GPL.

You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.

2. Conveying Modified Versions.

If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:

a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or

b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.

3. Object Code Incorporating Material from Library Header Files.

The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:

a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.

b) Accompany the object code with a copy of the GNU GPL and this license
document.

4. Combined Works.

You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:

a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.

b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.

c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.

d) Do one of the following:

0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.

1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.

e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)

5. Combined Libraries.

You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:

a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.

b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.

6. Revised Versions of the GNU Lesser General Public License.

The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.

If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.
6 changes: 4 additions & 2 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
include LICENSE
include COPYING
include COPYING.LESSER
include AUTHORS
include README.rst
include README.rst
include requirements.txt
5 changes: 3 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ pyxtuml is a python library for parsing, manipulating, and generating
Documentation
=============

Information on how to use pyxtuml is available at `Read the Docs <http://pyxtuml.readthedocs.org>`__.
Information on how to use pyxtuml is available at `Read the Docs <http://pyxtuml.readthedocs.io>`__.

==============
Reporting bugs
Expand All @@ -27,7 +27,8 @@ effort.
License
=======

pyxtuml is licensed under the GPLv3, see LICENSE for more information.
pyxtuml is licensed under the LGPLv3+, see COPYING and COPYING.LESSER
for more information.

.. |Build Status| image:: https://travis-ci.org/xtuml/pyxtuml.svg?branch=master
:target: https://travis-ci.org/xtuml/pyxtuml
Expand Down
27 changes: 27 additions & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
build: off

environment:
matrix:
- PYTHON: "C:\\Python27"
PYTHON_VERSION: "2.7.x"
PYTHON_ARCH: "32"

init:
- "%PYTHON%/python --version"

install:
- "%PYTHON%/python -m pip install ply"
- "%PYTHON%/python -m pip install sphinx"
- "%PYTHON%/python -m pip install sphinx_rtd_theme"

before_test:
- "%PYTHON%/python setup.py build"

test_script:
- "%PYTHON%/python setup.py test"

after_test:
- "%PYTHON%/python -m sphinx -b man docs dist"

artifacts:
- path: dist\*
18 changes: 18 additions & 0 deletions bridgepoint/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
# encoding: utf-8
# Copyright (C) 2017 John Törnblom
#
# This file is part of pyxtuml.
#
# pyxtuml is free software: you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation, either
# version 3 of the License, or (at your option) any later version.
#
# pyxtuml is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with pyxtuml. If not, see <http://www.gnu.org/licenses/>.

from bridgepoint import imp
imp.install()

Expand Down
44 changes: 32 additions & 12 deletions bridgepoint/consistency_check.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# encoding: utf-8
# Copyright (C) 2015-2016 John Törnblom
# Copyright (C) 2017 John Törnblom
#
# This file is part of pyxtuml.
#
# pyxtuml is free software: you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation, either
# version 3 of the License, or (at your option) any later version.
#
# pyxtuml is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with pyxtuml. If not, see <http://www.gnu.org/licenses/>.
'''
Check a bridgepoint model for association constraint violations in its
metamodel (ooaofooa).
Expand All @@ -15,7 +30,7 @@
logger = logging.getLogger('consistency_check')


def main():
def main(args):
parser = optparse.OptionParser(usage="%prog [options] <model_path> [another_model_path...]",
version=xtuml.version.complete_string,
formatter=optparse.TitledHelpFormatter())
Expand All @@ -30,10 +45,14 @@ def main():
help="limit check for uniqueness constraint violations to one or more classes",
action="append", default=[])

parser.add_option("-g", "--globals", dest="globals",
help="add builtin global data types automatically, e.g. boolean, integer and real",
action="store_true", default=False)

parser.add_option("-v", "--verbosity", dest='verbosity', action="count",
help="increase debug logging level", default=1)

(opts, args) = parser.parse_args()
(opts, args) = parser.parse_args(args)
if len(args) == 0:
parser.print_help()
sys.exit(1)
Expand All @@ -46,27 +65,28 @@ def main():
}
logging.basicConfig(level=levels.get(opts.verbosity, logging.DEBUG))

loader = ooaofooa.Loader()
loader = ooaofooa.Loader(load_globals=opts.globals)
for filename in args:
loader.filename_input(filename)

m = loader.build_metamodel()

error = False
error = 0
for rel_id in opts.rel_ids:
error |= xtuml.check_association_integrity(m, rel_id)
error += xtuml.check_association_integrity(m, rel_id)

if not opts.rel_ids:
error |= xtuml.check_association_integrity(m)
error += xtuml.check_association_integrity(m)

for kind in opts.kinds:
error |= xtuml.check_uniqueness_constraint(m, kind)
error += xtuml.check_uniqueness_constraint(m, kind)

if not opts.kinds:
error |= xtuml.check_uniqueness_constraint(m)
sys.exit(error)
error += xtuml.check_uniqueness_constraint(m)

return error

if __name__ == '__main__':
main()

if __name__ == '__main__':
num_errors = main(sys.argv[1:])
sys.exit(num_errors > 0)
Loading