Ich möchte Anti-Samy von OWASP verwenden. Sie haben ein Richtlinienobjekt, das über eine Factory-Methode instanziiert wird.Spring: Injection Ressource als InputStream in eine Factory-Methode
Der InputStream, der an die Factory-Methode übergeben werden muss, stellt die Konfigurationsdatei für das Richtlinienobjekt dar.
Ist es möglich, eine Richtlinien-Bean in einer Spring XML Context Config zu erstellen? Ich weiß, dass es ein Ressource-Objekt gibt, das Dateien aus dem Klassenpfad laden kann. Aber was ich brauche ist, einen InputStream aus diesem Resource-Objekt zu machen. Kann ich das direkt im xml-spring-Kontext machen? Oder muss ich Java-Code schreiben, um den InputStream zu bekommen?
Hey, ich wusste nicht, dass Spring zu 'InputStream' zwingen könnte, das ist ordentlich. Beachten Sie jedoch, dass Spring den 'InputStream' selbst nicht schließt, sondern davon ausgeht, dass die Bean dies tut. Wenn die Klasse "Policy" diesen Stream nicht schließt, kommt es zu einem Leck. – skaffman
Gut beobachtet. Die Richtlinie schließt den InputStream nicht: http://code.google.com/p/owaspantisamy/source/browse/trunk/Java/current/antisamy-project/antisamy/src/main/java/org/owasp/validator/html /Policy.java#210. Dies sollte als Fehler gemeldet werden, ich denke –
Hm, dann werde ich den InputStream in Java-Code öffnen und schließen. Allerdings ist das Konstrukt sieht ordentlich aus, aber wenn ich es ausprobiere, bekomme ich eine FileNotFoundException, die mir sagt, dass es nicht finden kann ' Klassenpfad: tempo-antisamy.xml '. Irgendwie ist das Klassenpfad-Präfix nicht vom Dateinamen getrennt –
nebenmir