konveyor / kai

Konveyor AI - static code analysis driven migration to new targets via Generative AI
Apache License 2.0
22 stars 24 forks source link

Java contents are being classified as python: 'guess_language()] - Code content classified as python' #214

Open jwmatthews opened 2 months ago

jwmatthews commented 2 months ago

I've been seeing intermittent output in logs of a Java example I'm working with being classified as python. I don't yet know how to reproduce this consistently I also don't think this is impacting any functionality right now.

This example is from the LLM returned response for updating https://github.com/konveyor-ecosystem/coolstore/blob/main/src/main/java/com/redhat/coolstore/model/ShoppingCart.java

DEBUG - 2024-06-27 12:04:03,023 - [    file_solution.py:24   -       guess_language()] - Code content classified as python
package com.redhat.coolstore.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import jakarta.enterprise.context.Dependent;

@Dependent
public class ShoppingCart implements Serializable {

    private static final long serialVersionUID = -1108043957592113528L;

    private double cartItemTotal;

    private double cartItemPromoSavings;

    private double shippingTotal;

    private double shippingPromoSavings;

    private double cartTotal;

    private List<ShoppingCartItem> shoppingCartItemList = new ArrayList<ShoppingCartItem>();

    public ShoppingCart() {

    }

    public List<ShoppingCartItem> getShoppingCartItemList() {
        return shoppingCartItemList;
    }

    public void setShoppingCartItemList(List<ShoppingCartItem> shoppingCartItemList) {
        this.shoppingCartItemList = shoppingCartItemList;
    }

    public void resetShoppingCartItemList() {
        shoppingCartItemList = new ArrayList<ShoppingCartItem>();
    }

    public void addShoppingCartItem(ShoppingCartItem sci) {

        if ( sci != null ) {

            shoppingCartItemList.add(sci);

        }

    }

    public boolean removeShoppingCartItem(ShoppingCartItem sci) {

        boolean removed = false;

        if ( sci != null ) {

            removed = shoppingCartItemList.remove(sci);

        }

        return removed;

    }

    public double getCartItemTotal() {
        return cartItemTotal;
    }

    public void setCartItemTotal(double cartItemTotal) {
        this.cartItemTotal = cartItemTotal;
    }

    public double getShippingTotal() {
        return shippingTotal;
    }

    public void setShippingTotal(double shippingTotal) {
        this.shippingTotal = shippingTotal;
    }

    public double getCartTotal() {
        return cartTotal;
    }

    public void setCartTotal(double cartTotal) {
        this.cartTotal = cartTotal;
    }

    public double getCartItemPromoSavings() {
        return cartItemPromoSavings;
    }

    public void setCartItemPromoSavings(double cartItemPromoSavings) {
        this.cartItemPromoSavings = cartItemPromoSavings;
    }

    public double getShippingPromoSavings() {
        return shippingPromoSavings;
    }

    public void setShippingPromoSavings(double shippingPromoSavings) {
        this.shippingPromoSavings = shippingPromoSavings;
    }

    @Override
    public String toString() {
        return "ShoppingCart [cartItemTotal=" + cartItemTotal
                + ", cartItemPromoSavings=" + cartItemPromoSavings
                + ", shippingTotal=" + shippingTotal
                + ", shippingPromoSavings=" + shippingPromoSavings
                + ", cartTotal=" + cartTotal + ", shoppingCartItemList="
                + shoppingCartItemList + "]";
    }
}
jwmatthews commented 2 months ago

Another example

DEBUG - 2024-06-28 15:16:30,138 - [ file_solution.py:23 - guess_language()] - Code content classified as python

package com.redhat.coolstore.utils;

import jakarta.enterprise.inject.Produces;
import jakarta.enterprise.inject.spi.InjectionPoint;
import java.util.logging.Logger;

public class Producers {

    Logger log = Logger.getLogger(Producers.class.getName());

    public Logger getLog(InjectionPoint injectionPoint) {
        return Logger.getLogger(injectionPoint.getMember().getDeclaringClass().getName());
    }

}

DEBUG - 2024-06-28 15:16:30,139 - [    file_solution.py:91   - parse_file_solution_content()] - Found single codeblock 
package com.redhat.coolstore.utils;

import jakarta.enterprise.inject.Produces;
import jakarta.enterprise.inject.spi.InjectionPoint;
import java.util.logging.Logger;

public class Producers {

    Logger log = Logger.getLogger(Producers.class.getName());

    public Logger getLog(InjectionPoint injectionPoint) {
        return Logger.getLogger(injectionPoint.getMember().getDeclaringClass().getName());
    }

}