diff --git a/data/demo.mv.db b/data/demo.mv.db new file mode 100644 index 0000000000000000000000000000000000000000..f78ce8ed71107d2f014b4ad17fa6442e51935eed Binary files /dev/null and b/data/demo.mv.db differ diff --git a/data/demo.trace.db b/data/demo.trace.db new file mode 100644 index 0000000000000000000000000000000000000000..98069a2c9dac2fdce6f63d38ef9442323e5088c9 --- /dev/null +++ b/data/demo.trace.db @@ -0,0 +1,384 @@ +2025-03-10 12:48:34.491225+01:00 jdbc[13]: null +org.h2.message.DbException: Spojenie neuzatvorenĂ© aplikáciou bolo zrušenĂ© +The connection was not closed by the application and is garbage collected [90018-232] + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.jdbc.JdbcConnection.closeOld(JdbcConnection.java:217) + at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:134) + at org.h2.util.JdbcUtils.getConnection(JdbcUtils.java:291) + at org.h2.server.web.WebServer.getConnection(WebServer.java:811) + at org.h2.server.web.WebApp.login(WebApp.java:1038) + at org.h2.server.web.WebApp.process(WebApp.java:226) + at org.h2.server.web.WebApp.processRequest(WebApp.java:176) + at org.h2.server.web.JakartaWebServlet.doGet(JakartaWebServlet.java:129) + at org.h2.server.web.JakartaWebServlet.doPost(JakartaWebServlet.java:166) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1575) +Caused by: org.h2.jdbc.JdbcSQLNonTransientConnectionException: Spojenie neuzatvorenĂ© aplikáciou bolo zrušenĂ© +The connection was not closed by the application and is garbage collected [90018-232] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:690) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 47 more +2025-03-13 16:33:05.148207+01:00 database: wrong user or password; user: "SA" +org.h2.message.DbException: Nesprávne pouĹľĂvateÄľskĂ© meno alebo heslo +Wrong user name or password [28000-232] + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.message.DbException.get(DbException.java:188) + at org.h2.engine.Engine.openSession(Engine.java:154) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:344) + at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:124) + at org.h2.util.JdbcUtils.getConnection(JdbcUtils.java:291) + at org.h2.server.web.WebServer.getConnection(WebServer.java:811) + at org.h2.server.web.WebApp.login(WebApp.java:1038) + at org.h2.server.web.WebApp.process(WebApp.java:226) + at org.h2.server.web.WebApp.processRequest(WebApp.java:176) + at org.h2.server.web.JakartaWebServlet.doGet(JakartaWebServlet.java:129) + at org.h2.server.web.JakartaWebServlet.doPost(JakartaWebServlet.java:166) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1575) +Caused by: org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Nesprávne pouĹľĂvateÄľskĂ© meno alebo heslo +Wrong user name or password [28000-232] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:522) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 50 more +2025-03-13 17:08:12.460654+01:00 database: flush +org.h2.message.DbException: Všeobecná chyba: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/elidr/pdf-processor/data/demo.mv.db [2.3.232/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/elidr/pdf-processor/data/demo.mv.db [2.3.232/7]" [50000-232] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.<init>(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.<init>(Store.java:133) + at org.h2.engine.Database.<init>(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:344) + at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:124) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:137) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:360) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:202) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:461) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:550) + at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:98) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:111) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.getConnectionUrl(H2ConsoleAutoConfiguration.java:94) + at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215) + at java.base/java.util.ArrayList.forEach(ArrayList.java:1597) + at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395) + at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:261) + at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:261) + at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:571) + at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560) + at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:636) + at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:291) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:656) + at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:662) + at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:667) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.logDataSources(H2ConsoleAutoConfiguration.java:86) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.lambda$h2Console$0(H2ConsoleAutoConfiguration.java:69) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.withThreadContextClassLoader(H2ConsoleAutoConfiguration.java:78) + at org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration.h2Console(H2ConsoleAutoConfiguration.java:69) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.lambda$instantiate$0(SimpleInstantiationStrategy.java:171) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiateWithFactoryMethod(SimpleInstantiationStrategy.java:88) + at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:168) + at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) + at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:645) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1351) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1181) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:288) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:204) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:211) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:202) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:97) + at org.springframework.boot.web.servlet.ServletContextInitializerBeans.<init>(ServletContextInitializerBeans.java:86) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:266) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:240) + at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:52) + at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4426) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:148) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749) + at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:772) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203) + at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) + at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) + at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:148) + at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749) + at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:203) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) + at org.apache.catalina.core.StandardService.startInternal(StandardService.java:415) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) + at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:870) + at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) + at org.apache.catalina.startup.Tomcat.start(Tomcat.java:437) + at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:128) + at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:107) + at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:516) + at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:222) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:188) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:162) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:621) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) + at com.dre0059.articleprocessor.ArticleProcessorApplication.main(ArticleProcessorApplication.java:10) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Všeobecná chyba: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/elidr/pdf-processor/data/demo.mv.db [2.3.232/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/elidr/pdf-processor/data/demo.mv.db [2.3.232/7]" [50000-232] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 98 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: C:/Users/elidr/pdf-processor/data/demo.mv.db [2.3.232/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.<init>(MVStore.java:286) + ... 92 more +2025-03-13 17:08:13.866697+01:00 database: flush +org.h2.message.DbException: Všeobecná chyba: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/elidr/pdf-processor/data/demo.mv.db [2.3.232/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/elidr/pdf-processor/data/demo.mv.db [2.3.232/7]" [50000-232] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.<init>(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.<init>(Store.java:133) + at org.h2.engine.Database.<init>(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:344) + at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:124) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:137) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:360) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:202) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:461) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:550) + at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:98) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:111) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:126) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:467) + at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:61) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.getJdbcEnvironmentUsingJdbcMetadata(JdbcEnvironmentInitiator.java:320) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:129) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:81) + at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:130) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:238) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:215) + at org.hibernate.boot.model.relational.Database.<init>(Database.java:45) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.getDatabase(InFlightMetadataCollectorImpl.java:226) + at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:194) + at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:171) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1431) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1502) + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:419) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:400) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1849) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1798) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:288) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:204) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:970) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) + at com.dre0059.articleprocessor.ArticleProcessorApplication.main(ArticleProcessorApplication.java:10) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Všeobecná chyba: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/elidr/pdf-processor/data/demo.mv.db [2.3.232/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/elidr/pdf-processor/data/demo.mv.db [2.3.232/7]" [50000-232] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 60 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: C:/Users/elidr/pdf-processor/data/demo.mv.db [2.3.232/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.<init>(MVStore.java:286) + ... 54 more +2025-03-13 17:08:15.584424+01:00 database: flush +org.h2.message.DbException: Všeobecná chyba: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/elidr/pdf-processor/data/demo.mv.db [2.3.232/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/elidr/pdf-processor/data/demo.mv.db [2.3.232/7]" [50000-232] + at org.h2.message.DbException.get(DbException.java:212) + at org.h2.message.DbException.convert(DbException.java:407) + at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122) + at org.h2.mvstore.MVStore.handleException(MVStore.java:1546) + at org.h2.mvstore.MVStore.panic(MVStore.java:371) + at org.h2.mvstore.MVStore.<init>(MVStore.java:291) + at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035) + at org.h2.mvstore.db.Store.<init>(Store.java:133) + at org.h2.engine.Database.<init>(Database.java:326) + at org.h2.engine.Engine.openSession(Engine.java:92) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:344) + at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:124) + at org.h2.Driver.connect(Driver.java:59) + at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:137) + at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:360) + at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:202) + at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:461) + at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:550) + at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:98) + at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:111) + at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:126) + at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:467) + at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:46) + at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:39) + at org.hibernate.tool.schema.internal.exec.ImprovedExtractionContextImpl.getJdbcConnection(ImprovedExtractionContextImpl.java:63) + at org.hibernate.tool.schema.extract.spi.ExtractionContext.getQueryResults(ExtractionContext.java:43) + at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata(SequenceInformationExtractorLegacyImpl.java:39) + at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.initializeSequences(DatabaseInformationImpl.java:66) + at org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl.<init>(DatabaseInformationImpl.java:60) + at org.hibernate.tool.schema.internal.Helper.buildDatabaseInformation(Helper.java:185) + at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:93) + at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:280) + at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$5(SchemaManagementToolCoordinator.java:144) + at java.base/java.util.HashMap.forEach(HashMap.java:1430) + at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:141) + at org.hibernate.boot.internal.SessionFactoryObserverForSchemaExport.sessionFactoryCreated(SessionFactoryObserverForSchemaExport.java:37) + at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:35) + at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:324) + at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:463) + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1506) + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:66) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:419) + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:400) + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1849) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1798) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:288) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:204) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:970) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) + at com.dre0059.articleprocessor.ArticleProcessorApplication.main(ArticleProcessorApplication.java:10) +Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Všeobecná chyba: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/elidr/pdf-processor/data/demo.mv.db [2.3.232/7]" +General error: "org.h2.mvstore.MVStoreException: The file is locked: C:/Users/elidr/pdf-processor/data/demo.mv.db [2.3.232/7]" [50000-232] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:566) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) + ... 64 more +Caused by: org.h2.mvstore.MVStoreException: The file is locked: C:/Users/elidr/pdf-processor/data/demo.mv.db [2.3.232/7] + at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996) + at org.h2.mvstore.SingleFileStore.lockFileChannel(SingleFileStore.java:143) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:117) + at org.h2.mvstore.SingleFileStore.open(SingleFileStore.java:81) + at org.h2.mvstore.MVStore.<init>(MVStore.java:286) + ... 58 more +2025-03-25 14:29:19.298398+01:00 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntaktická chyba v SQL prĂkaze "drop table DOCUMENTS [*])" +Syntax error in SQL statement "drop table DOCUMENTS [*])"; SQL statement: +drop table DOCUMENTS ) [42000-232] diff --git a/pom.xml b/pom.xml index 6f43c062409d9d282334047fe9f250288a3a61c2..79d043137d000b5dcd29b2c1828547b86c33bf07 100644 --- a/pom.xml +++ b/pom.xml @@ -166,7 +166,6 @@ <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> <configuration> - <failOnError>false</failOnError> <annotationProcessorPaths> <path> diff --git a/script/docker-compose.yml b/script/docker-compose.yml new file mode 100644 index 0000000000000000000000000000000000000000..1d63b4f2ed4567b561d6022ed50bb7df0122f250 --- /dev/null +++ b/script/docker-compose.yml @@ -0,0 +1,18 @@ +services: + + grobid: + image: grobid/grobid:0.8.1 + ports: + - "8070:8070" + + db: + image: mysql + restart: always + environment: + MYSQL_USER: admin + MYSQL_ROOT_PASSWORD: admin + MYSQL_DATABASE: article-processor + volumes: + - ~/volumes/tmp/mysql-data:/var/lib/mysql + ports: + - "3306:3306" diff --git a/src/main/java/com/dre0059/articleprocessor/config/GrobidProperties.java b/src/main/java/com/dre0059/articleprocessor/config/GrobidProperties.java new file mode 100644 index 0000000000000000000000000000000000000000..0b4aab563c933cf3f7ca53118844905d9d05cff6 --- /dev/null +++ b/src/main/java/com/dre0059/articleprocessor/config/GrobidProperties.java @@ -0,0 +1,20 @@ +package com.dre0059.articleprocessor.config; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +@Configuration +@ConfigurationProperties(prefix = "grobid") +public class GrobidProperties { + + private String host; + + public void setHost(String host) { + this.host = host; + } + + public String getHost() { + return host; + } + +} diff --git a/src/main/java/com/dre0059/articleprocessor/dto/CategoryDto.java b/src/main/java/com/dre0059/articleprocessor/dto/CategoryDto.java new file mode 100644 index 0000000000000000000000000000000000000000..eb13e77a02c9805997d0120d79de6b671513ef92 --- /dev/null +++ b/src/main/java/com/dre0059/articleprocessor/dto/CategoryDto.java @@ -0,0 +1,13 @@ +package com.dre0059.articleprocessor.dto; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class CategoryDto { + + private String id; + private String name; + +} diff --git a/src/main/java/com/dre0059/articleprocessor/dto/DocumentContentDto.java b/src/main/java/com/dre0059/articleprocessor/dto/DocumentContentDto.java new file mode 100644 index 0000000000000000000000000000000000000000..d5546983af33e442e89504b59c641a35c5b3cdef --- /dev/null +++ b/src/main/java/com/dre0059/articleprocessor/dto/DocumentContentDto.java @@ -0,0 +1,22 @@ +package com.dre0059.articleprocessor.dto; + +public class DocumentContentDto { + private Long id; + private byte[] content; + + public byte[] getContent() { + return content; + } + + public void setContent(byte[] content) { + this.content = content; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } +} diff --git a/src/main/java/com/dre0059/articleprocessor/mapper/CategoryMapper.java b/src/main/java/com/dre0059/articleprocessor/mapper/CategoryMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..c85cbc84cbeb82bee921bc2e127d2e657591bfc1 --- /dev/null +++ b/src/main/java/com/dre0059/articleprocessor/mapper/CategoryMapper.java @@ -0,0 +1,17 @@ +package com.dre0059.articleprocessor.mapper; + +import com.dre0059.articleprocessor.dto.CategoryDto; +import com.dre0059.articleprocessor.model.Category; +import java.util.List; +import org.mapstruct.Mapper; + +@Mapper(componentModel = "spring") +public interface CategoryMapper { + + CategoryDto toCategoryDto(Category entity); + + Category toCategory(CategoryDto categoryDto); + + List<CategoryDto> toCategoryDtoList(List<Category> entities); + +} diff --git a/src/main/java/com/dre0059/articleprocessor/service/CategoryService.java b/src/main/java/com/dre0059/articleprocessor/service/CategoryService.java new file mode 100644 index 0000000000000000000000000000000000000000..6b79fc3d4077e0e2125bc077a7ab4ef5ff7eb596 --- /dev/null +++ b/src/main/java/com/dre0059/articleprocessor/service/CategoryService.java @@ -0,0 +1,27 @@ +package com.dre0059.articleprocessor.service; + +import com.dre0059.articleprocessor.dto.CategoryDto; +import com.dre0059.articleprocessor.mapper.CategoryMapper; +import com.dre0059.articleprocessor.repository.CategoryRepository; +import java.util.List; +import org.springframework.stereotype.Service; + +@Service +public class CategoryService { + + private final CategoryMapper categoryMapper; + private final CategoryRepository categoryRepository; + + public CategoryService(CategoryMapper categoryMapper, CategoryRepository categoryRepository) { + this.categoryMapper = categoryMapper; + this.categoryRepository = categoryRepository; + } + + public CategoryDto getCategory(String id) { + return categoryMapper.toCategoryDto(categoryRepository.findById(id).orElse(null)); + } + + public List<CategoryDto> getAll() { + return categoryMapper.toCategoryDtoList(categoryRepository.findAll()); + } +} diff --git a/src/main/resources/application-local.properties b/src/main/resources/application-local.properties new file mode 100644 index 0000000000000000000000000000000000000000..a0a54bf0204ff48e80acb4422bdfb50281501642 --- /dev/null +++ b/src/main/resources/application-local.properties @@ -0,0 +1 @@ +grobid.host=http://localhost:8070 \ No newline at end of file diff --git a/src/main/resources/application-mysql.properties b/src/main/resources/application-mysql.properties new file mode 100644 index 0000000000000000000000000000000000000000..fa0e8a471e8341a541a28b6c10131ffe3ced0949 --- /dev/null +++ b/src/main/resources/application-mysql.properties @@ -0,0 +1,13 @@ +server.port=8080 +spring.application.name=articleProcessor + +spring.jpa.hibernate.ddl-auto=update +spring.jpa.show-sql=true +spring.jpa.properties.hibernate.format_sql=true + +spring.thymeleaf.prefix=classpath:/templates/ +spring.thymeleaf.suffix=.html + +# Spring MVC for uploading PDF files +spring.servlet.multipart.max-file-size=5MB +spring.servlet.multipart.max-request-size=5MB diff --git a/src/main/resources/static/style.css b/src/main/resources/static/style.css new file mode 100644 index 0000000000000000000000000000000000000000..91f6fcf1710164bd84c931726e8004afe8e2e1e2 --- /dev/null +++ b/src/main/resources/static/style.css @@ -0,0 +1,69 @@ +body { + margin: 25px; + background: linear-gradient(black, black, gray); + color: white; + min-height: 100vh; + background-attachment: fixed; +} + +a{ + text-decoration: none; + color : white; +} + +a:visited{ + color : white; +} + +a:hover { + color: aquamarine; +} + +select { + background: rgba(1,1,1,0.8); + color : cadetblue; + border: 1px solid #595959; + margin: 15px; +} + +.title{ + text-align: center; +} + +h2{ + color : aquamarine; +} +button { + margin : 5px; +} +form{ + margin : 15px; +} +input{ + margin : 15px; +} + +/* RodiÄŤovskĂ˝ kontajner pre flexbox */ +#container { + display: flex; + justify-content: space-between; /* Rozdelenie priestoru medzi textom a PDF */ + align-items: flex-start; /* Zarovnanie na vrchnĂş ÄŤasĹĄ */ + gap: 20px; /* Medzera medzi textom a PDF */ +} + +/* Pre textovĂ© informácie a referencie */ +#text-container { + flex: 1; /* Text a referencie zabĂrajĂş všetok voÄľnĂ˝ priestor */ + padding: 20px; /* Trochu medzery medzi textom a PDF */ +} + +/* Pre PDF kontajner */ +#pdf-container { + width: 960px; /* Ĺ Ărka PDF kontajnera */ + height: 900px; /* Výška PDF kontajnera */ + border : none; +} + +table{ + margin-top : 0 !important; +} \ No newline at end of file