[ERROR] Unable to create symbol table for : /srv/jenkins_slave/workspace/GlassApps-SonarQube/governance-manager/core/RSDGlassDataMgmt/src/main/java/com/rsd/glass/core/datamgmt/impl/NodeMetadataUpdaterImpl.javajava.lang.ClassCastException: org.sonar.java.resolve.TypeVariableJavaType cannot be cast to org.sonar.java.resolve.ClassJavaType at org.sonar.java.resolve.JavaSymbol$TypeJavaSymbol.superTypes(JavaSymbol.java:413) at org.sonar.java.resolve.Resolve.getSamMethod(Resolve.java:1017) at org.sonar.java.resolve.Resolve.findSamMethodArgsRecursively(Resolve.java:987) at org.sonar.java.resolve.Resolve.findSamMethodArgs(Resolve.java:980) at org.sonar.java.resolve.Resolve.isAcceptableDeferredType(Resolve.java:637) at org.sonar.java.resolve.Resolve.isAcceptableType(Resolve.java:620) at org.sonar.java.resolve.Resolve.isArgumentsAcceptable(Resolve.java:611) at org.sonar.java.resolve.Resolve.selectBest(Resolve.java:537) at org.sonar.java.resolve.Resolve.lookupInScope(Resolve.java:503) at org.sonar.java.resolve.Resolve.findMethod(Resolve.java:474) at org.sonar.java.resolve.Resolve.findMethod(Resolve.java:487) at org.sonar.java.resolve.Resolve.findMethod(Resolve.java:487) at org.sonar.java.resolve.Resolve.findMethodByStrictThenLooseInvocation(Resolve.java:462) at org.sonar.java.resolve.Resolve.findMethod(Resolve.java:447) at org.sonar.java.resolve.Resolve.findMethod(Resolve.java:431) at org.sonar.java.resolve.TypeAndReferenceSolver.resolveMethodSymbol(TypeAndReferenceSolver.java:333) at org.sonar.java.resolve.TypeAndReferenceSolver.visitMethodInvocation(TypeAndReferenceSolver.java:229) at org.sonar.java.model.expression.MethodInvocationTreeImpl.accept(MethodInvocationTreeImpl.java:96) at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:43) at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitExpressionStatement(BaseTreeVisitor.java:101) at org.sonar.java.resolve.TypeAndReferenceSolver.visitExpressionStatement(TypeAndReferenceSolver.java:765) at org.sonar.java.model.statement.ExpressionStatementTreeImpl.accept(ExpressionStatementTreeImpl.java:65) at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:43) at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:37) at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitBlock(BaseTreeVisitor.java:85) at org.sonar.java.model.statement.BlockTreeImpl.accept(BlockTreeImpl.java:77) at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:43) at org.sonar.java.resolve.TypeAndReferenceSolver.visitMethod(TypeAndReferenceSolver.java:133) at org.sonar.java.model.declaration.MethodTreeImpl.accept(MethodTreeImpl.java:218) at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:43) at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:37) at org.sonar.java.resolve.TypeAndReferenceSolver.visitClass(TypeAndReferenceSolver.java:142) at org.sonar.java.model.declaration.ClassTreeImpl.accept(ClassTreeImpl.java:194) at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:43) at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:37) at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitCompilationUnit(BaseTreeVisitor.java:55) at org.sonar.java.resolve.SemanticModel.createFor(SemanticModel.java:63) at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:95) at org.sonar.java.ast.JavaAstScanner.simpleScan(JavaAstScanner.java:86) at org.sonar.java.ast.JavaAstScanner.scan(JavaAstScanner.java:63) at org.sonar.java.JavaSquid.scanSources(JavaSquid.java:119) at org.sonar.java.JavaSquid.scan(JavaSquid.java:113) at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:84) at org.sonar.scanner.sensor.SensorWrapper.analyse(SensorWrapper.java:53) at org.sonar.scanner.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:57) at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:49) at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:74) at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:175) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:143) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:128) at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:262) at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:257) at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:255) at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:255) at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:255) at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:247) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:143) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:128) at org.sonar.scanner.task.ScanTask.execute(ScanTask.java:47) at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:86) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:143) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:128) at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:118) at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:117) at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:63) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60) at com.sun.proxy.$Proxy25.execute(Unknown Source) at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:233) at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151) at org.sonarsource.scanner.maven.bootstrap.ScannerBootstrapper.execute(ScannerBootstrapper.java:77) at org.sonarsource.scanner.maven.SonarQubeMojo.execute(SonarQubeMojo.java:139) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286) at org.apache.maven.cli.MavenCli.main(MavenCli.java:197) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)/* * Copyright (c) 2009-2017 GlassIG SA and/or its affiliates. All rights reserved. * * This software and related documentation are provided under a license agreement containing * restrictions on use and disclosure and are protected by intellectual property laws. Except as * expressly permitted in your license agreement or allowed by law, you may not use, copy, * reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish * or display any part, in any form, or by any means. Reverse engineering, disassembly or * decompilation of this software, unless required by law for interoperability, is prohibited. The * information contained herein is subject to change without notice and is not warranted to be * error-free. If you find any errors, please report them to us in writing. * * This software and documentation may provide access to or information on content, products and * services from third parties. GlassIG SA and its affiliates are not responsible for and expressly * disclaim all warranties of any kind with respect to third-party content, products and services. * The only warranties for GlassIG or GlassIG affiliate company products and services are those that * are set forth in the express warranty statements accompanying such products and services, if any. * Should you have any question, please contact your local GlassIG office or distributor. */package com.rsd.glass.core.datamgmt.impl;
import java.util.ArrayList;import java.util.EnumSet;import java.util.List;
import org.dom4j.Element;
import com.rsd.glass.core.datamgmt.NodeXmlConstants;import com.rsd.glass.core.datamgmt.facade.IndexFacade;import com.rsd.glass.core.datamgmt.facade.NodeMetadataFacade;import com.rsd.glass.core.datamgmt.facade.exception.DataMgmtErrMsgConstants;import com.rsd.glass.core.datamgmt.facade.exception.DataMgmtException;import com.rsd.glass.core.datamgmt.impl.converters.NodeConverter;import com.rsd.glass.core.datamgmt.impl.data.AbstractNodeDAO;import com.rsd.glass.core.datamgmt.model.FilterCapabilities;import com.rsd.glass.core.datamgmt.model.nodes.AbstractNodeDTO;import com.rsd.glass.core.ddb.PersistenceConstants;import com.rsd.glass.core.utils.GlassException;
public class NodeMetadataUpdaterImpl implements NodeMetadataUpdater {
private final AbstractNodeDAO abstractNodeDAO; private final NodeMetadataFacade nodeMetadataFacade; private final IndexFacade indexFacade; private final NodeManager nodeManager; private final FilePlanSchemaBuilder filePlanSchemaBuilder; private final SecurityCategoryValuesCache securityCategoryValuesCache;
public NodeMetadataUpdaterImpl(final AbstractNodeDAO abstractNodeDAO, final NodeMetadataFacade nodeMetadataFacade, final IndexFacade indexFacade, final NodeManager nodeManager, final FilePlanSchemaBuilder filePlanSchemaBuilder, final SecurityCategoryValuesCache securityCategoryValuesCache) { this.abstractNodeDAO = abstractNodeDAO; this.nodeMetadataFacade = nodeMetadataFacade; this.indexFacade = indexFacade; this.nodeManager = nodeManager; this.filePlanSchemaBuilder = filePlanSchemaBuilder; this.securityCategoryValuesCache = securityCategoryValuesCache; }
@Override public List<AbstractNodeDTO> updateNodeMetadata(final AbstractNodeDTO nodeParentDto, final Element nodesDocument) throws GlassException {
final String categoryInfo = nodesDocument.attribute(NodeXmlConstants.CATEGORY_INFO) .getValue();
if (!categoryInfo.equals(NodeXmlConstants.ADDITIONAL_METADATA)) { return nodeManager.modifyNode(nodeParentDto, nodesDocument, Mode.UPDATE); }
// deal with it final List<AbstractNodeDTO> listNodeDTO = new ArrayList<>(); if (nodeParentDto == null) { throw new DataMgmtException(DataMgmtErrMsgConstants.ERR_CODES.ERR_PARENTNODEMANDAT); }
Element elemcodeElement; if ((elemcodeElement = nodesDocument.element(PersistenceConstants.FULLQUALIFIDEDCODE)) != null) { elemcodeElement.setText(nodeParentDto.getFullQualifiedcode()); } else { nodesDocument.addElement(PersistenceConstants.FULLQUALIFIDEDCODE) .setText(nodeParentDto.getFullQualifiedcode()); } // refactor this to make this class unit testable new MetaDataEventImpl(this.nodeMetadataFacade, indexFacade, filePlanSchemaBuilder).update(nodeParentDto, nodesDocument, filePlanSchemaBuilder.buildSchema(nodeParentDto, nodeParentDto.getNodeTypeEnum(), EnumSet.of(FilterCapabilities.VIEWABLE), true, false) .getMetadataSchemas()); securityCategoryValuesCache.clear(); abstractNodeDAO.update(NodeConverter.getInstance() .toBean(nodeParentDto)); listNodeDTO.add(nodeParentDto);
return listNodeDTO;
}
public SecurityCategoryValuesCache getSecurityCategoryValuesCache() { return securityCategoryValuesCache; }}
--
You received this message because you are subscribed to the Google Groups "SonarQube" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sonarqube+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sonarqube/04d10d38-4315-4706-bbab-e781e6c36cc7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Senior Developer
Hi Nicolas,I will try to reduce this to a small self contained reproducer by sincerely this is not a high priority for us. SO Ican say when I will be able to work on this. We have only two classes impacted by this issue on 5'000 classes..Regards