Subversion Repositories SmartDukaan

Rev

Rev 9262 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
9028 manish.sha 1
package in.shop2020.googleadwords.util;
2
 
3
import java.rmi.RemoteException;
4
import java.util.ArrayList;
5
import java.util.HashSet;
6
import java.util.List;
7
import java.util.Map;
8
import java.util.Set;
9
 
10
import org.apache.thrift.TException;
11
import org.apache.thrift.transport.TTransportException;
12
 
13
import adwords.axis.v201309.basicoperations.GetTextAds;
14
 
15
import in.shop2020.googleadwords.AdwordsAdGroup;
16
import in.shop2020.googleadwords.AdwordsAdGroupAd;
17
import in.shop2020.googleadwords.GoogleAdwordsService.Client;
18
import in.shop2020.googleadwords.GoogleAdwordsServiceException;
19
import in.shop2020.thrift.clients.AdwordsClient;
20
 
21
public class AdwordsSaholicTextAdsSync{
22
	public static void main(String[] args) {
23
		AdwordsClient adwordsServiceClient = null;
24
		try {
25
			adwordsServiceClient = new AdwordsClient();
26
		} catch (TTransportException e) {
27
			e.printStackTrace();
28
		}
29
		Client client = adwordsServiceClient.getClient();
30
		List<AdwordsAdGroup> adgroupList = null;
31
		try {
32
			adgroupList = client.getAllAdwordsAdGroups();
33
		} catch (GoogleAdwordsServiceException e) {
34
			e.printStackTrace();
35
		} catch (TException e) {
36
			e.printStackTrace();
37
		}
38
		List<AdwordsAdGroupAd> adgroupadList =null;
39
		try {
40
			adgroupadList = client.getAllAdwordsAdGroupAds();
41
		} catch (GoogleAdwordsServiceException e) {
42
			e.printStackTrace();
43
		} catch (TException e) {
44
			e.printStackTrace();
45
		}
46
		Set<Long> avaliableAdGroupSet = new HashSet<Long>();
47
		for(AdwordsAdGroupAd adgroupad : adgroupadList ){
48
			avaliableAdGroupSet.add(adgroupad.getAdgroupId());
49
		}
50
		System.out.println("Adgroup Size"+avaliableAdGroupSet.size());
51
		for(Long l : avaliableAdGroupSet){
52
			System.out.println(l);
53
		}
54
 
55
		List<Long> errorAdgroups = new ArrayList<Long>();
56
		for(int j=0;j<adgroupList.size();j++){//AdwordsAdGroup adgroup : adgroupList){
57
			AdwordsAdGroup adgroup = adgroupList.get(j);
58
			long adgroupId = adgroup.getAdgroupId();
59
			if(!avaliableAdGroupSet.contains((Long)adgroupId)){
60
				List<Map<String, String>> adgroupAdDataMainList = null;
61
				try {
62
					adgroupAdDataMainList = GetTextAds.runExample(adgroupId);
63
				} catch (Exception e) {
64
					e.printStackTrace();
65
					errorAdgroups.add(adgroupId);
66
					continue;
67
				} 
68
				for(int i=0;i<adgroupAdDataMainList.size();i++){
69
					Map<String,String> adgroupAdDataMap = adgroupAdDataMainList.get(i);
70
					if(adgroupAdDataMap!=null){
71
						System.out.println(adgroupAdDataMap.get("AdgroupId")+" "
72
								+adgroupAdDataMap.get("AdgroupAdId")+" "
73
								+adgroupAdDataMap.get("Headline")+ " "
74
								+adgroupAdDataMap.get("DisplayUrl")+" "
75
								+adgroupAdDataMap.get("Descrption1")+" "
76
								+adgroupAdDataMap.get("Descrption2")+" "
77
								+adgroupAdDataMap.get("Url"));
78
						AdwordsAdGroupAd adgroupad= new AdwordsAdGroupAd();						
79
						adgroupad.setAdgroupId(Long.parseLong(adgroupAdDataMap.get("AdgroupId")));
80
						adgroupad.setCampaignId(adgroup.getCampaignId());
81
						adgroupad.setAdgroupadId(Long.parseLong(adgroupAdDataMap.get("AdgroupAdId")));
82
						adgroupad.setHeadline(adgroupAdDataMap.get("Headline"));
83
						adgroupad.setDisplayUrl(adgroupAdDataMap.get("DisplayUrl"));
84
						adgroupad.setDescription1(adgroupAdDataMap.get("Descrption1"));
85
						adgroupad.setDescription2(adgroupAdDataMap.get("Descrption2"));
86
						adgroupad.setUrl(adgroupAdDataMap.get("Url"));
87
						try {
88
							client.addAdwordsAdGroupAd(adgroupad);
89
						} catch (GoogleAdwordsServiceException e) {
90
							e.printStackTrace();
91
						} catch (TException e) {
92
							e.printStackTrace();
93
						}
94
					}
95
				}
96
			}
97
		}
98
		System.out.println("$$$$$$$$$$$$$$$$$$ Error AdGroups List $$$$$$$$$$$$$$$$$$$$$$$$$");
99
		for(Long l : errorAdgroups){
100
			System.out.println(l);
101
		}
102
	}
103
}