Home > Java > body text

Unable to resolve method - Intellij

WBOY
Release: 2024-02-22 14:07:06
forward
1455 people have browsed it

php editor Yuzai introduces to you the topic of this article: Answers to frequently asked questions in Java programming. Today we will discuss one of the common problems in Intellij development environment: unable to resolve methods. During Java development, encountering a situation where a method cannot be resolved can be a headache, but in fact it is most likely just a minor problem. Next, we will provide you with a detailed analysis of the possible causes of this problem and provide solutions to help you program more smoothly.

Question content

Trying to figure out why I'm getting the "setobservationcode is neverused" error in the second method. The second snippet shows where the unit tests are used. With unit testing it gives me an "Unable to resolve method 'setobservationcode' in 'resourcehandler' error. I saw some people saying they solved the error by invalidating the cache and restarting but that didn't work for me .

public class ResourceHandlerTest extends TestCase {

    FhirContext ctx = null;
    IParser parser = null;

    // Other methods...

    public String getId(Resource resource) {
        if (resource.getIdElement() != null) {
            // Use IdType to extract the ID without additional details such as base URL or resource type.
            IdType idType = resource.getIdElement();
            return idType.getIdPart();
        } else {
            // Handle the case where the resource does not have an ID.
            return null; // Or throw an exception, depending on your requirements.
        }
    }

    public Observation setObservationCode(Observation observation, Coding coding) {
        if (observation.getCode() == null) {
            observation.setCode(new CodeableConcept().addCoding(coding));
        } else {
            observation.getCode().addCoding(coding);
        }
        return observation;
    }

    
public Observation setObservationCode(Observation observation, Coding coding) {
            if (observation.getCode() == null) {
                observation.setCode(new CodeableConcept().addCoding(coding));
            } else {
                observation.getCode().addCoding(coding);
            }
            return observation;
        }
    
      public Observation setObservationCode(Observation observation, String system, String code, String display) {
            System.out.println("Debug: Observation Before - " + observation);
    
            System.out.println("Debug: System - " + system);
            System.out.println("Debug: Code - " + code);
            System.out.println("Debug: Display - " + display);
    
            Coding coding = new Coding().setSystem(system).setCode(code).setDisplay(display);
    
            return setObservationCode(observation, coding);
        }

-----------------------------------------------------------------------------------------------

    public void testSetObservationCode() throws Exception {
            if (ctx == null) ctx = FhirContext.forR4();
            if (parser == null) parser = ctx.newJsonParser();
    
            String observationJsonFile = "src/resources/observation.json";
            String observationJson = "";
            try {
                observationJson = new String(Files.readAllBytes(Paths.get(observationJsonFile)));
            }
            catch (Exception e) { System.err.println("Failed to read observation.json file."); }
    
            Observation correctObservation = parser.parseResource(Observation.class, observationJson);
    
            ResourceHandler studentResourceHandler = new ResourceHandler();
    
            String expectedSystem = "http://example.com/system";
            String expectedCode = "12345";
            String expectedDisplay = "Test Code";
    
            Coding coding = new Coding().setSystem(expectedSystem).setCode(expectedCode).setDisplay(expectedDisplay);
            Observation modifiedObservation = studentResourceHandler.setObservationCode(correctObservation, coding);
    
            assertEquals(expectedSystem, modifiedObservation.getCode().getCodingFirstRep().getSystem());
            assertEquals(expectedCode, modifiedObservation.getCode().getCodingFirstRep().getCode());
            assertEquals(expectedDisplay, modifiedObservation.getCode().getCodingFirstRep().getDisplay());
    
        }
Copy after login

Workaround

You called the first method in your test, but not the second method.

The last line in the test, line 4, has 2 parameters, this is the first parameter. Therefore intellij cannot detect the use of the second one.

Observation modifiedObservation = studentResourceHandler.setObservationCode(correctObservation, coding);
Copy after login

Looking at the structure of the main code block, ideally you should call the second definition (with 4 parameters) which in turn calls another definition.

The above is the detailed content of Unable to resolve method - Intellij. For more information, please follow other related articles on the PHP Chinese website!

source:stackoverflow.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template