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; }