package com.vst.snippets;
import java.util.List;
import org.apache.log4j.BasicConfigurator;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.TransactionCallback;
import org.springframework.transaction.support.TransactionTemplate;
import com.vst.dto.BuildingFormDto;
import com.vst.dto.CustomerListItemDto;
import com.vst.dto.CustomersNavigationListDto;
import com.vst.model.ConstructionType;
import com.vst.model.ext.GeoClassificator;
import com.vst.model.ext.Organization;
import com.vst.service.impl.XmlGatewayManager;
public class CheckXmlGateway {
final XmlGatewayManager manager;
PlatformTransactionManager txManager;
public CheckXmlGateway(ApplicationContext context) {
manager =
(XmlGatewayManager) context.getBean("xmlGatewayManager");
txManager =
(PlatformTransactionManager) context.getBean("txManager");
}
public void testOrgList(){
@SuppressWarnings("unchecked")
List<CustomerListItemDto> orgList = (List<CustomerListItemDto>)
new TransactionTemplate(txManager).execute(new TransactionCallback() {
@Override
public Object doInTransaction(TransactionStatus arg0) {
long start = System.currentTimeMillis();
//manager.getGeoTree();
CustomersNavigationListDto res = manager.getCustomersForNavigationList();
List<CustomerListItemDto> qList = res.getCustomers();
long end = System.currentTimeMillis();
System.out.println("Work time:" + (end - start) );
return qList;
}
});
for (CustomerListItemDto dto : orgList){
System.out.println(dto.getCustomer());
//System.out.println(dto.getCustomer().getContacts().size());
System.out.println(dto.getOnlyContactsId());
}
}
public void testGeoCountryListQuery(){
@SuppressWarnings("unchecked")
List<GeoClassificator> orgList = (List<GeoClassificator>)
new TransactionTemplate(txManager).execute(new TransactionCallback() {
@Override
public Object doInTransaction(TransactionStatus arg0) {
long start = System.currentTimeMillis();
//manager.getGeoTree();
List<?> qList = manager.getCountryList();
long end = System.currentTimeMillis();
System.out.println("Work time:" + (end - start) );
return qList;
}
});
for (GeoClassificator dto : orgList){
System.out.println(dto.getRegionName());
}
}
public void testGeoProvinceListQuery(){
@SuppressWarnings("unchecked")
List<GeoClassificator> orgList = (List<GeoClassificator>)
new TransactionTemplate(txManager).execute(new TransactionCallback() {
@Override
public Object doInTransaction(TransactionStatus arg0) {
long start = System.currentTimeMillis();
//manager.getGeoTree();
GeoClassificator ancestor = new GeoClassificator();
ancestor.setId(2);
List<?> qList = manager.getCityListForAncestor(ancestor);
long end = System.currentTimeMillis();
System.out.println("Work time:" + (end - start) );
return qList;
}
});
for (GeoClassificator dto : orgList){
System.out.println(dto.getRegionName());
}
}
public void testBuildingFormQuery(){
@SuppressWarnings("unchecked")
BuildingFormDto buildForm = (BuildingFormDto)
new TransactionTemplate(txManager).execute(new TransactionCallback() {
@Override
public Object doInTransaction(TransactionStatus arg0) {
long start = System.currentTimeMillis();
//manager.getGeoTree();
BuildingFormDto qList = manager.getBuildingForForm(5);
long end = System.currentTimeMillis();
System.out.println("Work time:" + (end - start) );
return qList;
}
});
System.out.println(buildForm.getBuilding());
System.out.println(buildForm.getBuildingTypes());
}
public void testConstructionTypesQuery(){
@SuppressWarnings("unchecked")
List<ConstructionType> orgList = (List<ConstructionType>)
new TransactionTemplate(txManager).execute(new TransactionCallback() {
@Override
public Object doInTransaction(TransactionStatus arg0) {
long start = System.currentTimeMillis();
//manager.getGeoTree();
List<?> qList = manager.getDataForConstructionTypesView();
long end = System.currentTimeMillis();
System.out.println("Work time:" + (end - start) );
return qList;
}
});
for (ConstructionType dto : orgList){
System.out.println(dto.getFullName());
}
}
public static void main(String[] args) {
//BasicConfigurator.configure();
ApplicationContext context = new ClassPathXmlApplicationContext(
new String[]{"com/vst/snippets/snippetsContext-hibernate.xml"});
CheckXmlGateway gw = new CheckXmlGateway(context);
// gw.testOrgList();
// gw.testGeoCountryListQuery();
// gw.testGeoProvinceListQuery();
// gw.testBuildingFormQuery();
gw.testConstructionTypesQuery();
}
}