[
https://issues.apache.org/jira/browse/ACE-149?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13045617#comment-13045617
]
Karl Pauls commented on ACE-149:
--------------------------------
After looking into this a bit more I don't think there is an easy fix for it.
We seem to have failed to find a well working unique identity schema that we
apply consistently across our handling of artifacts. Unfortunately, this adds
up to the problem we see. In a nutshell, the ui uses the name of the artifact
as id, the artifact repo uses the url, the helpers some combinations out of
symbolic name, version, and url, and the obr does use a combination out of the
file name and the symbolic name and version. On top, this obviously only
applies to bundles and other artifacts are handled differently. So what happens
is that while a duplicated bundle gets added to the obr, you can't see it
afterwords in the repository.xml and worth, the ui will get it from the
artifact repo but as the name is the same it gets back a null from the table
lookup -- hence, the exception.
I assigned the issue to me for now and will try to come-up with a better way to
handle the identities and implement it. However, its going to take me while.
For now, there is a workaround namely, delete one of the jars from the "store"
folder that the obr uses to put the bundles in. That should make things work
again (again, i'll try to get back to this asap).
> Upload of two bundles with same bsn & version, but different jar name, breaks
> artifact column
> ---------------------------------------------------------------------------------------------
>
> Key: ACE-149
> URL: https://issues.apache.org/jira/browse/ACE-149
> Project: Ace
> Issue Type: Bug
> Components: Web UI
> Affects Versions: 0.8.0
> Reporter: Angelo van der Sijpt
> Assignee: Karl Pauls
>
> Scenario:
> - upload a bundle,
> - click 'store',
> - upload the same bundle, but with a different jar name,
> - click 'store', click 'retrieve'
> This 'breaks' the artifact column in such a way that no new bundles can be
> added anymore.
> com.vaadin.event.ListenerMethod$MethodException
> Cause: java.lang.NullPointerException
> at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)
> at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:162)
> at
> com.vaadin.ui.AbstractComponent.fireEvent(AbstractComponent.java:1166)
> at com.vaadin.ui.Button.fireClick(Button.java:380)
> at com.vaadin.ui.Button.changeVariables(Button.java:196)
> at
> com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariableBurst(AbstractCommunicationManager.java:1297)
> at
> com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariables(AbstractCommunicationManager.java:1217)
> at
> com.vaadin.terminal.gwt.server.AbstractCommunicationManager.doHandleUidlRequest(AbstractCommunicationManager.java:733)
> at
> com.vaadin.terminal.gwt.server.CommunicationManager.handleUidlRequest(CommunicationManager.java:296)
> at
> com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:483)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
> at
> org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.handle(HttpServiceServletHandler.java:64)
> at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> at
> org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.handle(HttpServiceContext.java:111)
> at
> org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:64)
> at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
> Caused by: java.lang.NullPointerException
> at
> org.apache.ace.webui.vaadin.VaadinClient$12.add(VaadinClient.java:587)
> at
> org.apache.ace.webui.vaadin.VaadinClient$12.populate(VaadinClient.java:560)
> at
> org.apache.ace.webui.vaadin.VaadinClient.updateTableData(VaadinClient.java:1047)
> at
> org.apache.ace.webui.vaadin.VaadinClient.access$1500(VaadinClient.java:128)
> at
> org.apache.ace.webui.vaadin.VaadinClient$9.buttonClick(VaadinClient.java:499)
> at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:490)
> ... 26 more
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira