niedenzu

Hints and tricks for developers

Martins Amazon Wunschliste

Eclipse Helios (3.6) ist raus! 23. June 2010

Ich habs natürlich gleich mal runtergeladen.
It’s new and shiny!

No Comments on Eclipse Helios (3.6) ist raus!
Categories: Uncategorized

J2EE Security im IBM WebSphere Application Server 7 (WAS7) 16. June 2010

Wie in jedem normalen J2EE Servlet Container kann auch beim WAS die Security über Rollen eingestellt werden. Voraussetzung ist natürlich, dass die J2EE-Anwendung Security Roles definiert und nutzt. Die Definition erfolgt wie gewohnt in der web.xml:

    <security-role id="loeschen">
<description>Bla bla </description>
<role-name>loeschen</role-name>
</security-role>

Im WebSphere muss die Sicherheit für die deployten Anwendungen generell aktiviert werden. Dies geschieht in der Admin-Console unter Sicherheit > Sichere Verwaltung, Anwendungen und Infrastruktur:

Der Haken “Anwendungssicherheit aktivieren” muss gesetzt werden.

Beim Deployment der Anwendung im WebSphere (egal, ob über Skript oder die Admin-Console) liest der Server die definierten Rollen aus.
Nach dem Deployment kann der Administrator dann den Rollen der Anwendung verschiedene Benutzer oder Benutzer-Gruppen zuordnen. Dazu in der Admin-Console unter Anwendungen > Enterprise-Anwendungen auf die Anwendung klicken. Dann auf “Zuordnung von Sicherheitsaufgabenbereichen zu Benutzern/Gruppen” klicken:


Im folgenden Dialog werden die Rollen der Web-Anwendung aufgelistet. Hier die Rolle markieren, der man Gruppen oder Benutzer zuordnen möchte und auf “Benutzer suchen” oder “Gruppe suchen” klicken.

Darauf öffnet sich der Suchen-Dialog.

Über den Suchen-Button können verfügbare Benutzer (oder Gruppen) gesucht werden. Dann braucht man nur noch auf der linken Seite den Benutzer auszuwählen und über den “>>”-Button in die Liste der zugeordneten Benutzer bewegen. Mit OK wird die Einstellung gespeichert. Danach noch das obligatorische Speichern in der Masterkonfiguration und die Rollenzuordnung steht in der Anwendung zur Verfügung.

Automatisches Deployment von Gruppen-Rollen-Zuordnungen:

Möchte man die in der Websphere-Oberfläche eingestellten Zuordnungen beim nächsten Deployment automatisch vergeben, so gibt es eine Möglichkeit, diese im ear-File der Anwendung mitzuliefern.

Die Einstellungen speichert der WebSphere im Profil-Verzeichnis in der Konfiguration der Anwendung im Ordner

...wp_profileconfigcellsRechner-Nameapplicationsmein_ear.eardeploymentsmein_earMETA-INF

Dabei kommt es auf die beiden Dateien

application.xml
ibm-application-bnd.xmi

an. Diese sind in den META-INF-Ordner des ear-Projektes zu kopieren. Beim nächsten Deployment des ear-Files werden so die Gruppen-Rollenzuordnungen automatisch mit installiert.

No Comments on J2EE Security im IBM WebSphere Application Server 7 (WAS7)

Mehrzeilige Tooltips in JSF bzw. HTML 9. June 2010

W3Schools.com

<a href="#" title="Der einzeilige Tooltip">W3Schools.com</a>
<p title="Free Web tutorials">W3Schools.com</p>

Machmal genügt ein einzeiliger Tooltip nicht.

<style type="text/css">
a.de_wwaag_alma_a_info{
position:relative;
z-index:24;
color:#ffffff;
background-color:#ff0000;
text-decoration:none
}

a.de_wwaag_alma_a_info:hover{z-index:25;}

a.de_wwaag_alma_a_info span{display: none}

a.de_wwaag_alma_a_info:hover span{
display:block;
position:absolute;
width:400px;
padding:5px;
border:1px solid #000;
background-color:#ffffce;
text-align: left
<style>

<f:verbatim>
<a class="de_wwaag_alma_a_info">
<img alt="" src="/alma-portlets/img/alma_info.png">
<span>Mit Hilfe einer jährlich extern durchgeführten Beschwerdeführer-Befragung
soll eine höhere Kundenzufriedenheit erreicht werden. Einige Beschwerdevorgänge
(z. B. Mahnfälle) eignen sich nicht dazu, mit einem zeitlichen Abstand durch Dritte
noch einmal telefonisch beim Kunden in Erinnerung gerufen zu werden. Das Ankreuzfeld
soll Ihnen nach Ihrem Ermessen ermöglichen, diesen Beschwerdefall von künftigen
Befragungsaktionen auszunehmen
</span>
</a>
</f:verbatim>

No Comments on Mehrzeilige Tooltips in JSF bzw. HTML
Categories: Uncategorized

Sanfte Migration von Hibernate zu JPA 7. June 2010

Ist es möglich JPA und hibernate gleichzeitig zu verwenden?
Wie kann ich alle Vorteile von Hibernate verwenden und zugleich möglichst name am Standard bleiben?
Wie konfiguriert man JPA?

Das zentrale Konfigurationsfile bei JPA heißt persistence.xml.
Es muß sich im Source-Folder im META-INF Verzeichnis befinden.
Im nun folgenden Beispiel wird angenommen, das Hibernate als Persistenzschicht eingesetzte wurde. Eine einfache Möglichkeit ist es das JPA mittels einer bestehenden hibernate.cfg.xml zu konfigurieren.


<persistence>
<persistence-unit name="manager1" type="RESOURCE_LOCAL">
<properties>
<property name="hibernate.ejb.cfgfile" value="hibernate.cfg.xml">
</property>
</properties>
</persistence-unit>
</persistence>

In einer Real-Word-Anwendung würde man Spring zur Konfiguration der Anwendung verwenden. Das Obige Beispiel sollte für JPA-Tools oder einfache Test auf jeden Fall ausreichen.

Eclipse bietet mit seinen WebTools schon Unterstützung für JPA.

Eingebaute Unterstützung für JPA innerhalb Eclipse.
Gut hat aus unserer Sicht die Generierung von Klassen aus dem Datenbankmodel funktioniert.

No Comments on Sanfte Migration von Hibernate zu JPA
Categories: Uncategorized

Javascript Währung und Telefonnummer validator 2. June 2010

Es kommt häufiger vor, dass man eine Telefonnummer oder einen Währungsbetrag mittels Javascript validieren möchte. Die folgenden 2 Methoden erfüllen diesen Zweck.
Viel Spaß damit.


function validate_currency(inputField) {
if (inputField.value!="") {
inputField.value = inputField.value.replace(/^s+|s+$/g, ''); //trimming the string
var Ergebnis = inputField.value.search(/^[1-9][0-9]{0,2}(.[0-9]{3})*(,[0-9]{2})$/);
if (Ergebnis == -1) {
inputField.style.backgroundColor = "#FFDDCF";
inputField.focus();
inputField.value = inputField.value; //Trick to set the cursors
} else {
inputField.style.backgroundColor = "";
}
}
}

function validate_telefonnummer(inputField) {
//Überprüfe auf gültiges Format
if (inputField.value!="") {
var Ergebnis = inputField.value.search(/(?:(?:+|00)[1-9][0-9]{0,3} ?)?(?:([1-9][0-9]{0,5})|0?[1-9][0-9]{0,5})(?: (?:/ ))?[1-9](?: ?[0-9]){3,7}(?: ?-(?: ?[0-9]){1,5})?/);
if (Ergebnis == -1) {
//document.getElementById("de_wwag_alma_history_EX123").style.display=""; //nicht mehr none -> sichbar
//return false; //formular wir nicht abgeschickt
inputField.style.backgroundColor = "#FFDDCF";
inputField.focus();
return false;
} else {
inputField.style.backgroundColor = "";
}
}
}
No Comments on Javascript Währung und Telefonnummer validator
Categories: Uncategorized
Martin Rocks