package com.sonymusic.dx.persistence;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.sonymusic.dx.persistence.gras.Participant;
import com.sonymusic.dx.persistence.util.DxDatabaseUtil;

import jakarta.persistence.EntityManager;
import jakarta.persistence.Query;

public class AppTest {

	private static final Logger log = LoggerFactory.getLogger(AppTest.class);

	public static void main(String[] args) {

		System.out.println(convertString("p!nk AC$dc shakira fl"));
		// Create an EntityManagerFactory using the persistence unit defined in your
		// persistence.xml

		EntityManager em = null;
		try {

			// Create an EntityManager

			em = DxDatabaseUtil.getNewEntityManager();

			Participant participant = em.find(Participant.class, Long.parseLong(args[0]));

			if (participant != null) {
				System.out.println("participant ID: " + participant.getFullName());
				System.out.println("participant Name:" + participant.getParticipantNo());
			} else {
				System.out.println("Partcipant not found!");
			}

			// em.close();
		} finally {
			// em.close();
		}

	}

	public static String convertString(String input) {
		EntityManager em = null;
		try {
			em = DxDatabaseUtil.getNewEntityManager();
			String sql = "select smetools.string_translate_used_in_match(" + "'" + input + "') ";
			System.out.println(sql);
			Query query = em.createNativeQuery(sql);
			Object result = query.getSingleResult();
			if (result != null) {
				log.info("Input String: {} , Output String: {}", input, result.toString());
				return result.toString();
			} else
				return null;

		} finally {
			// log.error("Exception occured while converting the input for " + input);
			// return null;
		}
	}

}
