Skip to content

Generated Service Cutter ERD Input not compatible with ServiceCutter #313

@Tarow

Description

@Tarow

I just wanted to get started with Context Mapper and Service Cutter and copied the example cml-file from here.

Generating the ERD file as JSON and uploading it to Service Cutter results in an error though. ServiceCutter can not read the generated file. Heres the generated ERD JSON and the corresponding log after uploading it to ServiceCutter:
ddd-sample.zip

The stacktrace:

servicecutter-engine-1  | javax.persistence.NonUniqueResultException: result returns more than one elements
servicecutter-engine-1  | 	at org.hibernate.jpa.internal.QueryImpl.getSingleResult(QueryImpl.java:505)
servicecutter-engine-1  | 	at org.hibernate.jpa.criteria.compile.CriteriaQueryTypeQueryAdapter.getSingleResult(CriteriaQueryTypeQueryAdapter.java:71)
servicecutter-engine-1  | 	at org.springframework.data.jpa.repository.query.JpaQueryExecution$SingleEntityExecution.doExecute(JpaQueryExecution.java:202)
servicecutter-engine-1  | 	at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:74)
servicecutter-engine-1  | 	at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:99)
servicecutter-engine-1  | 	at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:90)
servicecutter-engine-1  | 	at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:415)
servicecutter-engine-1  | 	at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:393)
servicecutter-engine-1  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
servicecutter-engine-1  | 	at org.springframework.data.repository.core.support.RepositoryFactorySupport$DefaultMethodInvokingMethodInterceptor.invoke(RepositoryFactorySupport.java:506)
servicecutter-engine-1  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
servicecutter-engine-1  | 	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
servicecutter-engine-1  | 	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
servicecutter-engine-1  | 	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
servicecutter-engine-1  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
servicecutter-engine-1  | 	at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136)
servicecutter-engine-1  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
servicecutter-engine-1  | 	at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodIntercceptor.invoke(CrudMethodMetadataPostProcessor.java:122)
servicecutter-engine-1  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
servicecutter-engine-1  | 	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
servicecutter-engine-1  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
servicecutter-engine-1  | 	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
servicecutter-engine-1  | 	at com.sun.proxy.$Proxy76.findByContextAndNameAndUserSystem(Unknown Source)
servicecutter-engine-1  | 	at ch.hsr.servicecutter.importer.ImportEndpoint.lambda$importERD$3(ImportEndpoint.java:153)
servicecutter-engine-1  | 	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
servicecutter-engine-1  | 	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
servicecutter-engine-1  | 	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
servicecutter-engine-1  | 	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
servicecutter-engine-1  | 	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
servicecutter-engine-1  | 	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
servicecutter-engine-1  | 	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
servicecutter-engine-1  | 	at ch.hsr.servicecutter.importer.ImportEndpoint.importERD(ImportEndpoint.java:153)
servicecutter-engine-1  | 	at ch.hsr.servicecutter.importer.ImportEndpoint$$FastClassBySpringCGLIB$$6abe024c.invoke(<generated>)
servicecutter-engine-1  | 	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
servicecutter-engine-1  | 	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:717)
servicecutter-engine-1  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
servicecutter-engine-1  | 	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
servicecutter-engine-1  | 	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
servicecutter-engine-1  | 	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
servicecutter-engine-1  | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
servicecutter-engine-1  | 	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653)
servicecutter-engine-1  | 	at ch.hsr.servicecutter.importer.ImportEndpoint$$EnhancerBySpringCGLIB$$2428e1ad.importERD(<generated>)
servicecutter-engine-1  | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
servicecutter-engine-1  | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
servicecutter-engine-1  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
servicecutter-engine-1  | 	at java.lang.reflect.Method.invoke(Method.java:498)
servicecutter-engine-1  | 	at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
servicecutter-engine-1  | 	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:151)
servicecutter-engine-1  | 	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:172)
servicecutter-engine-1  | 	at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:195)
servicecutter-engine-1  | 	at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:104)
servicecutter-engine-1  | 	at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:384)
servicecutter-engine-1  | 	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:342)
servicecutter-engine-1  | 	at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:101)
servicecutter-engine-1  | 	at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:271)
servicecutter-engine-1  | 	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
servicecutter-engine-1  | 	at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
servicecutter-engine-1  | 	at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
servicecutter-engine-1  | 	at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
servicecutter-engine-1  | 	at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
servicecutter-engine-1  | 	at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:297)
servicecutter-engine-1  | 	at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:254)
servicecutter-engine-1  | 	at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1030)
servicecutter-engine-1  | 	at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:377)
servicecutter-engine-1  | 	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:381)
servicecutter-engine-1  | 	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:344)
servicecutter-engine-1  | 	at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:221)
servicecutter-engine-1  | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
servicecutter-engine-1  | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
servicecutter-engine-1  | 	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
servicecutter-engine-1  | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
servicecutter-engine-1  | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
servicecutter-engine-1  | 	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
servicecutter-engine-1  | 	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
servicecutter-engine-1  | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
servicecutter-engine-1  | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
servicecutter-engine-1  | 	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:85)
servicecutter-engine-1  | 	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
servicecutter-engine-1  | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
servicecutter-engine-1  | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
servicecutter-engine-1  | 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
servicecutter-engine-1  | 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
servicecutter-engine-1  | 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
servicecutter-engine-1  | 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
servicecutter-engine-1  | 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
servicecutter-engine-1  | 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
servicecutter-engine-1  | 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
servicecutter-engine-1  | 	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
servicecutter-engine-1  | 	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
servicecutter-engine-1  | 	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521)
servicecutter-engine-1  | 	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478)
servicecutter-engine-1  | 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
servicecutter-engine-1  | 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
servicecutter-engine-1  | 	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
servicecutter-engine-1  | 	at java.lang.Thread.run(Thread.java:748)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions