Skip to content

Releases: UST-QuAntiL/qc-atlas

Automating the Comparison of Quantum Compilers for Quantum Circuits

11 Feb 14:18
c046e13
Compare
Choose a tag to compare

This is part of the implementation for the paper "Automating the Comparison of Quantum Compilers for Quantum Circuits".

The docker-compose of all components can be found here:
https://github.com/UST-QuAntiL/nisq-analyzer-content/tree/paper/compiler-selection

Demo video: https://youtu.be/I5l8vaA-zO8

v1.1.0

05 Nov 12:18
1be0915
Compare
Choose a tag to compare
Develop (#172)

* Updated README (#112)

* Feature/add missing publication endpoints (#108)

* Added Search and Paging using new ListParameters to Publications

* Adjusted Publication-Tests and RootController to use new ListParameters

* Added Endpoints in Publication controller to get all linked Algorithms and Implementations

* Fixed joinColumn of Publications in Algorithm model

* Added linking/unlinking of Algorithms in Publication/Controller

* Removed old getAlgorithm methods in PublicationService, adjusted test

* Adjusted testAddAlgorithm_WithPublications test, removed cyclic cascading that leads to error in test because relation is saved twice from both sides

* Adjusted PublicationControllerTest, removed unused service from PublicationController

* Added missing ParametersListDoc annotation

* GenericLinkAssembler toModel of Entity now adds links automatically

* Removed unused import

* Changed the way the linking of algorithm works with publications, now PublicationMixIn is used and publcations are added to the algorithms, no two way jointable

* Removed now unused interface

* Added Endpoints for linking/unlinking implementations with publications

* Removed linking of implementations with publications, now publications are linkes with implementations instead (the other way around)

* Readded GET-Endpoints for linked implementations in publication controller

* Added Link to publications in ImplementationAssembler

* Renamed publication path variable

* DeleteMapping fix

* Readded links for implementations in PublicationLinkAssembler

* Fixed joinTable for Implementation-Publication

* Renamed PublicationController methods

* Fixed path variable from  merge error

* Feature/add search option to applicatin area endpoint (#115)

* adjust applicationArea controller and service

add option to search for name in application areas

* Update ApplicationAreaRepository.java

* add ListParametersDoc annotation

* Feature/upload sketches (#114)

* Fix DiscussionTopic relationship with KnowledgeArtifact  (#116)

* Turn KnowledgeArtifact into an Entity + add a relationship with DiscussionTopic

* Make the topic's target artifact required

* Refactor and extend execution environment functionalities (#109)

  * Renamed all Backend related classes and functions to ComputeResource
  * Renamed ComputingResourceProperty to ComputeResourceProperty
  * Reinserted CloudServices and ComputeResources
  * Reworked controllers of software platform, cloud service and compute resource
  * Reworked services of software platform, cloud service and compute resource

Co-authored-by: Christian Müller <dev@c-mueller.xyz>

* Swapped remaining Entities with DTOs in DTO-Objects (#118)

* Swapped remaining Entities with DTOs in DTO-Objects

* Removed title from configured AlgorithmDto Schema to have consistent schema naming for EntityModelDTOs and DTOs

* Added ImplementationSchema for ImplementationDTO

* Removed unused imports

* Merged the two OverrideModelConverters into one

* Reintroduce tags (#120)

reintroduces tags

* Migrate to test containers (#123)

* Refactor Backend (#117)

-> Improve Readability of controller classes
-> Rename QuantumResourcePropertyTypeAssembler to ComputeResourcePropertyTypeAssembler
-> Make dependencies in controllers final
-> Remove meaningless log outputs in controllers

* Begin changing Test URLs to 'fromMethodCall'

* Fix Travis

* Reformated controllers

* Refactored crud algorithm service and controller methods

* Started semantic refactoring for algorithm controller and service

* Migrate AlgorithmController to fromMethodCall

* Misc Refactoring on publications

* Refactor more of algorithm controller functions

* Fix some tests and refactor some compute resource property functions in algorithm controller

* Finish refactoring algorithm controller functions

* Fix algorithm controller test

* Refactor PublicationController

* Fix compile errors and refactor CRUD implementation controller functions

* Refactor application area controller and service

* Refactored problem type controller and service

* Fix test

* Creat link service and more refacoting

* Move linking functionality to linking service

* Add validation annotations in DTOs

* Fix merge issues

* Move missing linking functions to linking service and adjusted controllers

* Fixed tests

* Removes unused method

* Added missing mockbeans in controller tests

* Update model mapper

* Fix failing tests

* Add UUID Mappings to Implementation and PatternRelations

* Changed http status codes of controller methods

* Add validators to request bodies in controllers

* Add "RequiresID" to ensure a child object in a Dto has an Id

* Ensure controllers fulfill our requirements

* Refactored pattern relation controller and service

* Refactored pattern relation type controller and service

* Refactored tag functionality

* Refactor ComputeResourceProperty

* Removed circular dependency from algorithm service

* Fix Service tests

* Moved compute resource property type service function to seperate service class

* Fix compile errors

* Refactor compure resource property methods in controllers

* Create algorithm relation controller

* Remove ComputeResourecePropertyInteface

* Implement algorithm relation service and controller

* Misc improvements

* Adjust create methods of models with types

* Refactor type services

* Renaming

* Renaming

* Fix compile errors

* Renmae algorOrImpl

* Rename algoRelationType to algorithmRelationType

* Fix missing transactions and method names in services

* Update License Header

* Refactor repository classes

* Fix and refactor service tests

* Fix failing tests

* Add test for application area service

* Add nonnull annotations to services

* Fix nameing

* Fix Controller test

* Fix some controller tests

* Fix compute resource property type controller test

* Fix Tests

* Fix service test

* Fix pattern relation service test

* Fix Annotation

* Fix compure resource service test

* Add generic find all method

- Organize imports

* Remove swagger content annotation from controllers

* Fix naming inconsistency in service tests

* Fix compile error

* Remove wxceptions

* Add EntityReferenceConstraintViolationException and remove mixin

* Adress and remove some TODOs

* Organize imports

* Expand exception messages and fix tests

* Some work on algorithmRelations

* Adjust algorithm relation functionality

* Model cleanup

* Improve robustness of model methods

* Implement missing algorithm and tag service tests

* Implement AlgorithmRelationService tests

* Add missing service tests for ComputeResourcePropertyTypeService

* Clean up service tests

* Add more ComputeResourcePropertyService tests

* Add ImplementationService tests

* Add more service tests

* Add some find linked objects tests

* Added linking service and some of its tests

* Add missing linking service tests

* Remove pattern relation linking functionality

* Organize imports and reformat code

* Remove misleading "Atlas is ready to use" message

* Fix some code cleanup things

* Exceptions now return JSON instead of plain text

* Remove hidden annotation from ComputeResourcePropertyController

* Change API path of implementation controller

* Add example swagger dokumentation to algorithm controller

* Change POSTs on resource ids

* Change update PUTs to point to the changing resource

* Add compute resource property calls to algorithm, implementation and compute resource controllers

* Add linking methods of software platform and implementation in software platform controller

* Add linking methods to publication controller for algorithm

* Fix software platform controller test

* Change algorithm relations api path

* Add new get mappings for algorithm related objects

* Add pattern relation methods to algorithm api path

* Change tag add methods from PUT to POST

* Add missing mock beans to controller tests

* Add validation checking if algorithm and implementation are related in all implementation related methods

* Add validations to algorithm relation functions

* Add missing override annotation

* Expand validation of compute resource property methods in controllers

* Add validation to some GET request paths

* Add validation to pattern relation controller methods

* Replace Update in ids with IDOnly

* Change validation group of linking calls

* Delete compute resource property controller

* Change annotations in compute resource property model class

* Fix wrong method nameing in compute resource controller

* Fix wrong method nameing in implementation controller

* Fix naming of problem type get method

* Fix validations

* Fix misc issues

* Misc fixes again

* Add missing request body annotations

* Fix wrong return types in controllers

Co-authored-by: Tobias Haller <tobias_haller@outlook.de>

* Feature/add search option to problem types endpoint (#122)

* add search option to problem types controller

* fix name and remove findByName method

* Upload sketches (#125)

* Add upload for sketches

* Add delete for sketches

* upload-sketch: mock SketchService in AlgorithmControllerTest.java to correct the Tests

* upload-sketch: set UTF-8 encoding in docker-build process

* upload-sketch: convert sketch.description into text

* upload-sketch: KnowledgeArtifact - add creationDate and lastModifiedAt attributes

* upload-sketch: remove redundant attributes

* upload-sketch: add creationDate and lastModifiedAt in AlgorithmDTO

* upload-sketch: set maximum upload size

* upload-sketch: set maximum upload size in application.properties.tpl

* upload-sketch: remove unused .max-request-size and delete properties from application.properties

* PlanQK-85: extend upload Sketches with Image entity

* upload-sketch: extend Image.java and upload/download functionality

* upload sketches(PlanQk-85): implement: getSketchImage, getSketch and getSketches

* upload sketches(PlanQk-85): add controller tests for upload sketches use case

* upload sketches(PlanQk-85): add service tests for upload sketches use case

* PlanQK-152: update sketch description

* PlanQK-153: fix after code review

* PlanQK-153: replace where with WHERE

* Merge develop branch and resolve merge conflicts

* upload-sketch: fix after code review

* upload-sketch: change creationDate, lastModifiedAt form public to private

* upload-sketch: throw and catch IllegalArgumentException if the content of multipart file can't not be read

* upload-sketch: delete unused @Param

Co-authored-by: Christoph Krieger <christoph.krieger@stoneone.de>
Co-authored-by: Tobias Haller <tobias_haller@outlook.de>

* Extend Implementation entity and DTO (#127)

* extend Implementation entity and DTO

* Define column problemStatement of Implementation as text

* Add new added fields of Implementation Entity to update method of ImplementationServiceImpl

Co-authored-by: Christoph Krieger <christoph.krieger@stoneone.de>

* Versioning improvements (#126)

* Add @ApiVersion annotation and custom request path mapping

* Use LinkBuilderService to construct test URLs

This also adds support for formatting ListParameters into URL components.

* delete unnecessary setSketches() from update algorithm. The relation between the algorithms and sketches is made by the sketch entity (#129)

* remove references to a problemType as parentProblemType when it gets … (#128)

* remove references to a problemType as parentProblemType when it gets deleted

* implement proposed change

* Fix Travis badge in the README (#131)

* Update Service Test docs (#130)

* prevent backend from ereasing db on startup (#133)

* Add Codecov Badge (#135)

* Feature/image mime type (#136)

* Add MIME Type to Image Entity

* Change type of imageURL to java.net.URL

* fix image upload test and revert the application properties

Co-authored-by: radufalcusanStoneone <radu.falcusan@stoneone.de>

* Add missing service tests (#137)

* Add missing algorithm relation service tests

* Add missing algorithm service tests and fixes

* Add missing compute resource property service tests

* Add missing service tests for implementation service

* Add missing service tests to pattern relation service

* Add missing service tests for publication service and extracted containsElementWithId method into ServiceUtils

* Add missing tests for software platform service

* Add multiple missing service tests and expand some existing service tests

* Remove duplicate findAll method from problem type service

* Add update test to sketch service

* Add nonnull anootation

* Fix failing update test

* Fix malformed url exceptions

* Comment out failing controller test

* fix db init (#140)

* add getImplementation() in ImplementationGlobalController.java (#141)

* add getImplementation() in ImplementationGlobalController.java

* delete unused mocks after code review

* Rework Controller tests (#139)

* Add Tag Controller test

* Add SortwarePlatformTest

* Add AAControllerTest

* Begin ImplementationControllerTest

* More work on the implementation controller test

* Finish implementation controllers

* Implement PublicationControllerTest (Pt. 1)

* Finish PublicationControllerTest

* Misc

* Add algorithm relation controller test

* Add methods to algorithm relation controller test

* Implement ProblemTypeControllerTest

* Finish Problem type controller

* Implement AlgorithmRelationControllerTest

* Update names in TagControllerTest

* Finish ComputeResourcePropertyTypeControllerTest

* Finish CloudServiceControllerTest

* Start fixing AlgorithmController tests

* Fixed AlgorithmController tests up to pattern relation functions

* Implement AlgorithmController tests up to problem type methods

* Update ComputeResourceControllerTest

* Fix Travis log length

* Futher reduce Log output

* Implement AlgorithmController tests for application area and reduce log output

* Fix Compile Errors

* Fix stuff

* Remove unused tests

* Fix

* Finish AlgorithmControllerTest

* Refactor link check in discussion topic

* Update log cleanup

* Add Service test for link method

* Fix AlgorithmRelationTypeControllerTest

* Rename method

* Resolve merge conflicts

Co-authored-by: Christian Müller <dev@c-mueller.xyz>

* Add Architectural Decision Records (#119)

* Create 0003-model-mapper.md

* Update index.md

* Create 0004-postgres-for-service-tests.md

* Update index.md

* Update 0004-postgres-for-service-tests.md

* Update index.md

* adds OpenAPI adr

* Document model/link assemblers

* Remove license

Apparently it's not present in all the others.

* Add JUnit adr and extend postgres adr

* Fix junit adr title

* Add pros and cons

* Update 0004-postgres-for-service-tests.md

* Update 0005-use-OpenAPI.md

* Create 0008-testcontainers.md

* Fix index.md

Co-authored-by: Felix Burk <felix.burk@googlemail.com>
Co-authored-by: Tim Niederhausen <st144339@stud.uni-stuttgart.de>
Co-authored-by: Tobias Haller <tobias_haller@outlook.de>
Co-authored-by: Christian Müller <dev@c-mueller.xyz>

* feat(PLANQK-179): add technology attribute (#143)

* Extend JavaDoc and OpenAPI documentation  (#142)

* Extend openAPI documentation of algorithmController

* Add docu for 404 in algorithmController

* Add more open api documentation to controllers

* Add openapi docu to compute resource controllers

* Add openapi docu for implementationController

* Add more controller docu

* Add missing openapi docu to controllers

* Add openapi docu for response code 400 responses

* Add docu to dto classes

* Add docu for repository classes and organize imports

* Add class docu to service interfaces

* Fix typo

* Add javadoc for algorithm relation and type service interfaces

* Document algorithmService class

* Add javadoc for applicationArea and problemType services

* Add javadoc for CloudService service

* Add javadoc for compure resource property services

* Add javadoc for compute resource and software platform service interface

* Add javadoc for discussion service interfaces

* Fix wrong pagable info in javadoc

* Add javadoc to implementation and publication service interfaces

* Add javadoc for sketch and tag service

* Add javadoc for pattern relation and type service

* Add javadoc for linking service

* add softwarePlatforms to ImplementationDto.java (#144)

* Add missing pagination to getImplementationsOfAlgorithm (#145)

* Publish API docs to GitHub Pages using GitHub Actions (#147)

* Fix ConcurrentModificationException when deleting entities (#149)

Copy `referenced objects` collections before iterating over them.

Custom removal methods such as `removeAlgorithm()` try to remove an element
from both sides of its relationship.
This randomly fails as we're iterating over one of the two containers involved.

Example stack trace:
```
java.util.ConcurrentModificationException: null
	at java.base/java.util.HashMap$HashIterator.nextNode(HashMap.java:1493)
	at java.base/java.util.HashMap$KeyIterator.next(HashMap.java:1516)
	at org.hibernate.collection.internal.AbstractPersistentCollection$IteratorProxy.next(AbstractPersistentCollection.java:883)
	at java.base/java.lang.Iterable.forEach(Iterable.java:74)
	at org.planqk.atlas.core.services.AlgorithmServiceImpl.removeReferences(AlgorithmServiceImpl.java:152)
```

* Database migrations (#146)

* Add Liquibase

* Add initial changelog

* Include all DB migration changelogs manually (#150)

It appears the 'executable jar/war' built via the Spring Boot maven plugin
doesn't support directory listings for classpath URIs, breaking the automatic
OpenAPI spec extraction.

* Feature/adapt checkstyle and copyright (#152)

* update copyright and checkstyle file

* update copyright in all files

* Apply Codestyle

* consider part of checkstyle warnings

* Apply Codestyle

* apply codestyle for constructors

* improve depth of nested if statement

* Remove try catch

* change LinkBuilderService from protected to private in GenericLinkAssembler

* add accessors for private LinkBuilderService

* Fix checkstyle errors

* adapt readme for code style

* fix list of contributors

Co-authored-by: Christoph Krieger <christoph.krieger@stoneone.de>

* Feature/implementation code artifacts 


Co-authored-by: radufalcusanStoneone <radu.falcusan@stoneone.de>

* Temporarily deactivate liquibase (#153)

* add checkstyle in poms for build (#155)

* add checkstyle in poms for build

* remove redundancy in sub poms and delete checkstyle.xml in sub directory

* Feature/add discussions (#154)

* refactor dependency between knowledge artifacts and discussion topics

* fix put operations for discussion topics and comments

* add controller tests

* add service tests and documentation

* remove unused import

* Jitpack (#156)

* Create jar for using the web module as a dependency

* Create jar and war

* build web/jar with profiles

* Create jar and war

* Create jar and war

* Create jar and war

* add jitpack.yml and run with batch profile

* set profile to jar

* set profile to jar

* set packaging with env.variables

* delete profile

* delete install stage

* delete env.

* add custom environment variable

* add custom environment variable

* add custom environment variable

* Update jitpack.yml

* Update jitpack.yml

* Update jitpack.yml

* Update jitpack.yml

* test

* ./mvnw install -DskipTests -P jar

* change to mvn package

* change default properties

* change default properties

* change default properties

* delete jitpack.yml

* add jitpack and change default profile

* comment the custom install command

* maven install with jar profile

* change packaging type name

* delete commented lines

Co-authored-by: Christoph Krieger <christoph.krieger@stoneone.de>

* Fix docker setup (#157)

* Only activate CloudStorageConfiguration in google-cloud profile (#158)

* execute classifier with jar profile (#160)

* Jitpack (#164)

* modify classifier

* test

* classifier in profile

* test

* test

* add plugins into profiles

Co-authored-by: Christoph Krieger <krieger.christoph1@gmail.com>
Co-authored-by: Stefan Basaric <43963121+LHommeDeBat@users.noreply.github.com>
Co-authored-by: TGrosskopf <st160109@stud.uni-stuttgart.de>
Co-authored-by: Tim Niederhausen <timniederhausen@users.noreply.github.com>
Co-authored-by: T-Haller <32315230+T-Haller@users.noreply.github.com>
Co-authored-by: Christian Müller <dev@c-mueller.xyz>
Co-authored-by: Felix B <felix.burk@googlemail.com>
Co-authored-by: Tobias Haller <tobias_haller@outlook.de>
Co-authored-by: Christoph Krieger <christoph.krieger@stoneone.de>
Co-authored-by: Valentin Seifermann <ValeSayfa@t-online.de>
Co-authored-by: Tim Niederhausen <st144339@stud.uni-stuttgart.de>
Co-authored-by: Marie Salm <github@mielie.de>
Co-authored-by: Benjamin Weder <benjamin.weder@iaas.uni-stuttgart.de>

v1.0.0

04 Nov 09:42
0a73058
Compare
Choose a tag to compare
execute classifier with jar profile (#160)

v0.1.0- Initial Code Contribution

26 Jun 15:09
Compare
Choose a tag to compare
Pre-release

This is the initial code contribution.

Changed

  • Add initial knowledge artifact management
  • Add initial general discussion thread functionality