public class org.apache.batchee.extras.jpa.JpaItemReader extends org.apache.batchee.extras.jpa.EntityManagerLocator implements jakarta.batch.api.chunk.ItemReader
{
private java.lang.String parameterProvider;
private java.lang.String namedQuery;
private java.lang.String query;
private java.lang.String pageSize;
private java.lang.String detachEntities;
private java.lang.String jpaTransaction;
private int page;
private int firstResult;
private org.apache.batchee.extras.locator.BeanLocator$LocatorInstance emProvider;
private org.apache.batchee.extras.locator.BeanLocator$LocatorInstance paramProvider;
private java.util.LinkedList items;
private boolean detach;
private boolean transaction;
public void <init>()
{
java.util.LinkedList v;
org.apache.batchee.extras.jpa.JpaItemReader v;
v := @this: org.apache.batchee.extras.jpa.JpaItemReader;
specialinvoke v.<org.apache.batchee.extras.jpa.EntityManagerLocator: void <init>()>();
v.<org.apache.batchee.extras.jpa.JpaItemReader: int page> = 10;
v.<org.apache.batchee.extras.jpa.JpaItemReader: int firstResult> = 0;
v.<org.apache.batchee.extras.jpa.JpaItemReader: org.apache.batchee.extras.locator.BeanLocator$LocatorInstance paramProvider> = null;
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>()>();
v.<org.apache.batchee.extras.jpa.JpaItemReader: java.util.LinkedList items> = v;
return;
}
public void open(java.io.Serializable) throws java.lang.Exception
{
org.apache.batchee.extras.jpa.JpaItemReader v;
org.apache.batchee.extras.locator.BeanLocator$LocatorInstance v, v;
int v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
boolean v, v;
org.apache.batchee.extras.locator.BeanLocator v;
java.io.Serializable v;
jakarta.batch.operations.BatchRuntimeException v;
v := @this: org.apache.batchee.extras.jpa.JpaItemReader;
v := @parameter: java.io.Serializable;
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: java.lang.String locator>;
v = staticinvoke <org.apache.batchee.extras.locator.BeanLocator$Finder: org.apache.batchee.extras.locator.BeanLocator get(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.batchee.extras.jpa.JpaItemReader: org.apache.batchee.extras.locator.BeanLocator$LocatorInstance findEntityManager()>();
v.<org.apache.batchee.extras.jpa.JpaItemReader: org.apache.batchee.extras.locator.BeanLocator$LocatorInstance emProvider> = v;
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: java.lang.String parameterProvider>;
if v == null goto label;
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: java.lang.String parameterProvider>;
v = interfaceinvoke v.<org.apache.batchee.extras.locator.BeanLocator: org.apache.batchee.extras.locator.BeanLocator$LocatorInstance newInstance(java.lang.Class,java.lang.String)>(class "Lorg/apache/batchee/extras/jpa/ParameterProvider;", v);
v.<org.apache.batchee.extras.jpa.JpaItemReader: org.apache.batchee.extras.locator.BeanLocator$LocatorInstance paramProvider> = v;
label:
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: java.lang.String pageSize>;
if v == null goto label;
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: java.lang.String pageSize>;
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: int page>;
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String,int)>(v, v);
v.<org.apache.batchee.extras.jpa.JpaItemReader: int page> = v;
label:
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: java.lang.String namedQuery>;
if v != null goto label;
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: java.lang.String query>;
if v != null goto label;
v = new jakarta.batch.operations.BatchRuntimeException;
specialinvoke v.<jakarta.batch.operations.BatchRuntimeException: void <init>(java.lang.String)>("a query should be provided");
throw v;
label:
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: java.lang.String detachEntities>;
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
v.<org.apache.batchee.extras.jpa.JpaItemReader: boolean detach> = v;
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: java.lang.String jpaTransaction>;
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
v.<org.apache.batchee.extras.jpa.JpaItemReader: boolean transaction> = v;
return;
}
public void close() throws java.lang.Exception
{
org.apache.batchee.extras.locator.BeanLocator$LocatorInstance v, v, v, v;
org.apache.batchee.extras.jpa.JpaItemReader v;
v := @this: org.apache.batchee.extras.jpa.JpaItemReader;
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: org.apache.batchee.extras.locator.BeanLocator$LocatorInstance emProvider>;
if v == null goto label;
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: org.apache.batchee.extras.locator.BeanLocator$LocatorInstance emProvider>;
virtualinvoke v.<org.apache.batchee.extras.locator.BeanLocator$LocatorInstance: void release()>();
label:
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: org.apache.batchee.extras.locator.BeanLocator$LocatorInstance paramProvider>;
if v == null goto label;
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: org.apache.batchee.extras.locator.BeanLocator$LocatorInstance paramProvider>;
virtualinvoke v.<org.apache.batchee.extras.locator.BeanLocator$LocatorInstance: void release()>();
label:
return;
}
public java.lang.Object readItem() throws java.lang.Exception
{
java.util.Collection v;
org.apache.batchee.extras.jpa.JpaItemReader v;
int v, v, v;
java.lang.Object v;
java.util.LinkedList v, v, v, v;
boolean v, v;
v := @this: org.apache.batchee.extras.jpa.JpaItemReader;
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: java.util.LinkedList items>;
v = virtualinvoke v.<java.util.LinkedList: boolean isEmpty()>();
if v == 0 goto label;
v = specialinvoke v.<org.apache.batchee.extras.jpa.JpaItemReader: java.util.Collection nextPage()>();
if v == null goto label;
v = interfaceinvoke v.<java.util.Collection: boolean isEmpty()>();
if v == 0 goto label;
label:
return null;
label:
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: java.util.LinkedList items>;
virtualinvoke v.<java.util.LinkedList: boolean addAll(java.util.Collection)>(v);
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: int firstResult>;
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: java.util.LinkedList items>;
v = virtualinvoke v.<java.util.LinkedList: int size()>();
v = v + v;
v.<org.apache.batchee.extras.jpa.JpaItemReader: int firstResult> = v;
label:
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: java.util.LinkedList items>;
v = virtualinvoke v.<java.util.LinkedList: java.lang.Object pop()>();
return v;
}
private java.util.Collection nextPage()
{
java.lang.Throwable v;
jakarta.persistence.EntityTransaction v, v, v;
org.apache.batchee.extras.jpa.JpaItemReader v;
jakarta.persistence.Query v, v;
org.apache.batchee.extras.locator.BeanLocator$LocatorInstance v, v, v, v, v;
int v, v;
java.lang.String v, v, v;
boolean v, v, v, v, v;
java.util.Iterator v;
java.util.List v;
jakarta.persistence.EntityManager v;
java.lang.Object v, v, v, v, v;
v := @this: org.apache.batchee.extras.jpa.JpaItemReader;
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: org.apache.batchee.extras.locator.BeanLocator$LocatorInstance emProvider>;
v = virtualinvoke v.<org.apache.batchee.extras.locator.BeanLocator$LocatorInstance: java.lang.Object getValue()>();
v = interfaceinvoke v.<org.apache.batchee.extras.jpa.EntityManagerProvider: jakarta.persistence.EntityManager newEntityManager()>();
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: boolean transaction>;
if v == 0 goto label;
v = interfaceinvoke v.<jakarta.persistence.EntityManager: jakarta.persistence.EntityTransaction getTransaction()>();
interfaceinvoke v.<jakarta.persistence.EntityTransaction: void begin()>();
label:
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: java.lang.String namedQuery>;
if v == null goto label;
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: java.lang.String namedQuery>;
v = interfaceinvoke v.<jakarta.persistence.EntityManager: jakarta.persistence.Query createNamedQuery(java.lang.String)>(v);
goto label;
label:
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: java.lang.String query>;
v = interfaceinvoke v.<jakarta.persistence.EntityManager: jakarta.persistence.Query createQuery(java.lang.String)>(v);
label:
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: int firstResult>;
v = interfaceinvoke v.<jakarta.persistence.Query: jakarta.persistence.Query setFirstResult(int)>(v);
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: int page>;
interfaceinvoke v.<jakarta.persistence.Query: jakarta.persistence.Query setMaxResults(int)>(v);
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: org.apache.batchee.extras.locator.BeanLocator$LocatorInstance paramProvider>;
if v == null goto label;
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: org.apache.batchee.extras.locator.BeanLocator$LocatorInstance paramProvider>;
v = virtualinvoke v.<org.apache.batchee.extras.locator.BeanLocator$LocatorInstance: java.lang.Object getValue()>();
interfaceinvoke v.<org.apache.batchee.extras.jpa.ParameterProvider: void setParameters(jakarta.persistence.Query)>(v);
label:
v = interfaceinvoke v.<jakarta.persistence.Query: java.util.List getResultList()>();
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: boolean detach>;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<jakarta.persistence.EntityManager: void detach(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: boolean transaction>;
if v == 0 goto label;
v = interfaceinvoke v.<jakarta.persistence.EntityManager: jakarta.persistence.EntityTransaction getTransaction()>();
interfaceinvoke v.<jakarta.persistence.EntityTransaction: void commit()>();
label:
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: org.apache.batchee.extras.locator.BeanLocator$LocatorInstance emProvider>;
v = virtualinvoke v.<org.apache.batchee.extras.locator.BeanLocator$LocatorInstance: java.lang.Object getValue()>();
interfaceinvoke v.<org.apache.batchee.extras.jpa.EntityManagerProvider: void release(jakarta.persistence.EntityManager)>(v);
return v;
label:
v := @caughtexception;
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: boolean transaction>;
if v == 0 goto label;
v = interfaceinvoke v.<jakarta.persistence.EntityManager: jakarta.persistence.EntityTransaction getTransaction()>();
interfaceinvoke v.<jakarta.persistence.EntityTransaction: void commit()>();
label:
v = v.<org.apache.batchee.extras.jpa.JpaItemReader: org.apache.batchee.extras.locator.BeanLocator$LocatorInstance emProvider>;
v = virtualinvoke v.<org.apache.batchee.extras.locator.BeanLocator$LocatorInstance: java.lang.Object getValue()>();
interfaceinvoke v.<org.apache.batchee.extras.jpa.EntityManagerProvider: void release(jakarta.persistence.EntityManager)>(v);
throw v;
catch java.lang.Throwable from label to label with label;
}
public java.io.Serializable checkpointInfo() throws java.lang.Exception
{
org.apache.batchee.extras.jpa.JpaItemReader v;
v := @this: org.apache.batchee.extras.jpa.JpaItemReader;
return null;
}
}