jazz-community / rtc-workitem-bulk-mover-service

RTC Web Service offering an API to move multiple Work items to a new Project Area at once.
MIT License
3 stars 2 forks source link

Support project areas with special characters in the name #6

Open kurtiyil opened 6 years ago

kurtiyil commented 6 years ago

Hi, I am trying to use it in CLM 6.0.2 with iFix014 and getting Assertion Failed error. I have seen that you already solved same issue but not sure same bug cause it.

2017-12-18 15:35:00,180 [http-bio-9443-exec-10 @@ 15:35 <Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36@15.100.5.81> /ccm/service/com.siemens.bt.jazz.services.WorkItemBulkMover.IWorkItemBulkMoverService/types] ERROR com.siemens.bt.jazz.services.WorkItemBulkMover - org.eclipse.core.runtime.AssertionFailedException: assertion failed: 2017-12-18 15:35:00,180 [http-bio-9443-exec-10 @@ 15:35 <Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36@15.100.5.81> /ccm/service/com.siemens.bt.jazz.services.WorkItemBulkMover.IWorkItemBulkMoverService/types] WARN com.siemens.bt.jazz.services.WorkItemBulkMover - Unhandled Exception org.eclipse.core.runtime.AssertionFailedException: assertion failed: at org.eclipse.core.runtime.Assert.isTrue(Assert.java:110) at org.eclipse.core.runtime.Assert.isTrue(Assert.java:96) at com.ibm.team.workitem.common.internal.ConfigurationItemManager.findCachedConfigurationItems(ConfigurationItemManager.java:56) at com.ibm.team.workitem.common.internal.WorkItemCommon.findCachedWorkItemTypes(WorkItemCommon.java:440) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56) at java.lang.reflect.Method.invoke(Method.java:620) at com.ibm.team.workitem.service.internal.ServiceAdapter.invoke(ServiceAdapter.java:75) at com.sun.proxy.$Proxy1845.findCachedWorkItemTypes(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56) at java.lang.reflect.Method.invoke(Method.java:620) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at com.sun.proxy.$Proxy1847.findCachedWorkItemTypes(Unknown Source) at com.siemens.bt.jazz.services.WorkItemBulkMover.bulkMover.helpers.WorkItemTypeHelpers.getWorkItemTypes(WorkItemTypeHelpers.java:28) at com.siemens.bt.jazz.services.WorkItemBulkMover.services.ProjectAreaTypeService.execute(ProjectAreaTypeService.java:44) at com.siemens.bt.jazz.services.base.BaseService.performAction(BaseService.java:78) at com.siemens.bt.jazz.services.base.BaseService.perform_GET(BaseService.java:48) at com.ibm.team.repository.service.TeamRawService.service(TeamRawService.java:84) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56) at java.lang.reflect.Method.invoke(Method.java:620) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at com.sun.proxy.$Proxy146.service(Unknown Source) at com.ibm.team.repository.servlet.AbstractTeamServerServlet.doRestService(AbstractTeamServerServlet.java:978) at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest2(AbstractTeamServerServlet.java:2527) at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest(AbstractTeamServerServlet.java:2322) at com.ibm.team.repository.servlet.AbstractTeamServerServlet.service(AbstractTeamServerServlet.java:1801) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180) at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:76) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:138) at com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:74) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at com.ibm.team.repository.server.servletbridge.BridgeFilter.processDelegate(BridgeFilter.java:165) at com.ibm.team.repository.server.servletbridge.BridgeFilter.doFilter(BridgeFilter.java:198) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:613) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:358) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1157) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:627) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:809)

innerjoin commented 6 years ago

Hi @kurtiyil, thank you for reporting this to us. From looking at the stack trace and into the code exceprt that seems to cause the exception, the service is unable to resolve the project area. To be able to help you best, could you give me a few hints about your installation?

  1. Which Release version of the Bulk Mover Service are you using?
  2. Did you use the Bulk Mover UI plug-in to invoke the service?
  3. What was the name of the target project area you have chosen?
  4. Are you using one of the predefined IBM templates (Scrum, SAFe) or do you have a highly customized process template?
kurtiyil commented 6 years ago

Hi @innerjoin I figured out two things;

  1. We applied iFix014 and I think it is a broken fix pack. It affected whole RTC very badly. It was fixed after being removed it.
  2. There are some Tukish characters in the project area names. After we remove those characters, your plugin works succesfully.

You can find my answers below.

  1. 1.2.0
  2. Yes
  3. For example "Güvenlik Sistemleri Araştırma" is not working but "Guvenlik Sistemleri Arastirma" is working
  4. Highly customized one. Thank you.
innerjoin commented 6 years ago

Thank you for the detailed answer. I'm quite sure that the Turkish characters have caused the application to fail, which should not happen. So I will do some tests and my site and see if I can provide a fix that will support special characters in the future.

innerjoin commented 6 years ago

@kurtiyil I tried this today by creating a project area named Güvenlik Sistemleri Araştırma and the bulk mover has worked for me. So Turkish characters do not seem to be a general issue. Do you still face the same issues with project areas that have special characters and if yes, in all browsers?

kurtiyil commented 6 years ago

@innerjoin I tried it today in our environment. I figured out that you can select the project areas that special Turkish character in it as a destination but there is an error in attribute mapping step. So it blocks you to move work items to other project areas. It also blocks to move work items if field against attribute has special Turkish character in it. We did all the test in Chrome. Thank you.

innerjoin commented 6 years ago

@kurtiyil Tried it again with all the points you have mentioned, but I'm still not able to reproduce a bad behavior: turkish_chars_working

Could you try the following:

innerjoin commented 6 years ago

@kurtiyil I've released 1.3.0 just the day before yesterday. May you try with this release instead of above mentioned 1.2.1?

innerjoin commented 6 years ago

@kurtiyil Sorry, I misunderstood your comment from march 5... Let me see if I can reproduce this if I have time soon...