From 811dd159680dabd5f732977dfce9ac3575a1ea50 Mon Sep 17 00:00:00 2001 From: Bell Eapen Date: Thu, 20 May 2021 12:17:40 -0400 Subject: [PATCH 01/21] Add contributing.md --- CONTRIBUTING.md | 70 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..ea9dd48 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,70 @@ +# How to contribute + +## Please note: + +* (Optional) We adopt [Git Flow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow). Most feature branches are pushed to the repository and deleted when merged to *develop* branch. +* (**Important**): Submit pull requests to the *develop* branch or *feature/* branches +* Use *GitHub Issues* for feature requests and bug reports. Include as much information as possible while reporting bugs. + + +## Contributing (Step-by-step) + +1. [Fork the repo](http://help.github.com/fork-a-repo) and clone it to your local computer, and set up the upstream remote: + + git clone https://github.com/YourGithubUsername/ckblib.git + cd ckblib + git remote add upstream https://github.com/dermatologist/ckblib.git + +2. Checkout out a new local branch based on your master and update it to the latest (BRANCH-123 is the branch name, You can name it whatever you want. Try to give it a meaningful name. If you are fixing an issue, please include the issue #). + + git checkout -b BRANCH-123 develop + git clean -df + git pull --rebase upstream develop + + > Please keep your code clean. If you find another bug, you want to fix while being in a new branch, please fix it in a separated branch instead. + +3. Push the branch to your fork. Treat it as a backup. + + git push origin BRANCH-123 + +4. Code + + * Adhere to common conventions you see in the existing code. + * Include tests as much as possible, and ensure they pass. + +5. Commit to your branch + + git commit -m "BRANCH-123: Put change summary here (can be a ticket title)" + + **NEVER leave the commit message blank!** Provide a detailed, clear, and complete description of your commit! + +6. Update your branch to the latest code. + + git pull --rebase upstream develop + +7. **Important** If you have made many commits, please squash them into atomic units of work. (Most Git GUIs such as sourcetree and smartgit offer a squash option) + + + git checkout develop + git pull --rebase upstream develop + git merge --squash BRANCH-123 + git commit -m "fix: 123" + + Push changes to your fork: + + git push + +8. Issue a Pull Request + + In order to make a pull request: + * Click "Pull Request". + * Choose the develop branch + * Click 'Create pull request' + * Fill in some details about your potential patch including a meaningful title. + * Click "Create pull request". + + Thanks for that -- we'll get to your pull request ASAP. We love pull requests! + +## Feedback + + If you need to contact me, see my contact details on my profile page. From 580afe4bc5589b92dd25acd8295c22133ca95f00 Mon Sep 17 00:00:00 2001 From: Bell Eapen Date: Fri, 21 May 2021 21:02:02 -0400 Subject: [PATCH 02/21] Update README.md --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b8a6dad..ed84a1e 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,8 @@ ## About -Providing clinical decision support requires some formal way of representing clinical knowledge and complex algorithms for sophisticated inference. ckblib consists of three modules. +Providing clinical decision support requires some formal way of representing clinical knowledge and complex algorithms for sophisticated inference. ckblib is a java library to facilitate knowledge extraction, annotation and representation as a Neo4J graph. These knowledge graphs can be visualized in a semantically enriched way that we call ClinGraphâ„¢ (see above). ckblib consists of three modules: + * The 'library' module wraps the NCBI's E-Utils API to harvest published article abstracts. * The 'qtakes' module provides a programmable interface to my quick-ctakes or the quarkus based apache ctakes, a fast clinical text annotation engine. * Finally, the graph module provides the Neo4J models, repositories and services for abstracting as a knowledge graph. @@ -50,4 +51,4 @@ Providing clinical decision support requires some formal way of representing cli * [Bell Eapen](https://nuchange.ca) | [contact](https://nuchange.ca/contact) | [![Twitter Follow](https://img.shields.io/twitter/follow/beapen?style=social)](https://twitter.com/beapen) ## Contributors -* PR welcome. Please see CONTRIBUTING.md for details. \ No newline at end of file +* PR welcome. Please see CONTRIBUTING.md for details. From 83dc0c1bd06ffa8e58264930f541dca793b7195c Mon Sep 17 00:00:00 2001 From: beapen Date: Mon, 24 May 2021 08:27:01 -0400 Subject: [PATCH 03/21] update readme --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ed84a1e..0f7cf72 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ Providing clinical decision support requires some formal way of representing cli * [Read how to install mvn packages from GitHub](https://docs.github.com/en/packages/guides/configuring-apache-maven-for-use-with-github-packages#installing-a-package) * Include dependencies in pom.xml +* See an application [![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg) using ckblib: [GulfDoctor](https://gulfdoctor.net) ``` @@ -51,4 +52,5 @@ Providing clinical decision support requires some formal way of representing cli * [Bell Eapen](https://nuchange.ca) | [contact](https://nuchange.ca/contact) | [![Twitter Follow](https://img.shields.io/twitter/follow/beapen?style=social)](https://twitter.com/beapen) ## Contributors -* PR welcome. Please see CONTRIBUTING.md for details. +* PR welcome. +* Please see CONTRIBUTING.md for details. From 2f38d35a8729bd4180c4ac8910303197ffafe56f Mon Sep 17 00:00:00 2001 From: beapen Date: Mon, 24 May 2021 08:34:21 -0400 Subject: [PATCH 04/21] Update javadoc --- docs/apidocs/allclasses-index.html | 6 +- docs/apidocs/allpackages-index.html | 6 +- docs/apidocs/argfile | 41 ++++++++++ .../ckblib/application/DemoApplication.html | 6 +- .../application/Neo4jConfiguration.html | 6 +- .../class-use/DemoApplication.html | 6 +- .../class-use/Neo4jConfiguration.html | 6 +- .../ckblib/application/package-summary.html | 6 +- .../ckblib/application/package-tree.html | 6 +- .../ckblib/application/package-use.html | 6 +- .../graph/AnatomicalSiteRepository.html | 6 +- .../ckblib/graph/AnatomicalSiteService.html | 34 ++++++-- .../ckblib/graph/BaseRelationRepository.html | 6 +- .../ckblib/graph/BaseRelationService.html | 19 ++++- .../ckblib/graph/D3Map.Builder.html | 6 +- .../com/canehealth/ckblib/graph/D3Map.html | 6 +- .../graph/DiseaseDisorderRepository.html | 6 +- .../ckblib/graph/DiseaseDisorderService.html | 79 +++++++++++++++++-- .../graph/JournalArticleRepository.html | 6 +- .../ckblib/graph/JournalArticleService.html | 6 +- .../ckblib/graph/MedicationRepository.html | 6 +- .../ckblib/graph/MedicationService.html | 34 ++++++-- .../ckblib/graph/Neo4jTestConfiguration.html | 6 +- .../ckblib/graph/ProcedureRepository.html | 6 +- .../ckblib/graph/ProcedureService.html | 34 ++++++-- .../ckblib/graph/SignSymptomRepository.html | 6 +- .../ckblib/graph/SignSymptomService.html | 34 ++++++-- .../class-use/AnatomicalSiteRepository.html | 6 +- .../class-use/AnatomicalSiteService.html | 6 +- .../class-use/BaseRelationRepository.html | 6 +- .../graph/class-use/BaseRelationService.html | 6 +- .../ckblib/graph/class-use/D3Map.Builder.html | 6 +- .../ckblib/graph/class-use/D3Map.html | 6 +- .../class-use/DiseaseDisorderRepository.html | 6 +- .../class-use/DiseaseDisorderService.html | 6 +- .../class-use/JournalArticleRepository.html | 6 +- .../class-use/JournalArticleService.html | 6 +- .../graph/class-use/MedicationRepository.html | 6 +- .../graph/class-use/MedicationService.html | 6 +- .../class-use/Neo4jTestConfiguration.html | 6 +- .../graph/class-use/ProcedureRepository.html | 6 +- .../graph/class-use/ProcedureService.html | 6 +- .../class-use/SignSymptomRepository.html | 6 +- .../graph/class-use/SignSymptomService.html | 6 +- .../graph/model/AnatomicalSiteMention.html | 6 +- .../ckblib/graph/model/BaseRelation.html | 6 +- .../ckblib/graph/model/ConceptAttributes.html | 6 +- .../graph/model/DiseaseDisorderMention.html | 6 +- .../ckblib/graph/model/JournalArticle.html | 6 +- .../ckblib/graph/model/MedicationMention.html | 6 +- .../ckblib/graph/model/ProcedureMention.html | 6 +- .../graph/model/SignSymptomMention.html | 6 +- .../class-use/AnatomicalSiteMention.html | 19 +++-- .../graph/model/class-use/BaseRelation.html | 6 +- .../model/class-use/ConceptAttributes.html | 6 +- .../class-use/DiseaseDisorderMention.html | 24 ++++-- .../graph/model/class-use/JournalArticle.html | 6 +- .../model/class-use/MedicationMention.html | 19 +++-- .../model/class-use/ProcedureMention.html | 19 +++-- .../model/class-use/SignSymptomMention.html | 19 +++-- .../ckblib/graph/model/package-summary.html | 6 +- .../ckblib/graph/model/package-tree.html | 6 +- .../ckblib/graph/model/package-use.html | 6 +- .../ckblib/graph/package-summary.html | 6 +- .../canehealth/ckblib/graph/package-tree.html | 6 +- .../canehealth/ckblib/graph/package-use.html | 6 +- .../ckblib/library/model/BaseQuery.html | 6 +- .../library/model/EsearchResultRoot.html | 6 +- .../ckblib/library/model/Esearchresult.html | 6 +- .../ckblib/library/model/Header.html | 6 +- .../ckblib/library/model/Translationset.html | 6 +- .../library/model/class-use/BaseQuery.html | 6 +- .../model/class-use/EsearchResultRoot.html | 6 +- .../model/class-use/Esearchresult.html | 6 +- .../library/model/class-use/Header.html | 6 +- .../model/class-use/Translationset.html | 6 +- .../ckblib/library/model/package-summary.html | 6 +- .../ckblib/library/model/package-tree.html | 6 +- .../ckblib/library/model/package-use.html | 6 +- .../ckblib/library/service/CkbEfetch.html | 6 +- .../ckblib/library/service/CkbEsearch.html | 6 +- .../ckblib/library/service/MyService.html | 6 +- .../library/service/ServiceProperties.html | 6 +- .../library/service/class-use/CkbEfetch.html | 6 +- .../library/service/class-use/CkbEsearch.html | 6 +- .../library/service/class-use/MyService.html | 6 +- .../service/class-use/ServiceProperties.html | 6 +- .../library/service/package-summary.html | 6 +- .../ckblib/library/service/package-tree.html | 6 +- .../ckblib/library/service/package-use.html | 6 +- .../ckblib/library/util/CkbXpath.html | 6 +- .../ckblib/library/util/CkblibConstants.html | 6 +- .../library/util/class-use/CkbXpath.html | 6 +- .../util/class-use/CkblibConstants.html | 6 +- .../ckblib/library/util/package-summary.html | 6 +- .../ckblib/library/util/package-tree.html | 6 +- .../ckblib/library/util/package-use.html | 6 +- .../ckblib/qtakes/model/ConceptAttribute.html | 6 +- .../ckblib/qtakes/model/ConceptMention.html | 6 +- .../ckblib/qtakes/model/QtakesRoot.html | 6 +- .../model/class-use/ConceptAttribute.html | 6 +- .../model/class-use/ConceptMention.html | 6 +- .../qtakes/model/class-use/QtakesRoot.html | 6 +- .../ckblib/qtakes/model/package-summary.html | 6 +- .../ckblib/qtakes/model/package-tree.html | 6 +- .../ckblib/qtakes/model/package-use.html | 6 +- .../ckblib/qtakes/service/QtakesService.html | 6 +- .../service/class-use/QtakesService.html | 6 +- .../qtakes/service/package-summary.html | 6 +- .../ckblib/qtakes/service/package-tree.html | 6 +- .../ckblib/qtakes/service/package-use.html | 6 +- docs/apidocs/constant-values.html | 6 +- docs/apidocs/deprecated-list.html | 6 +- docs/apidocs/help-doc.html | 6 +- docs/apidocs/index-all.html | 37 ++++++++- docs/apidocs/index.html | 8 +- docs/apidocs/javadoc.sh | 1 + docs/apidocs/member-search-index.js | 2 +- docs/apidocs/options | 24 ++++++ docs/apidocs/overview-summary.html | 6 +- docs/apidocs/overview-tree.html | 6 +- 121 files changed, 687 insertions(+), 384 deletions(-) create mode 100644 docs/apidocs/argfile create mode 100755 docs/apidocs/javadoc.sh create mode 100644 docs/apidocs/options diff --git a/docs/apidocs/allclasses-index.html b/docs/apidocs/allclasses-index.html index 95ad74f..b478d4f 100644 --- a/docs/apidocs/allclasses-index.html +++ b/docs/apidocs/allclasses-index.html @@ -2,10 +2,10 @@ - -All Classes (cklib-core 0.12.0 API) + +All Classes (cklib-core 0.15.0 API) - + diff --git a/docs/apidocs/allpackages-index.html b/docs/apidocs/allpackages-index.html index 255bac4..26c4dcd 100644 --- a/docs/apidocs/allpackages-index.html +++ b/docs/apidocs/allpackages-index.html @@ -2,10 +2,10 @@ - -All Packages (cklib-core 0.12.0 API) + +All Packages (cklib-core 0.15.0 API) - + diff --git a/docs/apidocs/argfile b/docs/apidocs/argfile new file mode 100644 index 0000000..4500a29 --- /dev/null +++ b/docs/apidocs/argfile @@ -0,0 +1,41 @@ +'/scratch/beapen/ckblib/library/src/main/java/com/canehealth/ckblib/library/service/CkbEsearch.java' +'/scratch/beapen/ckblib/library/src/main/java/com/canehealth/ckblib/library/service/CkbEfetch.java' +'/scratch/beapen/ckblib/library/src/main/java/com/canehealth/ckblib/library/service/ServiceProperties.java' +'/scratch/beapen/ckblib/library/src/main/java/com/canehealth/ckblib/library/service/MyService.java' +'/scratch/beapen/ckblib/library/src/main/java/com/canehealth/ckblib/library/util/CkbXpath.java' +'/scratch/beapen/ckblib/library/src/main/java/com/canehealth/ckblib/library/util/CkblibConstants.java' +'/scratch/beapen/ckblib/library/src/main/java/com/canehealth/ckblib/library/model/BaseQuery.java' +'/scratch/beapen/ckblib/library/src/main/java/com/canehealth/ckblib/library/model/Header.java' +'/scratch/beapen/ckblib/library/src/main/java/com/canehealth/ckblib/library/model/EsearchResultRoot.java' +'/scratch/beapen/ckblib/library/src/main/java/com/canehealth/ckblib/library/model/Translationset.java' +'/scratch/beapen/ckblib/library/src/main/java/com/canehealth/ckblib/library/model/Esearchresult.java' +'/scratch/beapen/ckblib/qtakes/src/main/java/com/canehealth/ckblib/qtakes/service/QtakesService.java' +'/scratch/beapen/ckblib/qtakes/src/main/java/com/canehealth/ckblib/qtakes/model/ConceptAttribute.java' +'/scratch/beapen/ckblib/qtakes/src/main/java/com/canehealth/ckblib/qtakes/model/ConceptMention.java' +'/scratch/beapen/ckblib/qtakes/src/main/java/com/canehealth/ckblib/qtakes/model/QtakesRoot.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/DiseaseDisorderService.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/ProcedureRepository.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/Neo4jTestConfiguration.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/model/BaseRelation.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/model/AnatomicalSiteMention.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/model/MedicationMention.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/model/JournalArticle.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/model/ProcedureMention.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/model/SignSymptomMention.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/model/ConceptAttributes.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/model/DiseaseDisorderMention.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/AnatomicalSiteService.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/SignSymptomRepository.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/SignSymptomService.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/D3Map.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/BaseRelationRepository.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/JournalArticleRepository.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/ProcedureService.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/AnatomicalSiteRepository.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/MedicationRepository.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/BaseRelationService.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/JournalArticleService.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/MedicationService.java' +'/scratch/beapen/ckblib/graph/src/main/java/com/canehealth/ckblib/graph/DiseaseDisorderRepository.java' +'/scratch/beapen/ckblib/application/src/main/java/com/canehealth/ckblib/application/DemoApplication.java' +'/scratch/beapen/ckblib/application/src/main/java/com/canehealth/ckblib/application/Neo4jConfiguration.java' \ No newline at end of file diff --git a/docs/apidocs/com/canehealth/ckblib/application/DemoApplication.html b/docs/apidocs/com/canehealth/ckblib/application/DemoApplication.html index 1a61586..ff691d3 100644 --- a/docs/apidocs/com/canehealth/ckblib/application/DemoApplication.html +++ b/docs/apidocs/com/canehealth/ckblib/application/DemoApplication.html @@ -2,10 +2,10 @@ - -DemoApplication (cklib-core 0.12.0 API) + +DemoApplication (cklib-core 0.15.0 API) - + diff --git a/docs/apidocs/com/canehealth/ckblib/application/Neo4jConfiguration.html b/docs/apidocs/com/canehealth/ckblib/application/Neo4jConfiguration.html index a9287ec..9517617 100644 --- a/docs/apidocs/com/canehealth/ckblib/application/Neo4jConfiguration.html +++ b/docs/apidocs/com/canehealth/ckblib/application/Neo4jConfiguration.html @@ -2,10 +2,10 @@ - -Neo4jConfiguration (cklib-core 0.12.0 API) + +Neo4jConfiguration (cklib-core 0.15.0 API) - + diff --git a/docs/apidocs/com/canehealth/ckblib/application/class-use/DemoApplication.html b/docs/apidocs/com/canehealth/ckblib/application/class-use/DemoApplication.html index eb37c84..3acb058 100644 --- a/docs/apidocs/com/canehealth/ckblib/application/class-use/DemoApplication.html +++ b/docs/apidocs/com/canehealth/ckblib/application/class-use/DemoApplication.html @@ -2,10 +2,10 @@ - -Uses of Class com.canehealth.ckblib.application.DemoApplication (cklib-core 0.12.0 API) + +Uses of Class com.canehealth.ckblib.application.DemoApplication (cklib-core 0.15.0 API) - + diff --git a/docs/apidocs/com/canehealth/ckblib/application/class-use/Neo4jConfiguration.html b/docs/apidocs/com/canehealth/ckblib/application/class-use/Neo4jConfiguration.html index 6b2349f..42045f9 100644 --- a/docs/apidocs/com/canehealth/ckblib/application/class-use/Neo4jConfiguration.html +++ b/docs/apidocs/com/canehealth/ckblib/application/class-use/Neo4jConfiguration.html @@ -2,10 +2,10 @@ - -Uses of Class com.canehealth.ckblib.application.Neo4jConfiguration (cklib-core 0.12.0 API) + +Uses of Class com.canehealth.ckblib.application.Neo4jConfiguration (cklib-core 0.15.0 API) - + diff --git a/docs/apidocs/com/canehealth/ckblib/application/package-summary.html b/docs/apidocs/com/canehealth/ckblib/application/package-summary.html index dc19c55..401a8da 100644 --- a/docs/apidocs/com/canehealth/ckblib/application/package-summary.html +++ b/docs/apidocs/com/canehealth/ckblib/application/package-summary.html @@ -2,10 +2,10 @@ - -com.canehealth.ckblib.application (cklib-core 0.12.0 API) + +com.canehealth.ckblib.application (cklib-core 0.15.0 API) - + diff --git a/docs/apidocs/com/canehealth/ckblib/application/package-tree.html b/docs/apidocs/com/canehealth/ckblib/application/package-tree.html index c87b4ad..3db6544 100644 --- a/docs/apidocs/com/canehealth/ckblib/application/package-tree.html +++ b/docs/apidocs/com/canehealth/ckblib/application/package-tree.html @@ -2,10 +2,10 @@ - -com.canehealth.ckblib.application Class Hierarchy (cklib-core 0.12.0 API) + +com.canehealth.ckblib.application Class Hierarchy (cklib-core 0.15.0 API) - + diff --git a/docs/apidocs/com/canehealth/ckblib/application/package-use.html b/docs/apidocs/com/canehealth/ckblib/application/package-use.html index f644e43..39b7972 100644 --- a/docs/apidocs/com/canehealth/ckblib/application/package-use.html +++ b/docs/apidocs/com/canehealth/ckblib/application/package-use.html @@ -2,10 +2,10 @@ - -Uses of Package com.canehealth.ckblib.application (cklib-core 0.12.0 API) + +Uses of Package com.canehealth.ckblib.application (cklib-core 0.15.0 API) - + diff --git a/docs/apidocs/com/canehealth/ckblib/graph/AnatomicalSiteRepository.html b/docs/apidocs/com/canehealth/ckblib/graph/AnatomicalSiteRepository.html index 2ecfd38..9afd5b1 100644 --- a/docs/apidocs/com/canehealth/ckblib/graph/AnatomicalSiteRepository.html +++ b/docs/apidocs/com/canehealth/ckblib/graph/AnatomicalSiteRepository.html @@ -2,10 +2,10 @@ - -AnatomicalSiteRepository (cklib-core 0.12.0 API) + +AnatomicalSiteRepository (cklib-core 0.15.0 API) - + diff --git a/docs/apidocs/com/canehealth/ckblib/graph/AnatomicalSiteService.html b/docs/apidocs/com/canehealth/ckblib/graph/AnatomicalSiteService.html index b043bbc..44b25ea 100644 --- a/docs/apidocs/com/canehealth/ckblib/graph/AnatomicalSiteService.html +++ b/docs/apidocs/com/canehealth/ckblib/graph/AnatomicalSiteService.html @@ -2,10 +2,10 @@ - -AnatomicalSiteService (cklib-core 0.12.0 API) + +AnatomicalSiteService (cklib-core 0.15.0 API) - + @@ -20,7 +20,7 @@ - - - - - -