diff --git a/migration/i8.2/oracle/202109171752_IDEMPIERE-4969.sql b/migration/i8.2/oracle/202109171752_IDEMPIERE-4969.sql
new file mode 100644
index 0000000000..d1ec3d3244
--- /dev/null
+++ b/migration/i8.2/oracle/202109171752_IDEMPIERE-4969.sql
@@ -0,0 +1,15 @@
+SET SQLBLANKLINES ON
+SET DEFINE OFF
+
+-- IDEMPIERE-4969 Clean non-working 2Pack Code for File and CodeSnippet
+-- Sep 17, 2021, 5:51:16 PM CEST
+UPDATE AD_Ref_List SET IsActive='N',Updated=TO_DATE('2021-09-17 17:51:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Ref_List_ID=50021
+;
+
+-- Sep 17, 2021, 5:51:35 PM CEST
+UPDATE AD_Ref_List SET Name='Code Snippet', Description='Replace a code snippet with in a file', IsActive='N',Updated=TO_DATE('2021-09-17 17:51:35','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Ref_List_ID=50029
+;
+
+SELECT register_migration_script('202109171752_IDEMPIERE-4969.sql') FROM dual
+;
+
diff --git a/migration/i8.2/postgresql/202109171752_IDEMPIERE-4969.sql b/migration/i8.2/postgresql/202109171752_IDEMPIERE-4969.sql
new file mode 100644
index 0000000000..d591e6afbe
--- /dev/null
+++ b/migration/i8.2/postgresql/202109171752_IDEMPIERE-4969.sql
@@ -0,0 +1,12 @@
+-- IDEMPIERE-4969 Clean non-working 2Pack Code for File and CodeSnippet
+-- Sep 17, 2021, 5:51:16 PM CEST
+UPDATE AD_Ref_List SET IsActive='N',Updated=TO_TIMESTAMP('2021-09-17 17:51:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Ref_List_ID=50021
+;
+
+-- Sep 17, 2021, 5:51:35 PM CEST
+UPDATE AD_Ref_List SET Name='Code Snippet', Description='Replace a code snippet with in a file', IsActive='N',Updated=TO_TIMESTAMP('2021-09-17 17:51:35','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Ref_List_ID=50029
+;
+
+SELECT register_migration_script('202109171752_IDEMPIERE-4969.sql') FROM dual
+;
+
diff --git a/org.adempiere.base/src/org/compiere/model/MPackageExpDetail.java b/org.adempiere.base/src/org/compiere/model/MPackageExpDetail.java
index 26309a56dd..d370bc4b39 100644
--- a/org.adempiere.base/src/org/compiere/model/MPackageExpDetail.java
+++ b/org.adempiere.base/src/org/compiere/model/MPackageExpDetail.java
@@ -87,8 +87,6 @@ public class MPackageExpDetail extends X_AD_Package_Exp_Detail
String type = getType();
if (TYPE_ApplicationOrModule.equals(type)) {
return getAD_Menu_ID();
- } else if (TYPE_CodeSnipit.equals(type)) {
- return 0;
} else if (TYPE_Data.equals(type)) {
return 0;
} else if (TYPE_DataSingle.equals(type)) {
diff --git a/org.adempiere.base/src/org/compiere/model/X_AD_Package_Exp_Detail.java b/org.adempiere.base/src/org/compiere/model/X_AD_Package_Exp_Detail.java
index 9047639eee..5e727cd86c 100644
--- a/org.adempiere.base/src/org/compiere/model/X_AD_Package_Exp_Detail.java
+++ b/org.adempiere.base/src/org/compiere/model/X_AD_Package_Exp_Detail.java
@@ -924,8 +924,6 @@ public class X_AD_Package_Exp_Detail extends PO implements I_AD_Package_Exp_Deta
public static final int TYPE_AD_Reference_ID=50004;
/** Workbench = B */
public static final String TYPE_Workbench = "B";
- /** File - Code or other = C */
- public static final String TYPE_File_CodeOrOther = "C";
/** Data = D */
public static final String TYPE_Data = "D";
/** Data Single = DS */
@@ -954,8 +952,6 @@ public class X_AD_Package_Exp_Detail extends PO implements I_AD_Package_Exp_Deta
public static final String TYPE_Reference = "REF";
/** Role = S */
public static final String TYPE_Role = "S";
- /** Code Snipit = SNI */
- public static final String TYPE_CodeSnipit = "SNI";
/** SQL Statement = SQL */
public static final String TYPE_SQLStatement = "SQL";
/** SQL Mandatory = SQM */
diff --git a/org.adempiere.pipo.handlers/plugin.xml b/org.adempiere.pipo.handlers/plugin.xml
index 2cefbfbe30..8a7493b201 100644
--- a/org.adempiere.pipo.handlers/plugin.xml
+++ b/org.adempiere.pipo.handlers/plugin.xml
@@ -8,10 +8,6 @@
class="org.adempiere.pipo2.handler.AdElementHandler"
id="AD_Element">
-
-
@@ -124,10 +120,6 @@
class="org.adempiere.pipo2.handler.TaskAccessElementHandler"
id="AD_Task_Access">
-
-
diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/CodeSnippetElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/CodeSnippetElementHandler.java
deleted file mode 100644
index a68a2cfff7..0000000000
--- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/CodeSnippetElementHandler.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/******************************************************************************
- * Product: Adempiere ERP & CRM Smart Business Solution *
- * Copyright (C) 1999-2006 Adempiere, 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. *
- *
- * Copyright (C) 2005 Robert Klein. robeklein@hotmail.com
- * Contributor(s): Low Heng Sin hengsin@avantz.com
- *****************************************************************************/
-package org.adempiere.pipo2.handler;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.logging.Level;
-
-import javax.xml.transform.sax.TransformerHandler;
-
-
-import org.compiere.Adempiere;
-import org.compiere.model.X_AD_Package_Imp_Backup;
-import org.compiere.model.X_AD_Package_Imp_Detail;
-
-import org.compiere.util.Env;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.AttributesImpl;
-
-import org.adempiere.pipo2.AbstractElementHandler;
-import org.adempiere.pipo2.CodeSnippetElementParameters;
-import org.adempiere.pipo2.Element;
-import org.adempiere.pipo2.PIPOContext;
-import org.adempiere.pipo2.PackOut;
-import org.adempiere.pipo2.PackoutItem;
-
-public class CodeSnippetElementHandler extends AbstractElementHandler {
-
- public void startElement(PIPOContext ctx, Element element) throws SAXException {
- String action = null;
- action = "Update";
- String releaseNumber = getStringValue(element, "ReleaseNo");
- //Check Release Number
- if(Adempiere.MAIN_VERSION.equals(releaseNumber)||releaseNumber.equals("all")){
- String sourceName = getStringValue(element, "filename");
- String targetDirectory = getStringValue(element, "filedir");
- String oldCode = getStringValue(element, "oldcode");
- String newCode = getStringValue(element, "newcode");
-
- InputStream source; // Stream for reading from the source file.
- OutputStream copy; // Stream for writing the copy.
-
- String packagePath=null;
- String sourcePath=null;
-
- //get adempiere-all directory
- try {
- packagePath = getPackageDirectory(ctx.ctx);
- File parentDirectory = new File(packagePath);
- while (!parentDirectory.getName().equals("packages")){
- parentDirectory = parentDirectory.getParentFile();
- }
- parentDirectory = parentDirectory.getParentFile();
- sourcePath = parentDirectory.getCanonicalPath();
- } catch (IOException e1) {
- System.out.println("Can't find adempiere-all directory.");
- }
-
- // Create backup directory if required
- File backupDir = new File(packagePath+File.separator+"backup"+File.separator);
- if (!backupDir.exists()){
- boolean success = (new File(packagePath+File.separator+"backup"+File.separator)).mkdirs();
- if (!success) {
- log.info("Backup directory creation failed");
- }
- }
-
- //Correct target directory for proper file seperator
- String fullDirectory = sourcePath+targetDirectory;
- String targetDirectoryModified=null;
- String fileDate = null;
- char slash1 = '\\';
- char slash2 = '/';
- if (File.separator.equals("/"))
- targetDirectoryModified = fullDirectory.replace(slash1,slash2);
- else
- targetDirectoryModified = fullDirectory.replace(slash2,slash1);
-
- File file = new File(targetDirectoryModified+sourceName);
- if (log.isLoggable(Level.INFO)) log.info(targetDirectoryModified+sourceName);
- //TODO: derived force from user parameter
- boolean force = true;
- // check to see if overwrites are allowed
- if (file.exists()) {
- if (!force) {
- System.out.println("Output file exists. Use the -f option to replace it.");
- return;
- }
- //backup file to package directory
- else {
- action = "Update";
- if (log.isLoggable(Level.INFO)) log.info("Target Backup:"+targetDirectoryModified+sourceName);
- source = OpenInputfile(targetDirectoryModified+sourceName);
- SimpleDateFormat formatter_file = new SimpleDateFormat("yyMMddHHmmssSSSSZ");
- Date today = new Date();
- fileDate = formatter_file.format(today);
- copy = OpenOutputfile(packagePath+File.separator+"backup"+File.separator+fileDate+"_"+sourceName);
- if (log.isLoggable(Level.INFO)) log.info("Source Backup:"+packagePath+File.separator+"backup"+File.separator+fileDate+"_"+sourceName);
- copyFile (source,copy);
- log.info("Backup Complete");
- }
- }
-
- int success = readReplace(targetDirectoryModified+sourceName, oldCode, newCode);
-
- X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, "codesnipit", sourceName, 0);
- // Record in log
- if (success != -1){
- try {
- logImportDetail (ctx, impDetail, 1, sourceName, 0, action);
- } catch (SAXException e) {
- if (log.isLoggable(Level.INFO)) log.info ("setfile:"+e);
- }
- }
- else{
- try {
- logImportDetail (ctx, impDetail, 0, sourceName, 0, action);
- } catch (SAXException e) {
- if (log.isLoggable(Level.INFO)) log.info ("setfile:"+e);
- }
- }
-
- //Record in transaction file
- X_AD_Package_Imp_Backup backup = new X_AD_Package_Imp_Backup(ctx.ctx, 0, getTrxName(ctx));
- backup.setAD_Org_ID(Env.getAD_Org_ID(ctx.ctx));
- backup.setAD_Package_Imp_ID(getPackageImpId(ctx.ctx));
- backup.setAD_Package_Imp_Org_Dir(targetDirectoryModified+sourceName );
- backup.setAD_Package_Imp_Bck_Dir(packagePath+File.separator+"backup"+File.separator+fileDate+"_"+sourceName);
- backup.saveEx();
-
- }
- }
-
-
- /**
- * Find and replace code
- *
- * @param file name
- * @param old string
- * @param new string
- *
- */
- public static int readReplace(String fname, String oldPattern, String replPattern){
- String line;
- StringBuilder sb = new StringBuilder();
-
- try {
-
- FileInputStream fis = new FileInputStream(fname);
- BufferedReader reader=new BufferedReader ( new InputStreamReader(fis));
- while((line = reader.readLine()) != null) {
- line = line.replaceAll(oldPattern, replPattern);
- System.err.println(line);
- sb.append(line+"\n");
- }
- reader.close();
- BufferedWriter out=new BufferedWriter ( new FileWriter(fname));
- out.write(sb.toString());
- out.close();
- }
- catch (Throwable e) {
- System.err.println("error replacing codesnipit "+e);
- return -1;
- }
- return 0;
- }
-
-
- public void endElement(PIPOContext ctx, Element element)
- throws SAXException {
- }
-
-
- public void create(PIPOContext pipoContext, TransformerHandler document)
- throws SAXException {
- String FileDir = Env.getContext(pipoContext.ctx, CodeSnippetElementParameters.DESTINATION_DIRECTORY);
- String FileName = Env.getContext(pipoContext.ctx, CodeSnippetElementParameters.DESTINATION_FILE_NAME);
- String OldCode = Env.getContext(pipoContext.ctx, CodeSnippetElementParameters.AD_Package_Code_Old);
- String NewCode = Env.getContext(pipoContext.ctx, CodeSnippetElementParameters.AD_Package_Code_New);
- String ReleaseNo = Env.getContext(pipoContext.ctx, CodeSnippetElementParameters.RELEASE_NO);
- AttributesImpl atts = new AttributesImpl();
- addTypeName(atts, "custom");
- createSnipitBinding(atts, FileDir, FileName, OldCode, NewCode, ReleaseNo);
- document.startElement("","","Code_Snipit",atts);
- document.endElement("","","Code_Snipit");
- }
-
- private AttributesImpl createSnipitBinding( AttributesImpl atts, String FileDir, String FileName, String OldCode, String NewCode, String ReleaseNo)
- {
- atts.clear();
- atts.addAttribute("","","filedir","CDATA",FileDir);
- atts.addAttribute("","","filename","CDATA",FileName);
- String preOldCode = OldCode.toString();
- String preNewCode = NewCode.toString();
- String modOldCode = preOldCode.replaceAll("\\$","\\\\\\$").replaceAll("\\.","\\\\.")
- .replaceAll("\\^","\\\\^").replaceAll("\\(","\\\\(").replaceAll("\\)","\\\\)")
- .replaceAll("\\[","\\\\[").replaceAll("\\/","\\\\/").replaceAll("\\+","\\\\+")
- .replaceAll("\\*","\\\\*").replaceAll("\\|","\\\\|");
- String modNewCode = preNewCode.replaceAll("\\$","\\\\\\$").replaceAll("\\.","\\\\.")
- .replaceAll("\\^","\\\\^").replaceAll("\\(","\\\\(").replaceAll("\\)","\\\\)")
- .replaceAll("\\[","\\\\[").replaceAll("\\/","\\\\/").replaceAll("\\+","\\\\+")
- .replaceAll("\\*","\\\\*").replaceAll("\\|","\\\\|");
- atts.addAttribute("","","oldcode","CDATA",modOldCode);
- atts.addAttribute("","","newcode","CDATA",modNewCode);
- atts.addAttribute("","","ReleaseNo","CDATA",ReleaseNo);
- return atts;
- }
-
- public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler,int recordId) throws Exception
- {
- PackoutItem detail = packout.getCurrentPackoutItem();
- Env.setContext(packout.getCtx().ctx, CodeSnippetElementParameters.DESTINATION_DIRECTORY, (String)detail.getProperty(CodeSnippetElementParameters.DESTINATION_DIRECTORY));
- Env.setContext(packout.getCtx().ctx, CodeSnippetElementParameters.DESTINATION_FILE_NAME, (String)detail.getProperty(CodeSnippetElementParameters.DESTINATION_FILE_NAME));
- Env.setContext(packout.getCtx().ctx, CodeSnippetElementParameters.AD_Package_Code_Old, (String)detail.getProperty(CodeSnippetElementParameters.AD_Package_Code_Old));
- Env.setContext(packout.getCtx().ctx, CodeSnippetElementParameters.AD_Package_Code_New, (String)detail.getProperty(CodeSnippetElementParameters.AD_Package_Code_New));
- Env.setContext(packout.getCtx().ctx, CodeSnippetElementParameters.RELEASE_NO, (String)detail.getProperty(CodeSnippetElementParameters.RELEASE_NO));
- this.create(packout.getCtx(), packoutHandler);
- packout.getCtx().ctx.remove(CodeSnippetElementParameters.DESTINATION_DIRECTORY);
- packout.getCtx().ctx.remove(CodeSnippetElementParameters.DESTINATION_FILE_NAME);
- packout.getCtx().ctx.remove(CodeSnippetElementParameters.AD_Package_Code_Old);
- packout.getCtx().ctx.remove(CodeSnippetElementParameters.AD_Package_Code_New);
- packout.getCtx().ctx.remove(CodeSnippetElementParameters.RELEASE_NO);
- }
-}
diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/DistFileElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/DistFileElementHandler.java
deleted file mode 100644
index e8074073e8..0000000000
--- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/DistFileElementHandler.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/******************************************************************************
- * Product: Adempiere ERP & CRM Smart Business Solution *
- * Copyright (C) 1999-2006 Adempiere, 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. *
- *
- * Copyright (C) 2005 Robert Klein. robeklein@hotmail.com
- * Contributor(s): Low Heng Sin hengsin@avantz.com
- *****************************************************************************/
-package org.adempiere.pipo2.handler;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.logging.Level;
-
-import javax.xml.transform.sax.TransformerHandler;
-
-import org.adempiere.pipo2.AbstractElementHandler;
-import org.adempiere.pipo2.Element;
-import org.adempiere.pipo2.PIPOContext;
-import org.adempiere.pipo2.PackOut;
-import org.adempiere.pipo2.PackoutItem;
-import org.compiere.Adempiere;
-import org.compiere.model.MPackageExp;
-import org.compiere.model.X_AD_Package_Exp_Detail;
-import org.compiere.model.X_AD_Package_Imp_Backup;
-import org.compiere.model.X_AD_Package_Imp_Detail;
-import org.compiere.util.Env;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.AttributesImpl;
-
-public class DistFileElementHandler extends AbstractElementHandler {
-
- String fileDest;
-
- public DistFileElementHandler()
- {
-
- }
-
- public DistFileElementHandler(String fileDest)
- {
- this.fileDest=fileDest;
- }
-
- public void startElement(PIPOContext ctx, Element element) throws SAXException {
- String action = null;
-
- String releaseNumber = getStringValue(element,"ReleaseNo");
- //Check Release Number
- if(releaseNumber==null||Adempiere.MAIN_VERSION.equals(releaseNumber)||releaseNumber.equals("all")){
- String fileName = getStringValue(element, "filename");
- String sourceDirectory = getStringValue(element, "sourceDirectory");
- String targetDirectory = getStringValue(element, "targetDirectory");
-
- action = "New";
- InputStream inputStream; // Stream for reading from the source file.
- OutputStream outputStream; // Stream for writing the copy.
-
- String packagePath=null;
- String adempiereSourcePath=null;
-
- //get adempiere-all directory
- try {
- packagePath = getPackageDirectory(ctx.ctx);
- File parentDirectory = new File(packagePath);
- while (!parentDirectory.getName().equals("packages")){
- parentDirectory = parentDirectory.getParentFile();
- }
- parentDirectory = parentDirectory.getParentFile();
- adempiereSourcePath = parentDirectory.getCanonicalPath();
- } catch (IOException e1) {
- System.out.println("Can't find adempiere-all directory.");
- }
-
-
- // Create backup directory if required
- File backupDir = new File(packagePath+File.separator+"backup"+File.separator);
- if (!backupDir.exists()){
- boolean success = (new File(packagePath+File.separator+"backup"+File.separator)).mkdirs();
- if (!success) {
- log.info("Backup directory creation failed");
- }
- }
-
- //Correct target directory for proper file seperator
- String fullTargetPath = adempiereSourcePath+targetDirectory;
- char slash1 = '\\';
- char slash2 = '/';
- if (File.separator.equals("/"))
- fullTargetPath = fullTargetPath.replace(slash1,slash2);
- else
- fullTargetPath = fullTargetPath.replace(slash2,slash1);
-
- File file = new File(fullTargetPath+fileName);
- //TODO: derive force from user parameter
- boolean force = true;
- String fileDate = null;
- //check to see if overwrites are allowed
- if (file.exists())
- {
- if (!force) {
- System.out.println(
- "Output file exists. Use the -f option to replace it.");
- return;
- }
- //backup file to package directory
- else {
- action = "Update";
- if (log.isLoggable(Level.INFO)) log.info("Target Backup:"+fullTargetPath+fileName);
- inputStream = OpenInputfile(fullTargetPath+fileName);
- SimpleDateFormat formatter_file = new SimpleDateFormat("yyMMddHHmmssSSSSZ");
- Date today = new Date();
- fileDate = formatter_file.format(today);
- outputStream = OpenOutputfile(packagePath+File.separator+"backup"+File.separator+fileDate+"_"+fileName);
- if (log.isLoggable(Level.INFO)) log.info("Source Backup:"+packagePath+File.separator+"backup"+File.separator+fileDate+"_"+fileName);
- copyFile (inputStream, outputStream);
- log.info("Backup Complete");
- }
- }
-
-// Correct dist directory for proper file seperator
- String fullSourcePath=null;
- if (File.separator.equals("/"))
- fullSourcePath = sourceDirectory.replace(slash1,slash2);
- else
- fullSourcePath = sourceDirectory.replace(slash2,slash1);
- inputStream = OpenInputfile(packagePath+fullSourcePath+fileName);
-
-// Create Target directory if required
- File targetDir = new File(fullTargetPath);
- if (!targetDir.exists()){
- boolean success = (new File(fullTargetPath)).mkdirs();
- if (!success) {
- log.info("Target directory creation failed");
- }
- }
- outputStream = OpenOutputfile(fullTargetPath+fileName);
- //Copy File
- int success = copyFile (inputStream,outputStream);
- //Record in log
- X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, "file", fileName, 0);
- if (success != -1){
- try {
- logImportDetail (ctx, impDetail, 1, fileName, 0, action);
- } catch (SAXException e) {
- if (log.isLoggable(Level.INFO)) log.info ("setfile:"+e);
- }
- }
- else{
- try {
- logImportDetail (ctx, impDetail, 0, fileName, 0, action);
- } catch (SAXException e) {
- if (log.isLoggable(Level.INFO)) log.info ("setfile:"+e);
- }
- }
- //Record in transaction file
- X_AD_Package_Imp_Backup backup = new X_AD_Package_Imp_Backup(ctx.ctx, 0, getTrxName(ctx));
- backup.setAD_Org_ID(Env.getAD_Org_ID(ctx.ctx));
- backup.setAD_Package_Imp_Org_Dir(fullTargetPath+fileName);
- backup.setAD_Package_Imp_Bck_Dir(packagePath+File.separator+"backup"+File.separator+fileDate+"_"+fileName);
- backup.setAD_Package_Imp_ID(getPackageImpId(ctx.ctx));
- backup.saveEx();
-
- }
- }
-
- public void endElement(PIPOContext ctx, Element element) throws SAXException {
- }
-
- public void create(PIPOContext ctx, TransformerHandler document)
- throws SAXException {
- String FileName = Env.getContext(ctx.ctx, X_AD_Package_Exp_Detail.COLUMNNAME_FileName);
- String Source_Directory = Env.getContext(ctx.ctx, "Source_Directory");
- String Target_Directory = Env.getContext(ctx.ctx, X_AD_Package_Exp_Detail.COLUMNNAME_Target_Directory);
- String ReleaseNo = Env.getContext(ctx.ctx, X_AD_Package_Exp_Detail.COLUMNNAME_ReleaseNo);
- AttributesImpl atts = new AttributesImpl();
- addTypeName(atts, "custom");
- document.startElement("","","Dist_File",atts);
- addTextProperty(document,"filename",FileName);
- addTextProperty(document,"sourceDirectory",Source_Directory);
- addTextProperty(document,"targetDirectory",Target_Directory);
- addTextProperty(document,"ReleaseNo",ReleaseNo);
- atts.addAttribute("","","ReleaseNo","CDATA",ReleaseNo);
- document.endElement("","","Dist_File");
- }
-
- public void doPackout(PackOut packout, MPackageExp header, PackoutItem detail,TransformerHandler packOutDocument,TransformerHandler packageDocument,AttributesImpl atts,int recordId) throws Exception
- {
- Env.setContext(packout.getCtx().ctx, X_AD_Package_Exp_Detail.COLUMNNAME_FileName, (String)detail.getProperty("FileName"));
- Env.setContext(packout.getCtx().ctx, X_AD_Package_Exp_Detail.COLUMNNAME_ReleaseNo, (String)detail.getProperty("ReleaseNo"));
- Env.setContext(packout.getCtx().ctx, X_AD_Package_Exp_Detail.COLUMNNAME_Target_Directory, (String)detail.getProperty("TargetDirectory"));
- Env.setContext(packout.getCtx().ctx, "Source_Directory", fileDest);
- this.create(packout.getCtx(), packOutDocument);
- packout.getCtx().ctx.remove(X_AD_Package_Exp_Detail.COLUMNNAME_FileName);
- packout.getCtx().ctx.remove(X_AD_Package_Exp_Detail.COLUMNNAME_ReleaseNo);
- packout.getCtx().ctx.remove(X_AD_Package_Exp_Detail.COLUMNNAME_Target_Directory);
- packout.getCtx().ctx.remove("Source_Directory");
- }
-
- @Override
- public void packOut(PackOut packout, TransformerHandler packoutHandler,
- TransformerHandler docHandler,
- int recordId) throws Exception {
- }
-}
diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/FileElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/FileElementHandler.java
deleted file mode 100644
index 48b15cf8d0..0000000000
--- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/FileElementHandler.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.adempiere.pipo2.handler;
-
-import java.io.File;
-import java.util.logging.Level;
-
-import javax.xml.transform.sax.TransformerHandler;
-
-import org.adempiere.exceptions.AdempiereException;
-import org.adempiere.pipo2.Element;
-import org.adempiere.pipo2.ElementHandler;
-import org.adempiere.pipo2.FileElementParameters;
-import org.adempiere.pipo2.PIPOContext;
-import org.adempiere.pipo2.PackOut;
-import org.adempiere.pipo2.PackoutDocument;
-import org.adempiere.pipo2.PackoutItem;
-import org.compiere.util.CLogger;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.AttributesImpl;
-
-public class FileElementHandler implements ElementHandler {
-
- private static final CLogger log = CLogger.getCLogger(FileElementHandler.class);
-
- public void packOut(PackOut packout, TransformerHandler packoutHandler,
- TransformerHandler docHandler, int recordId) throws Exception {
- PackoutDocument header = packout.getPackoutDocument();
- PackoutItem detail = packout.getCurrentPackoutItem();
- if (log.isLoggable(Level.INFO))log.log(Level.INFO,
- "In PackOut.java handling Code or Other 2pack module creation");
- String fileDirectory = packout.getPackoutDirectory() + header.getPackageName()
- + detail.getProperty(FileElementParameters.TARGET_DIRECTORY);
- if (log.isLoggable(Level.INFO))log.log(Level.INFO, "targetDirectory" + fileDirectory);
- String targetDirectory = null;
- char fileseperator1 = '/';
- char fileseperator2 = '\\';
- // Correct package for proper file seperator
- if (File.separator.equals("/")) {
- targetDirectory = fileDirectory.replace(fileseperator2,
- fileseperator1);
- } else
- targetDirectory = fileDirectory.replace(fileseperator1,
- fileseperator2);
-
- String sourceDirectory = null;
- fileDirectory = (String) detail.getProperty(FileElementParameters.SOURCE_DIRECTORY);
- // Correct package for proper file seperator
- if (File.separator.equals("/")) {
- sourceDirectory = fileDirectory.replace(fileseperator2,
- fileseperator1);
- } else
- sourceDirectory = fileDirectory.replace(fileseperator2,
- fileseperator1);
-
- packout.copyFile(sourceDirectory + detail.getProperty(FileElementParameters.FILE_NAME),
- targetDirectory + detail.getProperty(FileElementParameters.FILE_NAME));
-
- AttributesImpl atts = new AttributesImpl();
-
- if (detail.getProperty(FileElementParameters.DESTINATION_DIRECTORY) != null) {
-
- fileDirectory = (String) detail.getProperty(FileElementParameters.DESTINATION_DIRECTORY);
- String destinationDirectory = null;
-
- // Correct package for proper file seperator
- if (File.separator.equals("/")) {
- destinationDirectory = fileDirectory.replace(fileseperator2,
- fileseperator1);
- } else
- destinationDirectory = fileDirectory.replace(fileseperator2,
- fileseperator1);
-
- try {
- new DistFileElementHandler(destinationDirectory).doPackout(
- packout, null, detail, packoutHandler, null, null, 0);
- } catch (Exception e) {
- throw new AdempiereException(e.getLocalizedMessage(), e);
- }
- }
-
- if (detail.getProperty(FileElementParameters.FILE_NAME) != null) {
- PackOut.addTextElement(docHandler, "file",
- "File: " + detail.getProperty(FileElementParameters.FILE_NAME), atts);
- }
- PackOut.addTextElement(docHandler, "filedirectory", "Directory: "
- + detail.getProperty(FileElementParameters.TARGET_DIRECTORY), atts);
- PackOut.addTextElement(docHandler, "filenotes",
- "Notes: " + detail.getProperty(FileElementParameters.DESCRIPTION), atts);
- }
-
- @Override
- public void startElement(PIPOContext ctx, Element element)
- throws SAXException {
- }
-
- @Override
- public void endElement(PIPOContext ctx, Element element) throws SAXException {
- }
-}
diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/CodeSnippetElementParameters.java b/org.adempiere.pipo/src/org/adempiere/pipo2/CodeSnippetElementParameters.java
deleted file mode 100644
index 15624871d7..0000000000
--- a/org.adempiere.pipo/src/org/adempiere/pipo2/CodeSnippetElementParameters.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/******************************************************************************
- * Product: Adempiere ERP & CRM Smart Business Solution *
- * Copyright (C) 2010 Heng Sin Low *
- * 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. *
- *****************************************************************************/
-package org.adempiere.pipo2;
-
-/**
- *
- * @author hengsin
- *
- */
-public interface CodeSnippetElementParameters {
- public final static String DESTINATION_DIRECTORY = "DestinationDirectory";
- public final static String DESTINATION_FILE_NAME = "DestinationFileName";
- public final static String AD_Package_Code_Old = "AD_Package_Code_Old";
- public final static String AD_Package_Code_New = "AD_Package_Code_New";
- public final static String RELEASE_NO = "ReleaseNo";
-}
diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/FileElementParameters.java b/org.adempiere.pipo/src/org/adempiere/pipo2/FileElementParameters.java
deleted file mode 100644
index cd5b4106c1..0000000000
--- a/org.adempiere.pipo/src/org/adempiere/pipo2/FileElementParameters.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/******************************************************************************
- * Product: Adempiere ERP & CRM Smart Business Solution *
- * Copyright (C) 2010 Heng Sin Low *
- * 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. *
- *****************************************************************************/
-package org.adempiere.pipo2;
-
-/**
- *
- * @author hengsin
- *
- */
-public interface FileElementParameters {
- public final static String TARGET_DIRECTORY = "TargetDirectory";
- public final static String SOURCE_DIRECTORY = "SourceDirectory";
- public final static String FILE_NAME = "FileName";
- public final static String DESTINATION_DIRECTORY = "DestinationDirectory";
- public final static String DESCRIPTION = "Description";
- public final static String RELEASE_NO = "ReleaseNo";
-}
diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/PackOutProcess.java b/org.adempiere.pipo/src/org/adempiere/pipo2/PackOutProcess.java
index e145e466ac..8133d86ad2 100644
--- a/org.adempiere.pipo/src/org/adempiere/pipo2/PackOutProcess.java
+++ b/org.adempiere.pipo/src/org/adempiere/pipo2/PackOutProcess.java
@@ -158,16 +158,12 @@ public class PackOutProcess extends SvrProcess
private String getTypeName(String type) {
if (X_AD_Package_Exp_Detail.TYPE_ApplicationOrModule.equals(type))
return I_AD_Menu.Table_Name;
- else if (X_AD_Package_Exp_Detail.TYPE_CodeSnipit.equals(type))
- return "Code_Snipit";
else if (X_AD_Package_Exp_Detail.TYPE_Data.equals(type))
return IHandlerRegistry.TABLE_GENERIC_HANDLER;
else if (X_AD_Package_Exp_Detail.TYPE_DataSingle.equals(type))
return IHandlerRegistry.TABLE_GENERIC_SINGLE_HANDLER;
else if (X_AD_Package_Exp_Detail.TYPE_DynamicValidationRule.equals(type))
return I_AD_Val_Rule.Table_Name;
- else if (X_AD_Package_Exp_Detail.TYPE_File_CodeOrOther.equals(type))
- return "Dist_File";
else if (X_AD_Package_Exp_Detail.TYPE_Form.equals(type))
return I_AD_Form.Table_Name;
else if (X_AD_Package_Exp_Detail.TYPE_ImportFormat.equals(type))
@@ -212,19 +208,6 @@ public class PackOutProcess extends SvrProcess
} else if (MPackageExpDetail.TYPE_SQLStatement.equals(type) || MPackageExpDetail.TYPE_SQLMandatory.equals(type)) {
properties.put(SQLElementParameters.SQL_STATEMENT, dtl.getSQLStatement());
properties.put(SQLElementParameters.DB_TYPE, dtl.getDBType());
- } else if (MPackageExpDetail.TYPE_File_CodeOrOther.equals(type)) {
- properties.put(FileElementParameters.TARGET_DIRECTORY, dtl.getTarget_Directory());
- properties.put(FileElementParameters.SOURCE_DIRECTORY, dtl.getFile_Directory());
- properties.put(FileElementParameters.FILE_NAME, dtl.getFileName());
- properties.put(FileElementParameters.DESTINATION_DIRECTORY, dtl.getDestination_Directory());
- properties.put(FileElementParameters.DESCRIPTION, dtl.getDescription());
- properties.put(FileElementParameters.RELEASE_NO, dtl.getReleaseNo());
- } else if (MPackageExpDetail.TYPE_CodeSnipit.equals(type)) {
- properties.put(CodeSnippetElementParameters.DESTINATION_DIRECTORY, dtl.getDestination_Directory());
- properties.put(CodeSnippetElementParameters.DESTINATION_FILE_NAME, dtl.getDestination_FileName());
- properties.put(CodeSnippetElementParameters.RELEASE_NO, dtl.getReleaseNo());
- properties.put(CodeSnippetElementParameters.AD_Package_Code_Old, dtl.getAD_Package_Code_Old());
- properties.put(CodeSnippetElementParameters.AD_Package_Code_New, dtl.getAD_Package_Code_New());
}
return properties;
}