Subversion Repositories SmartDukaan

Rev

Rev 9028 | Go to most recent revision | Details | Compare with Previous | 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;
9262 manish.sha 12
import org.slf4j.Logger;
13
import org.slf4j.LoggerFactory;
9028 manish.sha 14
 
15
import adwords.axis.v201309.basicoperations.GetTextAds;
16
 
17
import in.shop2020.googleadwords.AdwordsAdGroup;
18
import in.shop2020.googleadwords.AdwordsAdGroupAd;
19
import in.shop2020.googleadwords.GoogleAdwordsService.Client;
20
import in.shop2020.googleadwords.GoogleAdwordsServiceException;
21
import in.shop2020.thrift.clients.AdwordsClient;
22
 
9262 manish.sha 23
/*
24
 * Class AdwordsSaholicTextAdsSync - To Sync Text Ads between Google Adwords and our Database.
25
 */
26
 
9028 manish.sha 27
public class AdwordsSaholicTextAdsSync{
9262 manish.sha 28
	private static Logger logger = LoggerFactory.getLogger(AdwordsSaholicTextAdsSync.class);
29
 
9028 manish.sha 30
	public static void main(String[] args) {
31
		AdwordsClient adwordsServiceClient = null;
32
		try {
33
			adwordsServiceClient = new AdwordsClient();
34
		} catch (TTransportException e) {
35
			e.printStackTrace();
36
		}
37
		Client client = adwordsServiceClient.getClient();
38
		List<AdwordsAdGroup> adgroupList = null;
39
		try {
40
			adgroupList = client.getAllAdwordsAdGroups();
9262 manish.sha 41
		} catch (GoogleAdwordsServiceException e1) {
42
			System.out.println("Error while requesting All AdGroups Google Adwords Service.."+e1.getMessage());
43
			logger.error("Error while requesting All AdGroups Google Adwords Service.."+e1.getMessage());
44
		} catch (TException e1) {
45
			System.out.println("Error while getting All AdGroups Google Adwords Service.."+e1.getMessage());
46
			logger.error("Error while getting All AdGroups Google Adwords Service.."+e1.getMessage());
9028 manish.sha 47
		}
9262 manish.sha 48
		/*List<AdwordsAdGroupAd> adgroupadList =null;
9028 manish.sha 49
		try {
50
			adgroupadList = client.getAllAdwordsAdGroupAds();
51
		} catch (GoogleAdwordsServiceException e) {
52
			e.printStackTrace();
53
		} catch (TException e) {
54
			e.printStackTrace();
9262 manish.sha 55
		}*/
56
		/*Set<Long> avaliableAdGroupSet = new HashSet<Long>();
9028 manish.sha 57
		for(AdwordsAdGroupAd adgroupad : adgroupadList ){
58
			avaliableAdGroupSet.add(adgroupad.getAdgroupId());
59
		}
60
		System.out.println("Adgroup Size"+avaliableAdGroupSet.size());
61
		for(Long l : avaliableAdGroupSet){
62
			System.out.println(l);
9262 manish.sha 63
		}*/
9028 manish.sha 64
 
65
		List<Long> errorAdgroups = new ArrayList<Long>();
9262 manish.sha 66
		for(int j=0;j<adgroupList.size();j++){
9028 manish.sha 67
			AdwordsAdGroup adgroup = adgroupList.get(j);
68
			long adgroupId = adgroup.getAdgroupId();
9262 manish.sha 69
			/*if(!avaliableAdGroupSet.contains((Long)adgroupId)){*/
70
			List<Map<String, String>> adgroupAdDataMainList = null;
71
			try {
72
				adgroupAdDataMainList = GetTextAds.runExample(adgroupId);
73
			} catch (Exception e) {
74
				e.printStackTrace();
75
				errorAdgroups.add(adgroupId);
76
				continue;
77
			} 
78
			for(int i=0;i<adgroupAdDataMainList.size();i++){
79
				Map<String,String> adgroupAdDataMap = adgroupAdDataMainList.get(i);
80
				if(adgroupAdDataMap!=null){
81
					System.out.println(adgroupAdDataMap.get("AdgroupId")+" "
82
							+adgroupAdDataMap.get("AdgroupAdId")+" "
83
							+adgroupAdDataMap.get("Headline")+ " "
84
							+adgroupAdDataMap.get("DisplayUrl")+" "
85
							+adgroupAdDataMap.get("Descrption1")+" "
86
							+adgroupAdDataMap.get("Descrption2")+" "
87
							+adgroupAdDataMap.get("Url"));
88
					AdwordsAdGroupAd adgroupadDB = null;
89
					try {
90
						adgroupadDB = client.getAdwordsAdgroupAdByAdId(Long.parseLong(adgroupAdDataMap.get("AdgroupAdId")));
91
					} catch (NumberFormatException e1) {
92
						System.out.println(e1.getMessage());
93
					} catch (GoogleAdwordsServiceException e1) {
94
						System.out.println("Error while requesting TextAd Google Adwords Service.."+e1.getMessage());
95
						logger.error("Error while requesting TextAd Google Adwords Service.."+e1.getMessage());
96
					} catch (TException e1) {
97
						System.out.println("Error while getting TextAd Google Adwords Service.."+e1.getMessage());
98
						logger.error("Error while getting TextAd Google Adwords Service.."+e1.getMessage());
99
					}
100
					AdwordsAdGroupAd adgroupad= new AdwordsAdGroupAd();						
101
					adgroupad.setAdgroupId(Long.parseLong(adgroupAdDataMap.get("AdgroupId")));
102
					adgroupad.setCampaignId(adgroup.getCampaignId());
103
					adgroupad.setAdgroupadId(Long.parseLong(adgroupAdDataMap.get("AdgroupAdId")));
104
					adgroupad.setHeadline(adgroupAdDataMap.get("Headline"));
105
					adgroupad.setDisplayUrl(adgroupAdDataMap.get("DisplayUrl"));
106
					adgroupad.setDescription1(adgroupAdDataMap.get("Descrption1"));
107
					adgroupad.setDescription2(adgroupAdDataMap.get("Descrption2"));
108
					adgroupad.setUrl(adgroupAdDataMap.get("Url"));
109
					if(adgroupadDB!=null){
110
						adgroupad.setId(adgroupadDB.getId());
9028 manish.sha 111
						try {
9262 manish.sha 112
							client.updateAdwordsAdGroupAd(adgroupad);
113
						} catch (GoogleAdwordsServiceException e) {
114
							System.out.println("Error while Requesting Updation TextAd Google Adwords Service.."+e.getMessage());
115
							logger.error("Error while Requesting Updation TextAd Google Adwords Service.."+e.getMessage());
116
						} catch (TException e) {
117
							System.out.println("Error while Updating TextAd Google Adwords Service.."+e.getMessage());
118
							logger.error("Error while Updating TextAd Google Adwords Service.."+e.getMessage());
119
						}
120
					}
121
					else{
122
						try {
9028 manish.sha 123
							client.addAdwordsAdGroupAd(adgroupad);
124
						} catch (GoogleAdwordsServiceException e) {
9262 manish.sha 125
							System.out.println("Error while Requesting Addition TextAd Google Adwords Service.."+e.getMessage());
126
							logger.error("Error while Requesting Addition TextAd Google Adwords Service.."+e.getMessage());
9028 manish.sha 127
						} catch (TException e) {
9262 manish.sha 128
							System.out.println("Error while Adding TextAd Google Adwords Service.."+e.getMessage());
129
							logger.error("Error while Adding TextAd Google Adwords Service.."+e.getMessage());
9028 manish.sha 130
						}
131
					}
132
				}
133
			}
9262 manish.sha 134
 
9028 manish.sha 135
		}
136
		System.out.println("$$$$$$$$$$$$$$$$$$ Error AdGroups List $$$$$$$$$$$$$$$$$$$$$$$$$");
137
		for(Long l : errorAdgroups){
138
			System.out.println(l);
139
		}
140
	}
141
}