Hello! I would like to use Asqatasun API and i wonder if there is documentation about the functions that the API provides, so i can understand their functionality.
Hi @nivak91,
What do you mean by Asqatasun API ?
If you fork the project from github and look at the files there is a file named asqatasun-api (Asqatasun/engine/asqatasun-api) where you can find several java interfaces you can use that provide the asqatasun engine functionality for developers, but you can understand what each function of these interfaces does only by the name and i would like some more information of their usage.
Ok you talk about engine/asqatasun-api/
directory.
@koj can help you, but tell us what you trying to do?
engine/asqatasun-api/src/main/java/org/asqatasun βββ analyser βββ consolidator βββ contentadapter βββ contentloader βββ crawler βββ dialect βββ entity βββ exception βββ factory βββ nomenclatureloader βββ parameterization βββ processor βββ ruleimplementation βββ ruleimplementationloader βββ rules βββ scenarioloader βββ service βββ util
Iβm trying to use the API to make a simple program that will produce reports for a small number of given URLβs, and for a referential or some tests that i will give as an input, so i try to understand what each function does.
Hi @nivak91,
The branch you mention (rest-api
) is under heavy development. But if you feel a bit brave you may start using it
Here is an early seed of documentation of Rest-API.
Once you get into the Swagger-UI, things should be clearer. Feel free to ask questions !
Ξ€hanks a lot i appreciate the help. I will check these and probably come back with new questions!
Hi again @mfaure. I tried to follow the documentation instructions, so i changed my local branch to rest-api and i tried to build the project, but i get the following error:
[ERROR] The build could not read 1 project -> [Help 1] [ERROR] [ERROR] The project org.asqatasun:engine:4.1.0-SNAPSHOT (/home/vak/Asqatasun/engine/pom.xml) has 1 error [ERROR] 'modules.module[17]' specifies duplicate child module asqatasun-web @ line 32, column 17
Do you know what is wrong? Also i would like to ask you what exactly should i do for this instruction:βadjust SQL credentials (yes, do it, especially if you already had an Asqatasun before, change the DB name)β Which file and what exactly should i change? Thanks!
removes one of the two lines into /engine/pom.xml file
<module>asqatasun-web</module>
if successful compilation, you can do a pull request on Github.
the git squad has been contactedβ¦
i erased the line and i have a new error
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project asqatasun-web: Fatal error compiling: invalid target release: 1.8 -> [Help 1]
Hi @nivak91,
Can you tell us what is the result of the following command lines ?
java -version javac -version
I think this branch must be compiled with Java 8.
@mfaure thatβs right ?
but with java 8, I have another error.
I do this:
wget https://raw.githubusercontent.com/Asqatasun/Asqatasun/master/web-app/tgol-resources/src/main/resources/conf/asqatasun.conf cat asqatasun.conf | grep jdbc sed -i -e "s#\$SQL_SERVER_URL#localhost#" asqatasun.conf sed -i -e "s#\$USER#asqatasun#" asqatasun.conf sed -i -e "s#\$PASSWORD#asqatasun#" asqatasun.conf sed -i -e "s#\$DATABASE_NAME#asqatasun5api#" asqatasun.conf cat asqatasun.conf | grep jdbc mkdir -p /tmp/asqatasun5api/conf mv -v asqatasun.conf /tmp/asqatasun5api/conf/asqatasun.properties git clone git@github.com:Asqatasun/Asqatasun.git cd Asqatasun git checkout rest-api mvn -DconfDir=/tmp/asqatasun5api clean install
Iβve got the following error:
Error creating bean with name 'flyway' Unable to scan for SQL migrations in location: classpath:sql/automated/mainOnly ---------------------- 18:53:06.510 [main] INFO o.f.c.i.dbsupport.DbSupportFactory - Database: jdbc:mysql://localhost:3306/asqatasun5api?autoReconnect=true (MySQL 5.7) 18:53:06.527 [main] WARN o.s.w.c.s.GenericWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flyway' defined in class path resource [org/asqatasun/rest/config/PersistenceConfig.class]: Invocation of init method failed; nested exception is org.flywaydb.core.api.FlywayException: Unable to scan for SQL migrations in location: classpath:sql/automated/mainOnly 18:53:06.534 [main] ERROR o.s.boot.SpringApplication - Application startup failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flyway' defined in class path resource [org/asqatasun/rest/config/PersistenceConfig.class]: Invocation of init method failed; nested exception is org.flywaydb.core.api.FlywayException: Unable to scan for SQL migrations in location: classpath:sql/automated/mainOnly at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578)
I have another one problem. I try to get an audit with the following code:
AuditServiceImpl Test = new AuditServiceImpl();
ParameterDataServiceImpl param_service = new ParameterDataServiceImpl();
Set Set = param_service.getDefaultParameterSet();
Audit audit1 = Test.auditPage(βThe_URLβ, Set);
and i get: Exception in thread βmainβ java.lang.NullPointerException.
What could i do to get a parameter set?
Hi,
I think this problem is in relation with the previous one.
Flyway is supposed to initialize the database with all the expected default data.
The default parameter set is extracted/loaded from these data, but if there are missing, it cannot work.
Iβm currently working on this branch, but iβve been busy lately.
Hopefully, Iβll be able to get some time at the end of the next week to try to clean it up, and make it work.
Regards
Koj
Hi,
I think I understand your problem now.
The application is strongly coupled with Spring, which means itβs hard to instanciate βmanuallyβ a context.
Spring will help us to inject all the dependencies, on runtime, based on interfaces implementations loaded at this time.
By bypassing Spring to set-up the context, you have to fully manage and instanciate the dependencies.
It can be a good exercise to understand how the application works, but it can be long and painful You have to search all @service and @Component annotated classes, and instanciate them.
Then, the @Autowired occurrences in the code, and ensure the injection of the services.
The other solution is to wait a couple of weeks to give me some time to provide a clean version, and then, focus on the API defintion.
Regards
Koj
Ok thanks a lot @koj, please let me know when it is ready! For now
another issue occured. I had installed asqatasun and it worked properly and now i get http status 404 when trying to access http://localhost:8080/asqatasun/
β¦Any ideas?
Hi @nivak91
Could you create a new thread (as this subject will different) and add the relevant logs from /var/log/asqatasun/asqatasun.log
and /var/log/tomcat/catalina.out
.
Thanks in advance