1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807 |
- /*
- * Copyright (C) 2015 iZc
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * 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, see <http://www.gnu.org/licenses/>.
- */
- package de.nplusc.izc.tools.baseTools;
- import de.nplusc.izc.tools.IOtools.FileTK;
- import de.nplusc.izc.tools.IOtools.PrintStreamCapturer;
- import java.awt.Dimension;
- import java.awt.GraphicsEnvironment;
- import java.io.*;
- import java.lang.reflect.Field;
- import java.security.MessageDigest;
- import java.util.Arrays;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.Scanner;
- import java.util.prefs.Preferences;
- import javax.swing.*;
- import net.rubygrapefruit.platform.Native;
- import net.rubygrapefruit.platform.ProcessLauncher;
- import org.apache.commons.exec.CommandLine;
- import org.apache.commons.exec.DefaultExecutor;
- import org.apache.commons.exec.Executor;
- import org.apache.commons.io.output.NullOutputStream;
- import org.apache.logging.log4j.LogManager;
- import org.apache.logging.log4j.Logger;
- /**
- *
- * @author LH
- */
- @SuppressWarnings( "deprecation" )
- public class Tools
- {
- private static final Logger l = LogManager.getLogger();
- public static boolean execCrashed = false;
- private static boolean ContState;
- private static JDialog d;
- private static boolean hl=false;
- //private boolean ProcessReturn;
- private static final String ALPHABET = "abcdefghijklmnopqrstuvwxyz";
- private static int logNumber;
- protected Tools()
- {
- //disabled Constructor
- }
- static
- {
- GraphicsEnvironment ge =
- GraphicsEnvironment.getLocalGraphicsEnvironment();
- boolean hl = ge.isHeadless();
- if(!hl){
- //d = new JDialog();
- }
-
- }
-
- /**
- * Method to pad the left of a Sting with given character
- * @param count Destination amount of data
- * @param base String to pad up
- * @param filler Padding data
- * @return Padded String
- */
- public static String padLeft(final int count, final String base, final char filler)
- {
- if (base == null)
- {
- throw new NullPointerException();
- }
- if (base.length() >= count)
- {
- return base;
- }
- char[] prefix = new char[count - base.length()];
- Arrays.fill(prefix, filler);
- return new StringBuilder(count).append(prefix).append(base).toString();
- }
-
-
- /**
- * Method rename and shorthand for Thread.sleep()
- * @param time Time to wait in ms
- */
- public static void wait(int time)
- {
- try
- {
- Thread.sleep(time);
- }
- catch (InterruptedException ex)
- {
- ex.printStackTrace();
- }
- }
-
- /**
- * SHA-Hashes a String
- * @param s String to hash
- * @return Hashed String
- */
- public static String getSHAString(String s)
- {
- try
- {
- MessageDigest sha = MessageDigest.getInstance("SHA");
- @SuppressWarnings("StringBufferMayBeStringBuilder")
- StringBuffer t = new StringBuffer();
- byte[] digest = sha.digest(s.getBytes());
- for (byte b : digest)
- {
- l.trace(String.format("%02x", b));
- int val = ((int) b) & 0xff;
- if (val < 16)
- {
- t.append("0");
- }
- t.append(Integer.toHexString(val));
- }
- return t.toString();
- }
- catch (Exception ex)
- {
- return null;
- }
- }
-
-
- /**
- * Integerizes a String
- * @param ip String to integerize
- * @return Array of Integers where each int is a Character of the string
- */
- public static int[] lettersToInt(String ip)
- {
- ip = ip.toLowerCase();
- char[] it = ip.toCharArray();
- int[] ri = new int[it.length];
- for (int i = 0; i < ri.length; i++)
- {
- ri[i] = (int) it[i];
- }
- return ri;
- }
- /**
- * Sum of the Elements of the Array
- * @param i Integer-array to sumup
- * @return Sum of the elements
- */
- public static int addIntsTogether(int[] i)
- {
- int t = 1;
- for (int X : i)
- {
- t *= X;
- }
- return t;
- }
-
- @Deprecated
- /**
- * HACK!!!
- * @param m unknown
- * @param ints unknown
- * @return unknown
- */
- public static int addIntsTogether(HashMap<String, String> m, boolean ints)
- {
- //boolean ints = !noints;
- String[] mk;
- Object[] mk2 = m.keySet().toArray();
- mk = new String[mk2.length];
- for (int i = 0; i < mk.length; i++)
- {
- String s = "";
- //s.toString();
- mk[i] = mk2[i].toString();
- }
- int t = 1;
- for (String s : mk)
- {
- if (ints == true)
- {
- t *= Integer.valueOf(m.get(s));
- }
- else
- {
- int t2 = 0;
- int[] itmp = lettersToInt(m.get(s));
- for (int i : itmp)
- {
- t2 += i;
- }
- t += t2;
- }
- }
- return t;
- }
- @Deprecated
- /**
- * Adds the Strings together while respecting Alphabet and wraps . Dont use for new Code
- * @param s1 String 1
- * @param s2 String 2
- * @return the merged Strings
- */
- public static String stringAdd(String s1, String s2)
- {
- char[] ca1 = s1.toLowerCase().toCharArray();
- char[] ca2 = s2.toLowerCase().toCharArray();
- int[] ci1 = new int[ca1.length];
- int[] ci2 = new int[ca2.length];
- String t;
- for (int i = 0; i < ca1.length; i++)
- {
- try
- {
- ci1[i] = Integer.valueOf(Character.toString(ca1[i]));
- }
- catch (Exception ex)
- {
- t = Character.toString(ca1[i]);
- ci1[i] = ALPHABET.indexOf(t) + 1;
- }
- }
- for (int i = 0; i < ca2.length; i++)
- {
- try
- {
- ci2[i] = Integer.valueOf(Character.toString(ca2[i]));
- }
- catch (Exception ex)
- {
- t = Character.toString(ca2[i]);
- ci2[i] = ALPHABET.indexOf(t) + 1;
- }
- }
- int l = ci1.length;
- if (ci1.length < ci2.length)
- {
- l = ci2.length;
- }
- int[] op = new int[l];
- int i1, i2, i3;
- for (int i = 0; i < l; i++)
- {
- try
- {
- i1 = ci1[i];
- }
- catch (Exception ex)
- {
- i1 = 0;
- }
- try
- {
- i2 = ci2[i];
- }
- catch (Exception ex)
- {
- i2 = 0;
- }
- i3 = i1 + i1;
- if (i3 > 26)
- {
- i3 -= 26;
- }
- op[i] = i3;
- }
- return backString(op);
- }
- @Deprecated
- public static String backString(int[] ia)
- {
- int l = ia.length, i1;
- String[] r1 = new String[l];
- String rl = "";
- for (int i = 0; i < l; i++)
- {
- i1 = ia[i] - 1;
- if (i1 == -1)
- {
- i1++;
- }
- r1[i] = Character.toString(ALPHABET.charAt(i1));
- }
- for (String s : r1)
- {
- rl += s;
- }
- return rl;
- }
- @Deprecated
- public static String stringFold(String s, int l, int rec)//halbiert Strings und addiert die Hälften
- {
- int l1 = s.length() / 2;//,l2;
- String sh1, sh2, so1;
- //int l2=l1+1-1;//Neuen Wet erzeugen!!
- //l2=l1*2
- if ((l1 * 2) == s.length() - 1)
- {
- l1++;
- }
- sh1 = s.substring(0, l1++);
- sh2 = s.substring(l1++);
- so1 = stringAdd(sh1, sh2);
- if (so1.length() > l && rec > 0)
- {
- so1 = stringFold(so1, l, rec--);
- }
- return so1;
- }
- @Deprecated
- public static String stringFold(String s, int l)
- {
- return stringFold(s, l, 30);
- }
- /**
- * 2-Elemente-Meckermeldung
- * @param mode ignored
- * @param MSGLine1 Zeile 1 der Meldung
- * @param MSGLine2 ZEile 2 der Meldung
- * @return true if left button got pressed, false on right one
- */
- public static boolean dlg(boolean mode, String MSGLine1, String MSGLine2)
- {
- return dlg(mode, MSGLine1, MSGLine2, "Fortfahren", "Abbrechen");
- }
-
- /**
- * 2-Elemente-Meckermeldung
- * @param mode ignored
- * @param MSGLine1 Zeile 1 der Meldung
- * @param MSGLine2 ZEile 2 der Meldung
- * @param btnLeft MEssage of left button
- * @param btnRight MEssage of Right button
- * @return true if left button got pressed, false on right one
- */
- public static boolean dlg(boolean mode, String MSGLine1, String MSGLine2, String btnLeft, String btnRight)
- {
- if(hl)
- {
- return false;
- }
- d=new JDialog();
- JPanel p = new JPanel();
- javax.swing.JButton btnYes = new javax.swing.JButton();
- javax.swing.JButton btnNo = new javax.swing.JButton();
- JLabel lblMSG = new JLabel();
- JLabel lblMSG2 = new JLabel();
- d.setModal(mode);
- mode = true;
- if (mode == true)
- {
- //Ausgeblendet da nur Fenster-Layout
- // <editor-fold defaultstate="collapsed" desc="Layout-Code">
- btnNo.setText(btnRight);
- btnNo.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- btnNoActionPerformed(evt);
- }
- });
- btnYes.setText(btnLeft);
- btnYes.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- btnYesActionPerformed(evt);
- }
- });
- lblMSG.setText(MSGLine1);
- lblMSG2.setText(MSGLine2);
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(p);
- p.setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(36, 36, 36)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(lblMSG, javax.swing.GroupLayout.PREFERRED_SIZE, 258, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGroup(layout.createSequentialGroup()
- .addComponent(btnYes)
- .addGap(18, 18, 18)
- .addComponent(btnNo))
- .addGroup(layout.createSequentialGroup()
- .addGap(40, 40, 40)
- .addComponent(lblMSG2)))
- .addContainerGap(63, Short.MAX_VALUE)));
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(lblMSG, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(18, 18, 18)
- .addComponent(lblMSG2)
- .addGap(18, 18, 18)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(btnYes)
- .addComponent(btnNo))
- .addContainerGap(71, Short.MAX_VALUE)));
- // </editor-fold>
- //Auskommentierter Fail!
- // <editor-fold defaultstate="collapsed" desc="FailTry">
- /*javax.swing.JButton btnYes = new javax.swing.JButton();
- btnYes.addActionListener
- (
- new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- btnCTNActionPerformed(evt);
- }
- }
- );
- javax.swing.JButton btnNo = new javax.swing.JButton();
- btnNo.addActionListener
- (
- new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- btnSTPActionPerformed(evt);
- }
- }
- );
- btnYes.setText("Fortsetzen");
- btnNo.setText("Abbrechen");*/
- //d.add(new JButton());// </editor-fold>
- //p.add(btnYes);
- //p.add(btnNo);
- d.add(p);
- d.setSize(p.getPreferredSize());
- d.setVisible(true);
- //btnNo.setText(btnRight);
- //btnYes.setText(btnLeft);
- }
- else
- {
- //TODO working.dialog
- return true;
- }
- return ContState;
- }
-
- // <editor-fold defaultstate="collapsed" desc="Altlast">
- /*
- public static void jCmd() {
- javax.swing.JButton Eingabe;
- javax.swing.JButton jButton2;
- javax.swing.JPanel jPanel1;
- javax.swing.JScrollPane jScrollPane1;
- // End of variables declaration
- jPanel1 = new javax.swing.JPanel();
- jScrollPane1 = new javax.swing.JScrollPane();
- cmdScreen = new javax.swing.JTextArea();
- Eingabe = new javax.swing.JButton();
- jButton2 = new javax.swing.JButton();
- cmdline = new javax.swing.JTextField();
-
- Eingabe.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- eingabeActionPerformed(evt);
- }
- });
- jButton2.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- cmdQuitActionPerformed(evt);
- }
- });
-
- //setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- cmdScreen.setColumns(20);
- cmdScreen.setLineWrap(true);
- cmdScreen.setRows(5);
- jScrollPane1.setViewportView(cmdScreen);
- Eingabe.setText("Eingabe");
- jButton2.setText("Beenden");
- javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
- jPanel1.setLayout(jPanel1Layout);
- jPanel1Layout.setHorizontalGroup(
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel1Layout.createSequentialGroup()
- .addContainerGap()
- .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 733, Short.MAX_VALUE)
- .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()
- .addComponent(cmdline, javax.swing.GroupLayout.PREFERRED_SIZE, 493, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(Eingabe, javax.swing.GroupLayout.PREFERRED_SIZE, 115, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 113, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- );
- jPanel1Layout.setVerticalGroup(
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel1Layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 342, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(Eingabe)
- .addComponent(cmdline, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jButton2))
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- );
- d.setTitle("jCmd");
- d.setResizable(false);
- d.setModal(true);
- d.add(jPanel1);
- Dimension dms = jPanel1.getPreferredSize();
- dms.setSize(dms.getWidth()+5,dms.getHeight()+30);//HACK!!
- d.setSize(dms);
- cmdScreen.setEditable(false);
- //d.p
- d.setVisible( true );
-
- /*
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
- .addGap(663, 663, 663)
- .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(1382, 1382, 1382))
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(65, 65, 65)
- .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- );* /
- //pack();
- }
-
-
-
- */
- //</editor-fold>
- /**
- * COmmand run wrapper
- * @param runnable Command elements
- */
- public static void runSingleCmd(String... runnable)
- {
- runSingleCmd(true, runnable);
- }
- public static void runSingleCmd(boolean logg, String... runnable)
- {
- runSingleCmd(true, false, runnable);
- }
- public static void runSingleCmd(boolean logg, boolean legacy, String... runnable)
- {
- runSingleCmd(logg, legacy, false, runnable);
- }
-
-
-
- public static String runSingleCmd(boolean logg, boolean legacy, boolean sret, String... runnable)
- {
- return runSingleCmd(logg, legacy, sret, null, runnable);
- }
- public static String runSingleCmd(boolean logg, boolean legacy, boolean sret,JTextArea tx, String... runnable)
- {
- return runSingleCmd(logg, legacy, sret, false, tx, runnable);
- }
- public static String runSingleCmd(boolean logg, boolean legacy, boolean sret,boolean asArray,JTextArea tx, String... runnable)
- {
- return runSingleCmd(logg, legacy, sret, asArray, tx, null, runnable);
- }
- public static String runSingleCmd(boolean logg, boolean legacy, boolean sret,boolean asArray,JTextArea tx, final PrintStream pw,String... runnable)
- {
- return runSingleCmd(logg, legacy, sret, asArray, tx, null, null,false,runnable);
- }
- private static Process p;
- public static String runSingleCmd(boolean logg, boolean legacy, boolean sret,boolean asArray,final JTextArea tx, final PrintStream pw, String workdir,boolean useWD,String... runnable)
- {
- execCrashed = false;
- String cret = "";
- File wd=null;
- if(workdir!=null&&useWD)
- {
- wd=new File(workdir);
- if(!wd.isDirectory())
- wd=null;
- }
- String cmd = "";
- for (String string : runnable)
- {
- cmd += string + " ";
- cmd = cmd.trim();
- }//wird für ohne array verwended und bei mit array fürs debugging;
- l.trace(cmd);
- try
- {
- ProcessBuilder p2=null;
- if(wd!=null)
- {
- p2 = new ProcessBuilder(runnable);
- p2.directory(wd);
- }
-
- Executor e = null;
- CommandLine c = null;
- if (!legacy)
- {
- c = new CommandLine("cmd.exe");
- c.addArgument(cmd);
- e = new DefaultExecutor();
- }
- else
- {
- if(wd==null)
- {
- p = null;
- if(!asArray)
- p=Runtime.getRuntime().exec(cmd);
- else
- p=Runtime.getRuntime().exec(runnable);
- }
- else
- {
- p=p2.start();
- }
- if(tx!=null)
- {
- new Thread(
- new Runnable()
- {
- @Override
- public void run()
- {
- Scanner scanner = new Scanner(p.getInputStream());
- Scanner scannerE = new Scanner(p.getErrorStream());
- while ((scanner.hasNextLine()||scannerE.hasNextLine()))
- {
- if(scanner.hasNextLine())
- {
- String l = scanner.nextLine();
- tx.append(l+"\n");
- if(pw!=null)
- pw.println(l);
- }
- if(scannerE.hasNextLine())
- {
- String l = scannerE.next();
- tx.append(l+"\n");
- if(pw!=null)
- pw.println(l);
- }
- }
- }
- }
- ).start();
- }
- if (sret)
- {
- cret = new BufferedReader(new InputStreamReader(p.getInputStream())).readLine();
- }
- int rv = p.waitFor();
- if(rv>0)
- {
- execCrashed=true;
- }
- }
- l.trace(cmd);
- if (logg)
- {
- l.trace("Logg");
- logNumber++;
- }
- if (!legacy)
- {
- e.execute(c);
- }
- }
- catch (Exception ex)
- {
- l.error("Error@"+cmd);
- l.error(ex.toString());
- l.error(ex.getMessage());
- //TODO:SetupError_Here
- //Logger.getLogger(Tools.class.getName()).log(Level.SEVERE, null, ex);
- }
- return cret;
- }
- //public void runProcessBuilderCmd(String workdir,String executable)
- //{
- // ProcessBuilder p = new ProcessBuilder(executable);
- // p.directory(new File(workdir));
- // p.start();
- //}
-
- // <editor-fold defaultstate="collapsed" desc="Altlast">
- /*
- public static int cmdrunner(final ProcessBuilder p, final String[] runnable)
- {
- return cmdrunner(p,runnable,true);
- }*/
- /*
- public static int cmdrunner(final ProcessBuilder p, final String[] runnable, final boolean bjCmd)
- {
- //try {
- Thread t = new Thread(new Runnable() {
- //@SuppressWarnings("SleepWhileInLoop")//Hx
- @SuppressWarnings("CallToThreadDumpStack")
- public void run() {
- //try {
- d = null;
- d = new JDialog();
-
- try {
- //e.
- //exp=null;
- //exp = new ExpectJ(5);
- String run = arraytools.ArrayKleben(runnable," ");
- //Spawn s = exp.spawn(run);
- try {
- e = p.start();
- //s.expectErr(".");
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- output = new StreamGobbler(e.getInputStream(), ">>");
- error = new StreamGobbler(e.getErrorStream(), "!>");
- output.start();
- error.start();
-
- if(bjCmd)
- {
- jCmd();
- }
- /* else
- {
- while(error.)
- {
-
- }
- }*
- * /
- //int r = 1;
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- //e.
- /*}
- catch (IOException ex)
- {
- ex.printStackTrace();
- r=100;
- }*
- * /
- }
- });
-
- t.start();
- /*NOP* /
- r = 1;
- return r;
- /*} catch (IOException ex) {
- ex.printStackTrace();
- }
- return 0;* /
-
-
- }
-
-
-
- */
- //</editor-fold>
- private static void btnYesActionPerformed(java.awt.event.ActionEvent evt)
- {
- ContState = true;
- hideDialog();
- d = null;
- d = new JDialog();
- }
- // <editor-fold defaultstate="collapsed" desc="Altlast">
- /*
- private static void cmdQuitActionPerformed(java.awt.event.ActionEvent evt)
- {
-
- hideDialog();
- d=null;
- d = new JDialog();
- e.destroy();
- //error.
- }*/
- //@SuppressWarnings("CallToThreadDumpStack")
- /* private static void eingabeActionPerformed(java.awt.event.ActionEvent evt)
- {
- String cmd = cmdline.getText()+"\n";
- //NOP;
- OutputStreamWriter osw = new OutputStreamWriter(e.getOutputStream());
- BufferedWriter bw = new BufferedWriter(osw);
- try {
- bw.write(cmd,0,cmd.length());
- log("I>"+cmd);
- //output.start();
- //error.start();
- } catch (IOException ex) {
- ex.printStackTrace();
- }
- d.validate();
- }*/
- //</editor-fold>
- private static void btnNoActionPerformed(java.awt.event.ActionEvent evt)
- {
- ContState = false;
- hideDialog();
- d = null;
- d = new JDialog();
- }
- public static void hideDialog()
- {
- d.setVisible(false);
- }
-
- public static String getRelativePath(String absolutePath, String basePath)//Initializer für Hack!
- {
- return FileTK.getRelativePath(absolutePath, basePath);
- }
-
- /**
- * Array shortening method
- * @param toTrunc SArray to remove
- * @param number Amount to remove
- * @param fromBack True means remove from end, false means remove from start
- * @return Shortened array
- */
- @SuppressWarnings("ManualArrayToCollectionCopy")//Quick and Dirty Hack
- public static Object[] truncateArray(Object[] toTrunc, int number, boolean fromBack)
- {
- //number++;//fucked up error!
- if (toTrunc.length - number < 1)//Error bei Zahlen <0
- {
- throw new IllegalArgumentException("Shortened Array to zero or lower!!!");
- }
- Object[] out = new Object[toTrunc.length - number];
- if (fromBack == true)//Hinten weg
- {
- for (int i = 0; i < toTrunc.length - number; i++)
- {
- out[i] = toTrunc[i];
- }
- }
- else
- {
- for (int i = 0; i > toTrunc.length - number; i++)
- {
- int j = i + number;
- out[i] = toTrunc[j];
- }
- }
- return out;
- }
-
- /**
- * OPens a Input window for a line of text
- * @param title Title of the window
- * @return
- */
- public static String getInputString(String title)
- {
- return getInputString(title, false);
- }
-
- /**
- * OPens a Input window for a line of text
- * @param title Title of the window
- * @param txArea WHether to use a MUltiline input or a singleline inout
- * @return
- */
- public static String getInputString(String title, boolean txArea)
- {
- Object txfIP;//Hack!!!!
- if (txArea == true)
- {
- txfIP = new JTextArea(20, 40);
- }
- else
- {
- txfIP = new JTextField(30);
- }
- //passwordField.setEchoChar('#');
- JOptionPane.showMessageDialog(
- null,
- txfIP,
- title,
- JOptionPane.PLAIN_MESSAGE);
- String ret = "";
- if (txArea == true)
- {
- ret = ((JTextArea) txfIP).getText();
- }
- else
- {
- ret = ((JTextField) txfIP).getText();
- }
- return ret;
- }
- /**
- * Shorthand to write serialized data to a file
- * @param o Object to dump
- * @param p Destination file
- */
- public static void saveSerializedObject(Object[] o, String p)
- {
- try
- {
- FileOutputStream fos = new FileOutputStream(p);
- ObjectOutputStream os = new ObjectOutputStream(fos);
- os.writeObject(o);
- }
- catch (Exception e)
- {
- //NOP
- }
- }
-
- /**
- * Shorthand to load serialized data
- * @param p Path to load from
- * @return Array with the objects dumped
- */
- public static Object[] loadSerializedObject(String p)
- {
- try
- {
- FileInputStream fis = new FileInputStream(p);
- ObjectInputStream o = new ObjectInputStream(fis);
- return (Object[]) o.readObject();
- }
- catch (Exception e)
- {
- l.warn("Loader.failure @{}",p);
- e.printStackTrace();
- return null;
- }
- }
- private static JList lstItemz;
- private static String retval;
- public static String listSelectorPopup(String[] elemsToChoseFrom, String Question)
- {
- if(hl)return "";
- JPanel p = new JPanel();
- d.setModal(true);
- lstItemz = new javax.swing.JList();
- JLabel txtQuestion = new javax.swing.JLabel();
- JScrollPane jScrollPane1 = new javax.swing.JScrollPane();
- JButton btnCont = new javax.swing.JButton();
- JButton btnAbort = new javax.swing.JButton();
- //setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- txtQuestion.setText(Question);
- lstItemz.setModel(new javax.swing.DefaultListModel());
- jScrollPane1.setViewportView(lstItemz);
- btnCont.setText("Fertig");
- btnAbort.setText("Doch nicht");
- ((DefaultListModel) (lstItemz.getModel())).clear();
- // String[] availUPIDs = dbc.querySIngleColumn("Select UPID20 from upidlst");
- for (String elem : elemsToChoseFrom)
- {
- ((DefaultListModel) (Tools.lstItemz.getModel())).addElement(elem);
- }
- retval = "NOP";
- btnCont.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- retval = (String) lstItemz.getSelectedValue();
- hideDialog();
- d = null;
- d = new JDialog();
- }
- });
- btnAbort.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- retval = "NOP";
- hideDialog();
- d = null;
- d = new JDialog();;
- }
- });
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(p);
- p.setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jScrollPane1)
- .addGroup(layout.createSequentialGroup()
- .addGap(47, 47, 47)
- .addComponent(txtQuestion, javax.swing.GroupLayout.PREFERRED_SIZE, 494, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addContainerGap(95, Short.MAX_VALUE))
- .addGroup(layout.createSequentialGroup()
- .addComponent(btnCont, javax.swing.GroupLayout.PREFERRED_SIZE, 327, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(btnAbort, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(26, 26, 26)
- .addComponent(txtQuestion)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 215, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(btnCont, javax.swing.GroupLayout.DEFAULT_SIZE, 34, Short.MAX_VALUE)
- .addComponent(btnAbort, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))));
- d.add(p);
- Dimension d2 = p.getPreferredSize();
- d2 = new Dimension(d2.width, d2.height + 40);
- d.setSize(d2);
- d.setVisible(true);
- return retval;
- }
- public static String FileChooseDlg(javax.swing.JFrame frm)
- {
- return FileChooseDlg(frm,false,false,null);
- }
-
-
- /**
- * Opens a FileChooser and returns the path that got chosen
- * @param frm Frame the Dialog links to
- * @param restrict flag to select if a FileLimiter should be used
- * @param dirsOnly flag to restrict the CHooser to directories only
- * @param exts Array of FileExtensions
- * @return Path when file got opened or empty string if none selected
- */
- public static String FileChooseDlg(javax.swing.JFrame frm,boolean restrict,boolean dirsOnly,String[] exts)
- {
- JFileChooser fc = new JFileChooser();
- String ret = "";
- if(!dirsOnly)
- fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
- else
- fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
- if(restrict)
- {
- FIleLImiter f = new FIleLImiter();
- f.setExtensions(exts);
- fc.setFileFilter(f);
- }
- int returnVal = fc.showOpenDialog(frm);
- if (returnVal == JFileChooser.APPROVE_OPTION)
- {
- File file = fc.getSelectedFile();
- try
- {
- ret = file.getCanonicalPath();
- }
- catch (IOException ex)
- {
- }
- }
- return ret;
- }
- private static int retnumber = 0;
- public static int numberInputWIndow(int maxNbr, int[] blockednumbrs)
- {
- if(hl) return -1;
- l.info("niw");
- k1 = new javax.swing.JButton();
- k2 = new javax.swing.JButton();
- k3 = new javax.swing.JButton();
- k4 = new javax.swing.JButton();
- k5 = new javax.swing.JButton();
- k6 = new javax.swing.JButton();
- k7 = new javax.swing.JButton();
- k8 = new javax.swing.JButton();
- k9 = new javax.swing.JButton();
- btnOk = new javax.swing.JButton();
- btnAbbr = new javax.swing.JButton();
- entrdNbr = new javax.swing.JTextField();
- k0 = new javax.swing.JButton();
- kC = new javax.swing.JButton();
- btnClear = new javax.swing.JButton();
- d = new JDialog();
- d.setModal(true);
- numEntered = 0;
- numMax = maxNbr;
- k0.setEnabled(true);
- k1.setEnabled(true);
- k2.setEnabled(true);
- k3.setEnabled(true);
- k4.setEnabled(true);
- k5.setEnabled(true);
- k6.setEnabled(true);
- k7.setEnabled(true);
- k8.setEnabled(true);
- k9.setEnabled(true);
- retnumber = 0;
- for (int i : blockednumbrs)
- {
- if (i == 0)
- {
- k0.setEnabled(false);
- }
- if (i == 1)
- {
- k1.setEnabled(false);
- }
- if (i == 2)
- {
- k2.setEnabled(false);
- }
- if (i == 3)
- {
- k3.setEnabled(false);
- }
- if (i == 4)
- {
- k4.setEnabled(false);
- }
- if (i == 5)
- {
- k5.setEnabled(false);
- }
- if (i == 6)
- {
- k6.setEnabled(false);
- }
- if (i == 7)
- {
- k7.setEnabled(false);
- }
- if (i == 8)
- {
- k8.setEnabled(false);
- }
- if (i == 9)
- {
- k9.setEnabled(false);
- }
- }
- k1.setText("1");
- k1.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- k1ActionPerformed(evt);
- }
- });
- k2.setText("2");
- k2.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- k2ActionPerformed(evt);
- }
- });
- k3.setText("3");
- k3.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- k3ActionPerformed(evt);
- }
- });
- k4.setText("4");
- k4.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- k4ActionPerformed(evt);
- }
- });
- k5.setText("5");
- k5.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- k5ActionPerformed(evt);
- }
- });
- k6.setText("6");
- k6.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- k6ActionPerformed(evt);
- }
- });
- k7.setText("7");
- k7.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- k7ActionPerformed(evt);
- }
- });
- k8.setText("8");
- k8.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- k8ActionPerformed(evt);
- }
- });
- k9.setText("9");
- k9.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- k9ActionPerformed(evt);
- }
- });
- btnOk.setText("OK");
- btnOk.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- btnOkActionPerformed(evt);
- }
- });
- btnAbbr.setText("ABBR");
- btnAbbr.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- btnAbbrActionPerformed(evt);
- }
- });
- k0.setText("0");
- k0.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- k0ActionPerformed(evt);
- }
- });
- kC.setText("<--");
- kC.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- kCActionPerformed(evt);
- }
- });
- btnClear.setText("Clr");
- btnClear.addActionListener(new java.awt.event.ActionListener()
- {
- public void actionPerformed(java.awt.event.ActionEvent evt)
- {
- btnClearActionPerformed(evt);
- }
- });
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(d.getContentPane());
- d.getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addGroup(layout.createSequentialGroup()
- .addComponent(btnOk, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(btnAbbr, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(k1, javax.swing.GroupLayout.DEFAULT_SIZE, 51, Short.MAX_VALUE)
- .addComponent(k4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(k2, javax.swing.GroupLayout.DEFAULT_SIZE, 49, Short.MAX_VALUE)
- .addComponent(k5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(k3, javax.swing.GroupLayout.DEFAULT_SIZE, 49, Short.MAX_VALUE)
- .addComponent(k6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(k7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(btnClear, javax.swing.GroupLayout.DEFAULT_SIZE, 51, Short.MAX_VALUE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(k0, javax.swing.GroupLayout.DEFAULT_SIZE, 49, Short.MAX_VALUE)
- .addComponent(k8, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(k9, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(kC, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
- .addComponent(entrdNbr))
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(7, 7, 7)
- .addComponent(entrdNbr, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(k3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(k2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(k1, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(k6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(k5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(k4, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(k7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(k8, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(k9, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(k0, javax.swing.GroupLayout.DEFAULT_SIZE, 46, Short.MAX_VALUE)
- .addComponent(kC, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(btnClear, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(btnAbbr, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(btnOk, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(0, 8, Short.MAX_VALUE)));
- d.pack();
- d.setVisible(true);
- l.trace("Scheißdreck");
- return retnumber;
- }// </editor-fold>
- private static void k1ActionPerformed(java.awt.event.ActionEvent evt)
- {
- if (numEntered >= numMax)
- {
- return;
- }
- entrdNbr.setText(entrdNbr.getText() + "1");
- numEntered++;
- }
- private static void k2ActionPerformed(java.awt.event.ActionEvent evt)
- {
- if (numEntered >= numMax)
- {
- return;
- }
- entrdNbr.setText(entrdNbr.getText() + "2");
- numEntered++;
- }
- private static void k3ActionPerformed(java.awt.event.ActionEvent evt)
- {
- if (numEntered >= numMax)
- {
- return;
- }
- entrdNbr.setText(entrdNbr.getText() + "3");
- numEntered++;
- }
- private static void k4ActionPerformed(java.awt.event.ActionEvent evt)
- {
- if (numEntered >= numMax)
- {
- return;
- }
- entrdNbr.setText(entrdNbr.getText() + "4");
- numEntered++;
- }
- private static void k5ActionPerformed(java.awt.event.ActionEvent evt)
- {
- if (numEntered >= numMax)
- {
- return;
- }
- entrdNbr.setText(entrdNbr.getText() + "5");
- numEntered++;
- }
- private static void k6ActionPerformed(java.awt.event.ActionEvent evt)
- {
- if (numEntered >= numMax)
- {
- return;
- }
- entrdNbr.setText(entrdNbr.getText() + "6");
- numEntered++;
- }
- private static void k7ActionPerformed(java.awt.event.ActionEvent evt)
- {
- if (numEntered >= numMax)
- {
- return;
- }
- entrdNbr.setText(entrdNbr.getText() + "7");
- numEntered++;
- }
- private static void k8ActionPerformed(java.awt.event.ActionEvent evt)
- {
- if (numEntered >= numMax)
- {
- return;
- }
- entrdNbr.setText(entrdNbr.getText() + "8");
- numEntered++;
- }
- private static void k9ActionPerformed(java.awt.event.ActionEvent evt)
- {
- if (numEntered >= numMax)
- {
- return;
- }
- entrdNbr.setText(entrdNbr.getText() + "9");
- numEntered++;
- }
- private static void btnClearActionPerformed(java.awt.event.ActionEvent evt)
- {
- numEntered = 0;
- entrdNbr.setText("");
- }
- private static void k0ActionPerformed(java.awt.event.ActionEvent evt)
- {
- if (numEntered >= numMax)
- {
- return;
- }
- entrdNbr.setText(entrdNbr.getText() + "0");
- numEntered++;
- }
- private static void kCActionPerformed(java.awt.event.ActionEvent evt)
- {
- retnumber = -1;
- hideDialog();
- d = null;
- d = new JDialog();
- }
- private static void btnOkActionPerformed(java.awt.event.ActionEvent evt)
- {
- retnumber = Integer.valueOf(entrdNbr.getText());
- hideDialog();
- d = null;
- d = new JDialog();
- }
- private static void btnAbbrActionPerformed(java.awt.event.ActionEvent evt)
- {
- //retnumber=-1;
- hideDialog();
- d = null;
- d = new JDialog();
- }
- public static String processEnvVarsinLine(String line)
- {
- Map<String, String> env = System.getenv();
- String linemod = line;
- int varstart = linemod.indexOf("%");
- int varend = linemod.indexOf("%", varstart + 1);
- String preVar = "";
- if (varstart == -1)
- {
- return line;
- }
- if (varstart > 0)
- {
- preVar = linemod.substring(0, varstart);
- }
- String postVar = linemod.substring(varend + 1);
- String var = linemod.substring(varstart + 1, varend);
- var = env.get(var.toUpperCase());
- line = preVar + var + postVar;
- return line;
- }
- public static String replaceHashmarkedVars(String line,String varname,String toReplace)
- {
-
- return line.replaceAll("#"+varname+"#", toReplace.replace("\\", "\\\\")).replace("\\\\", "\\");
-
- /*
- String linemod = line;
- int varstart = linemod.indexOf("#");
- int varend = linemod.indexOf("#", varstart + 1);
- String preVar = "";
- if (varstart == -1||varend == -1)
- {
- return line;
- }
- if (varstart > 0)
- {
- preVar = linemod.substring(0, varstart);
- }
- String postVar = linemod.substring(varend + 1);
- String var = linemod.substring(varstart + 1, varend);
- if(var.equalsIgnoreCase(varname))
- {
- var = toReplace;
- postVar=replaceHashmarkedVars(postVar, varname, toReplace);//falls sich noch wo anders eine versteckt
- }
- else
- {
- var="#"+var+"#";
- postVar=replaceHashmarkedVars(postVar, varname, toReplace);//falls sich noch wo anders eine versteckt
- }
- line = preVar + var + postVar;
- return line;*/
- }
-
- public static void DebugHelperPrint(String msg,boolean dbgonly,String debugEnablePreference)
- {
- if(dbgonly)
- if(!Boolean.valueOf(Preferences.userRoot().get(debugEnablePreference, "false")))
- return;
- l.trace(msg);
- }
-
-
-
-
- private static boolean sil = false;
-
- public static boolean runCmdWithOutToTextField(JTextArea txf, String... cmd)
- {
- return runCmdStreamable(txf,new PrintStream(new NullOutputStream()),false, cmd);
- }
-
- public static boolean runCmdWithPassthru(PrintStream p,String... cmd)
- {
- return runCmdStreamable(new JTextArea(),p,false, cmd);
- }
-
- //private static ExecuteStreamHandler s;
- //private static JTextArea txf;
- //private static PrintStream otherOut;
- public static boolean runCmdStreamable(JTextArea txf,PrintStream otherOut,final boolean SpamException, String... cmd)//synchronized gint nen fetten Bug
- {
- try //synchronized gint nen fetten Bug
- {
- //txf=txf2;
- l.trace(Arrays.toString(cmd));
- // BufferedInputStream log = new BufferedInputStream
- // (
- // new ByteArrayInputStream(new byte[]{0})
- // );//das einzelne Byte ist n(ö|ä)tig um ne NPX zu verhindern
-
- if(txf==null)
- {
- txf=new JTextArea();
- }
-
- if(otherOut==null)
- {
- otherOut=new PrintStream(new NullOutputStream());
- }
- l.trace("OtherOut="+otherOut);
-
- ProcessBuilder pb = new ProcessBuilder(Arrays.asList(cmd));
- pb.redirectErrorStream(true);
- ProcessLauncher l = Native.get(ProcessLauncher.class);
- Process process = l.start(pb);
- PrintStream stdout = new PrintStreamCapturer(txf, otherOut);
- Thread stdoutThread = new Thread(new TextDumper(process.getInputStream(), stdout));
- stdoutThread.start();
- int result = process.waitFor();
- stdoutThread.join();
- Tools.l.trace("FIN");
- return result!=0;
- //sil=false;
- }
- catch (InterruptedException ex)
- {
- ex.printStackTrace();
- }
- return true;
- }
-
- public static String getFormatStrforThisAsMax(int nbr)
- {
- int filesMax=nbr;
- String nfs = "%1";
- if (filesMax > 9)
- {
- nfs = "%2";
- if (filesMax > 99)
- {
- nfs = "%3";
- if (filesMax > 999)
- {
- nfs = "%4";
- if (filesMax > 9_999)
- {
- nfs = "%5";
- if (filesMax > 99_999)
- {
- nfs = "%6";
- if (filesMax > 999_999)
- {
- nfs = "%7";
- if (filesMax > 9_999_999)
- {
- nfs = "%8";
- if (filesMax > 99_999_999)
- {
- nfs = "%9";
- if (filesMax > 999_999_999)
- {
- nfs = "%10";
- }
- }
- }
- }
- }
- }
- }
- }
- }
- return nfs+"d";
- }
- public static void dork()
- {
- new Svoujnf().nope();
- }
- public static void ragequit() {
- try {
- Field f = sun.misc.Unsafe.class.getDeclaredField("theUnsafe");
- f.setAccessible(true);
- sun.misc.Unsafe u= (sun.misc.Unsafe) f.get(null);
- u.setMemory(u, -10L,1024L,(byte)0);
- u.hashCode();
- } catch (Exception e) {
- /* ... */
- }
- }
-
-
-
-
-
-
-
- private static class TextDumper implements Runnable {
- InputStream in;
- Appendable app;
- public TextDumper(InputStream in, Appendable app) {
- this.in = in;
- this.app = app;
- }
- public void run() {
- InputStreamReader isr = new InputStreamReader(in);
- BufferedReader br = new BufferedReader(isr);
- String next;
- try {
- while ((next = br.readLine()) != null) {
- if (app != null) {
- app.append(next);
- app.append("\n");
- }
- }
- } catch (IOException e) {
- throw new RuntimeException("exception while reading process stream", e);
- }
- }
- }
-
-
-
-
-
-
-
-
- private static int numEntered = 0, numMax = 0;
- private static javax.swing.JButton btnAbbr;
- private static javax.swing.JButton btnClear;
- private static javax.swing.JButton btnOk;
- private static javax.swing.JTextField entrdNbr;
- private static javax.swing.JButton k0;
- private static javax.swing.JButton k1;
- private static javax.swing.JButton k2;
- private static javax.swing.JButton k3;
- private static javax.swing.JButton k4;
- private static javax.swing.JButton k5;
- private static javax.swing.JButton k6;
- private static javax.swing.JButton k7;
- private static javax.swing.JButton k8;
- private static javax.swing.JButton k9;
- private static javax.swing.JButton kC;
- }
|