Dienstag, 1. Dezember 2009

SWT bei Enter den Focus auf nächstes Control setzen

Will man durch betätigen der Enter-Taste den Focus auf das nächste Control setzen, so kann man dies über die Methode traverse im Control erreichen.
Beispiel:
Text articleNumberText.addKeyListener(new KeyAdapter() {
 @Override
 public void keyReleased(KeyEvent e) {
  if(e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR){
   ((Control) e.widget).traverse(SWT.TRAVERSE_TAB_NEXT);
  }
 }
});

Enter Listener JFace Dialog

Wenn man in einem JFace Dialog die Enter-Taste anders belegen möchte, so muss man dafür sorgen, dass durch die Enter-Taste  nicht das okPressed ausgelöst wird.

Dies kann man damit erreichen, indem man die Methode protected Button createButton(Composite parent, int id, String label, boolean defaultButton) wie folgt überschreibt.


@Override
 protected Button createButton(Composite parent, int id, String label,
   boolean defaultButton) {
  return super.createButton(parent, id, label, false);
 }

Dadurch erreicht man, dass der automatisch erzeugt OK-Button nicht als DefaultButton in der ParentShell registriert wird und somit nicht bei Betätigung der Enter-Taste ausgelöst wird.

Eine weitere Möglichkeit ist noch einfach seine Button selbst zu erzeugen.
 @Override
 protected void createButtonsForButtonBar(Composite parent) {
  btnArtikelbernehmen = createButton(parent, IDialogConstants.OK_ID,
    IDialogConstants.OK_LABEL, false);
  createButton(parent, IDialogConstants.CANCEL_ID,
    IDialogConstants.CANCEL_LABEL, false);
 }

Montag, 22. Juni 2009

Magento URL Umleitung ohne www

Nachdem ich mich schon etwas länger darüber wundere warum ich immer noch Zugriffe im Shop ohne www in der Domain habe obwohl eine RewriteRule aktiv ist, hier mal eine Variante die auch funktioniert.
Die ganze Zeit war in der .htaccess eine Rule enthalten wie sie in verschiedenen Anleitungen zu dem Thema aufgeführt ist. Dies funktioniert nur leider nicht so wie ich es mit das erhofft habe.

Seit heute ist im Haushaltswaren-Shop folgende Ergänzung in der .htaccess enthalten.

RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.caweber\-style\.de
RewriteRule (.*) http://www.caweber-style.de/$1 [R=301,L]
Dieser Eintrag in der .htaccess hat zu Folge, dass sobald die Seite mit etwas anderem aufgerufen wird wie mit http://www.caweber-style.de eine Umleitung mittels Return-Code 301 (Moved Permanently) zu http://www.caweber-style.de erfolgt.

Wer es nicht glaubt einfach mal folgende URL aufrufen: http://caweber-style.de

Wichtig ist, dass bei der URL in der RewriteCond die Sonderzeichen gequotet werden.

Übrigends wird ein Aufruf auf http://caweber-style.de/test.html an die Adresse http://www.caweber-style.de/test.html weitergeleitet.


Samstag, 23. Mai 2009

Shop für Haushaltswaren online.

Nach Monaten harter Arbeit ist nun endlich vollbracht. Mein erster Magento Shop ist online.

Bei C. A. Weber kann man Haushaltswaren und Heimtextilien kaufen.

Besonders stolz bin ich darauf, dass es mir gelungen ist, alle Magento-Probleme mit der deutschen Mehrwertsteuer in den Griff zu bekommen.

Was haltet Ihr davon? Über Feedback würde ich mich sehr freuen.

Donnerstag, 26. Februar 2009

HTTP Proxy für Exchange Server SBS 2003

Heute muss irgendwie mein Glückstag sein.
Ich versuche bereits seit ein paar Monaten herauszufinden warum der HTTP-Proxy des Exchange-Servers eines Kunden nicht mehr funktioniert.

Heute habe ich aus Zufall die Lösung gefunden. Nachdem ich aus einem anderen Grund vom SBS aus versucht habe den selbigen zu pingen, stellte ich fest, dass IP V6 verwendet wird und nicht IP V4. Da klingelte es. Vor ein paar Tagen hatte ich im Netz gelesen, dass es Probleme mit dem IIS in Verbindung mit IP V6 gibt.
Nachdem ich das IP V6 Protokoll in der Netzwerkverbindung deinstalliert hatte, ging plötzlich auch wieder der HTTP-Proxy.

Ich rate jedem, der nicht unbedingt IP V6 Unterstützung benötigt, diese auch nicht zu konfigurieren. Wenn ich mich recht erinnere, sind die Probleme in den 2008er Servern behoben.

tcpdump für Wireshark

Ich bin ständig auf der Suche nach der Syntax wie man mit tcpdump Netzwerktraffic mitschneiden kann um dann später den Mitschnitt in dem Programm Wireshark zu betrachten.

Hier die Lösung aus der Wireshark Hilfe
tcpdump -i [interface] -s 1500 -w [filename]

Mittwoch, 11. Februar 2009

OutOfMemoryException beim Bauen mit Apache maven

Es kann in größeren Projekten passieren, dass maven nicht genügend Speicher zur Verfügung steht, um die Abhängigkeiten der einzelnen Projekte untereinander zu ermitteln. Mit Hilfe der Umgebungsvariable MAVEN_OPTS kann man durch Parameter die JVM, innerhalb der maven ausgeführt wird, beeinflussen.
Um nun den Speicher zu erhöhen, einfach den Inhalt "
-Xms128M -Xmx512M
" in die Umgebungsvariable speichern.

Linux: export
MAVEN_OPTS="-Xms128M -Xmx512M"
Windows: SET MAVEN_OPTS="-Xms128M -Xmx512M"


Wobei Xms die Initialgröße angibt und Xmx die Maximalgröße.

Java Hilfe zu den Optionen:

-Xmixed mixed mode execution (default)
-Xint interpreted mode execution only
-Xbootclasspath:
set search path for bootstrap classes and resources
-Xbootclasspath/a:
append to end of bootstrap class path
-Xbootclasspath/p:
prepend in front of bootstrap class path
-Xnoclassgc disable class garbage collection
-Xincgc enable incremental garbage collection
-Xloggc: log GC status to a file with time stamps
-Xbatch disable background compilation
-Xms set initial Java heap size
-Xmx set maximum Java heap size
-Xss set java thread stack size
-Xprof output cpu profiling data
-Xfuture enable strictest checks, anticipating future default
-Xrs reduce use of OS signals by Java/VM (see documentation)
-Xcheck:jni perform additional checks for JNI functions
-Xshare:off do not attempt to use shared class data
-Xshare:auto use shared class data if possible (default)
-Xshare:on require using shared class data, otherwise fail.

The -X options are non-standard and subject to change without notice.


Maven
Java