Project

General

Profile

Download (2.17 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
* Copyright (C) 2009 EDIT
4
* European Distributed Institute of Taxonomy 
5
* http://www.e-taxonomy.eu
6
* 
7
* The contents of this file are subject to the Mozilla Public License Version 1.1
8
* See LICENSE.TXT at the top of this package for the full license terms.
9
*/
10
package eu.etaxonomy.cdm.io.common;
11

    
12
import java.sql.ResultSet;
13
import java.sql.SQLException;
14

    
15
import org.apache.log4j.Logger;
16

    
17
import eu.etaxonomy.cdm.model.common.CdmBase;
18

    
19
/**
20
 * @author a.mueller
21
 * @author e.-m.lee
22
 * @date 17.02.2010
23
 *
24
 */
25
public abstract class DbExportBase<CONFIG extends IExportConfigurator, STATE extends ExportStateBase> extends CdmExportBase<CONFIG, STATE> {
26
	private static Logger logger = Logger.getLogger(DbExportBase.class);
27

    
28
//	protected abstract boolean doInvoke(BerlinModelExportState<BerlinModelExportConfigurator> state);
29
	
30
//	/* (non-Javadoc)
31
//	 * @see eu.etaxonomy.cdm.io.common.CdmIoBase#doInvoke(eu.etaxonomy.cdm.io.common.IImportConfigurator, eu.etaxonomy.cdm.api.application.CdmApplicationController, java.util.Map)
32
//	 */
33
//	protected boolean doInvoke(BerlinModelExportConfigurator config, 
34
//			Map<String, MapWrapper<? extends CdmBase>> stores){ 
35
//		BerlinModelExportState state = ((BerlinModelExportConfigurator)config).getState();
36
//		state.setConfig((BerlinModelExportConfigurator)config);
37
//		return doInvoke(state);
38
//	}
39
	
40
	protected boolean checkSqlServerColumnExists(Source source, String tableName, String columnName){
41
		String strQuery = "SELECT  Count(t.id) as n " +
42
				" FROM sysobjects AS t " +
43
				" INNER JOIN syscolumns AS c ON t.id = c.id " +
44
				" WHERE (t.xtype = 'U') AND " + 
45
				" (t.name = '" + tableName + "') AND " + 
46
				" (c.name = '" + columnName + "')";
47
		ResultSet rs = source.getResultSet(strQuery) ;		
48
		int n;
49
		try {
50
			rs.next();
51
			n = rs.getInt("n");
52
			return n>0;
53
		} catch (SQLException e) {
54
			e.printStackTrace();
55
			return false;
56
		}
57
		
58
	}
59
	
60
	public abstract Class<? extends CdmBase> getStandardMethodParameter();
61
	
62
	protected void doCount(int count, int modCount, String pluralString){
63
		if ((count % modCount ) == 0 && count!= 0 ){ logger.info(pluralString + " handled: " + (count));}
64
	}
65
}
(11-11/48)