Initial integration of 2Pack from Robert Klein, please consider it in alpha stage
This commit is contained in:
parent
18cda4327a
commit
1b77e87a62
|
@ -0,0 +1,107 @@
|
|||
/******************************************************************************
|
||||
* Product: Adempiere ERP & CRM Smart Business Solution *
|
||||
* Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
|
||||
* This program is free software; you can redistribute it and/or modify it *
|
||||
* under the terms version 2 of the GNU General Public License as published *
|
||||
* by the Free Software Foundation. This program is distributed in the hope *
|
||||
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
|
||||
* See the GNU General Public License for more details. *
|
||||
* You should have received a copy of the GNU General Public License along *
|
||||
* with this program; if not, write to the Free Software Foundation, Inc., *
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
|
||||
* For the text or an alternative of this public license, you may reach us *
|
||||
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
|
||||
* or via info@compiere.org or http://www.compiere.org/license.html *
|
||||
*
|
||||
* Copyright (C) 2004 Marco LOMBARDO. lombardo@mayking.com
|
||||
* Contributor(s): __________________________________________
|
||||
*****************************************************************************/
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// Generic PO.
|
||||
// Used to insert/update data from a compieredata.xml file.
|
||||
|
||||
/*package ;*/ // TODO: add package.
|
||||
|
||||
// import for GenericPO
|
||||
import java.util.*;
|
||||
import java.sql.*;
|
||||
import java.math.*;
|
||||
import org.compiere.util.*;
|
||||
import org.compiere.model.*;
|
||||
|
||||
public class GenericPO extends PO {
|
||||
|
||||
//private Logger log = Logger.getCLogger(getClass());
|
||||
|
||||
/** Standard Constructor */
|
||||
public GenericPO (Properties ctx, int ID)
|
||||
{
|
||||
super (ctx, ID,null,null);
|
||||
}
|
||||
|
||||
/** Load Constructor */
|
||||
public GenericPO (Properties ctx, ResultSet rs)
|
||||
{
|
||||
super (ctx, 0, null, rs);
|
||||
}
|
||||
private int Table_ID = 0;
|
||||
|
||||
/** Load Meta Data */
|
||||
protected POInfo initPO (Properties ctx)
|
||||
{
|
||||
Table_ID = Integer.valueOf(ctx.getProperty("compieredataTable_ID")).intValue();
|
||||
//log.info("Table_ID: "+Table_ID);
|
||||
POInfo poi = POInfo.getPOInfo (ctx, Table_ID);
|
||||
return poi;
|
||||
}
|
||||
|
||||
public String toString()
|
||||
{
|
||||
StringBuffer sb = new StringBuffer ("GenericPO[Table=").append(""+Table_ID+",ID=").append(get_ID()).append("]");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public static final int AD_ORGTRX_ID_AD_Reference_ID=130;
|
||||
|
||||
/** Set Trx Organization.
|
||||
Performing or initiating organization */
|
||||
public void setAD_OrgTrx_ID (int AD_OrgTrx_ID)
|
||||
{
|
||||
if (AD_OrgTrx_ID == 0) set_Value ("AD_OrgTrx_ID", null);
|
||||
else
|
||||
set_Value ("AD_OrgTrx_ID", new Integer(AD_OrgTrx_ID));
|
||||
}
|
||||
/** Get Trx Organization.
|
||||
Performing or initiating organization */
|
||||
public int getAD_OrgTrx_ID()
|
||||
{
|
||||
Integer ii = (Integer)get_Value("AD_OrgTrx_ID");
|
||||
if (ii == null) return 0;
|
||||
return ii.intValue();
|
||||
}
|
||||
// setValue
|
||||
public void setValue(String columnName, Object value) {
|
||||
set_Value(columnName, value);
|
||||
}
|
||||
// setValueNoCheck
|
||||
public void setValueNoCheck(String columnName, Object value) {
|
||||
set_ValueNoCheck(columnName, value);
|
||||
}
|
||||
// setValue
|
||||
public void setValue(int index, Object value) {
|
||||
set_Value(index, value);
|
||||
}
|
||||
public void copyRS(PO From, PO To) {
|
||||
copyValues(From, To);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int get_AccessLevel() {
|
||||
// TODO Auto-generated method stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
} // GenericPO
|
||||
|
|
@ -0,0 +1,148 @@
|
|||
/******************************************************************************
|
||||
* Product: Adempiere ERP & CRM Smart Business Solution *
|
||||
* Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. *
|
||||
* This program is free software; you can redistribute it and/or modify it *
|
||||
* under the terms version 2 of the GNU General Public License as published *
|
||||
* by the Free Software Foundation. This program is distributed in the hope *
|
||||
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
|
||||
* See the GNU General Public License for more details. *
|
||||
* You should have received a copy of the GNU General Public License along *
|
||||
* with this program; if not, write to the Free Software Foundation, Inc., *
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
|
||||
* For the text or an alternative of this public license, you may reach us *
|
||||
* ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA *
|
||||
* or via info@compiere.org or http://www.compiere.org/license.html *
|
||||
*
|
||||
* Copyright (C) 2004 Marco LOMBARDO. lombardo@mayking.com
|
||||
* Contributor(s): 2005 Robert KLEIN. robeklein@gmail.com
|
||||
*****************************************************************************/
|
||||
|
||||
/*package ;*/ // TODO: add package.
|
||||
|
||||
import java.io.File;
|
||||
import javax.xml.parsers.SAXParserFactory;
|
||||
import javax.xml.parsers.SAXParser;
|
||||
import org.compiere.db.CConnection;
|
||||
import org.compiere.db.Database;
|
||||
import org.compiere.util.DB;
|
||||
import org.compiere.util.CLogger;
|
||||
import org.compiere.util.Ini;
|
||||
|
||||
import java.util.logging.*;
|
||||
|
||||
import org.compiere.util.*;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* PackIn Tool.
|
||||
*
|
||||
* @author: Marco LOMBARDO, lombardo@mayking.com
|
||||
* @author: Robert KLEIN. robeklein@hotmail.com
|
||||
*/
|
||||
public class PackIn {
|
||||
|
||||
/** Logger */
|
||||
private CLogger log = CLogger.getCLogger("PackIn");
|
||||
public static String m_UpdateMode = "false";
|
||||
public static String m_Database = "Oracle";
|
||||
/**
|
||||
* Uses PackInHandler to update AD.
|
||||
* @param fileName xml file to read
|
||||
* @return status message
|
||||
*/
|
||||
public String importXML (String fileName) {
|
||||
log.info("importXML:" + fileName);
|
||||
File in = new File (fileName);
|
||||
if (!in.exists()) {
|
||||
String msg = "File does not exist: " + fileName;
|
||||
log.info("importXML:" + msg);
|
||||
return msg;
|
||||
}
|
||||
try {
|
||||
log.info("starting");
|
||||
System.setProperty("javax.xml.parsers.SAXParserFactory",
|
||||
"org.apache.xerces.jaxp.SAXParserFactoryImpl");
|
||||
PackInHandler handler = new PackInHandler();
|
||||
SAXParserFactory factory = SAXParserFactory.newInstance();
|
||||
SAXParser parser = factory.newSAXParser();
|
||||
String msg = "Start Parser";
|
||||
log.info (msg);
|
||||
parser.parse(in, handler);
|
||||
msg = "End Parser";
|
||||
log.info (msg);
|
||||
return "OK.";
|
||||
}
|
||||
catch (Exception e) {
|
||||
log.log(Level.SEVERE,"importXML:", e);
|
||||
return e.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************
|
||||
*
|
||||
* @param args XMLfile host port db username password
|
||||
*/
|
||||
public static void main (String[] args) {
|
||||
if (args.length < 1) {
|
||||
System.out.println("Please give the file name to read as first parameter.");
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
String file = args[0];
|
||||
org.compiere.Adempiere.startup(true);
|
||||
|
||||
// globalqss - added argument 8 to generate system sequences
|
||||
if (args.length > 8 && args[8].equals(Ini.P_ADEMPIERESYS)) {
|
||||
System.out.println("**** WARNING: Working with system sequences " + Ini.P_ADEMPIERESYS + " ****");
|
||||
Ini.setProperty(Ini.P_ADEMPIERESYS, true);
|
||||
}
|
||||
|
||||
PackIn impXML = new PackIn();
|
||||
//org.compiere.Compiere.startupEnvironment(true);
|
||||
// Force connection if there are enough parameters. Else we work with Compiere.properties
|
||||
if (args.length >= 6) {
|
||||
//CConnection cc = CConnection.get("PostgreSQL", args[1], Integer.valueOf(args[2]).intValue(), args[5], args[3], args[4]);
|
||||
CConnection cc = CConnection.get();
|
||||
//System.out.println("DB Connect String1:"+cc.getDbName());
|
||||
impXML.m_Database = cc.getType();
|
||||
DB.setDBTarget(cc);
|
||||
}
|
||||
|
||||
//Level.OFF, Level.SEVERE, Level.WARNING, Level.INFO,
|
||||
//Level.CONFIG, Level.FINE, Level.FINER, Level.FINEST, Level.ALL
|
||||
|
||||
Level logLevel = Level.FINER;
|
||||
|
||||
switch(Integer.parseInt(args[6])){
|
||||
case 1: logLevel = Level.OFF;break;
|
||||
case 2: logLevel = Level.SEVERE;break;
|
||||
case 3: logLevel = Level.WARNING;break;
|
||||
case 4: logLevel = Level.INFO;break;
|
||||
case 5: logLevel = Level.CONFIG;break;
|
||||
case 6: logLevel = Level.FINE;break;
|
||||
case 7: logLevel = Level.FINER;break;
|
||||
case 8: logLevel = Level.FINEST;break;
|
||||
case 9: logLevel = Level.ALL;break;
|
||||
}
|
||||
CLogMgt.setLevel(logLevel);
|
||||
CLogMgt.setLoggerLevel(logLevel,null);
|
||||
|
||||
|
||||
|
||||
//impXML.setUpdateMode(args[7]);
|
||||
impXML.m_UpdateMode = args[7];
|
||||
impXML.importXML(file);
|
||||
|
||||
System.exit(0);
|
||||
} // main
|
||||
|
||||
} // PackageIn
|
||||
|
||||
// Marco LOMBARDO, 2004-08-20, Italy.
|
||||
// lombardo@mayking.com
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue