<commit_before>The ULC-FX Project
==================

Team: <NAME>, <NAME>, <NAME>

Providing a ULC-like facility with visualization in JavaFX 2.0.

Just like ULC, all application logic resides on the server.

Unlike ULC
- the client/server split is not though widgets but through
  application-specific presentation models (PM)
- the split is not based on the half-object-plus-protocol pattern
  but on the command pattern
- visualization code resides on the client (View);
  models and controllers remain on the server, 
  presentation models are shared between client and server
- a server may "push" commands to the client

Presentation models follow the approach of the GRASP project.

Project layout
--------------
The multi-project build consists of three subprojects
- shared (code that is needed on both client and server)
- client (visualization)
- server (domain model and control logic)

General approach
----------------
PMs are used on both, client and server.
PMs consists of Attributes that capture only one datatype,
which is "String".

On the client side, the visualization code (JavaFX) binds
against the PM, i.e. its Attributes.
On the server side, the domain model binds against the PM.

Commands are sent between client and server. They are 
concerned with create, read, update, and delete actions
for PMs. (Future: they may be undoable)


How to build
------------
gradlew build <commit_msg>dummy change to see if ci picks it up<commit_after>The ULC-FX Project
==================

Team: <NAME>, <NAME>, <NAME>

Providing a ULC-like facility with visualization in JavaFX 2.0.

Just like ULC, all application logic resides on the server.

Unlike ULC
- the client/server split is not though widgets but through
  application-specific presentation models (PM)
- the split is not based on the half-object-plus-protocol pattern
  but on the command pattern
- visualization code resides on the client (View);
  models and controllers remain on the server, 
  presentation models are shared between client and server
- a server may "push" commands to the client

Presentation models follow the approach of the GRASP project.

Project layout
--------------
The multi-project build consists of three subprojects
- shared (code that is needed on both client and server)
- client (visualization)
- server (domain model and control logic)

General approach
----------------
PMs are used on both, client and server.
PMs consists of Attributes that capture only one datatype,
which is "String".

On the client side, the visualization code (JavaFX) binds
against the PM, i.e. its Attributes.
On the server side, the domain model binds against the PM.

Commands are sent between client and server. They are 
concerned with create, read, update, and delete actions
for PMs. (Future: they may be undoable)


How to build
------------
gradlew build
{'fraction_non_alphanumeric': 0.09049456331111891, 'fraction_numerical': 0.0014030164854437039, 'mean_word_length': 3.706270627062706, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2783189', 'n_tokens_mistral': 751, 'n_tokens_neox': 714, 'n_words': 404}