Commit 074aa366 by Tuomas Riihimäki

Renamed EventSettings entity and references to EventOrganiser

Added PdfPrinter which prints a pdf-bill from given Bill Entity
Added PDFJet.jar library to LanBoralBeans project
1 parent edf469a6
......@@ -4,10 +4,10 @@ import javax.ejb.EJB;
import javax.ejb.Stateless;
import fi.insomnia.bortal.facade.EventFacade;
import fi.insomnia.bortal.facade.EventSettingsFacade;
import fi.insomnia.bortal.facade.EventOrganiserFacade;
import fi.insomnia.bortal.facade.UserFacade;
import fi.insomnia.bortal.model.Event;
import fi.insomnia.bortal.model.EventSettings;
import fi.insomnia.bortal.model.EventOrganiser;
import fi.insomnia.bortal.model.User;
/**
......@@ -23,7 +23,7 @@ public class EventBean implements EventBeanLocal {
private EventFacade eventFacade;
@EJB
private EventSettingsFacade eventSettingsFacade;
private EventOrganiserFacade eventOrganiserFacade;
@EJB
private UserFacade userFacade;
......@@ -45,21 +45,21 @@ public class EventBean implements EventBeanLocal {
ret = new Event();
ret.setReferer("");
ret.setName(DEFAULT_EVENT_NAME);
ret.setSettings(findOrCreateDefaultEventSettings());
ret.setOrganiser(findOrCreateDefaultEventOrganisation());
eventFacade.create(ret);
}
return ret;
}
public EventSettings findOrCreateDefaultEventSettings() {
EventSettings settings = eventSettingsFacade.findByOrganisation(DEFAULT_ORGANISATION_NAME);
public EventOrganiser findOrCreateDefaultEventOrganisation() {
EventOrganiser settings = eventOrganiserFacade.findByOrganisation(DEFAULT_ORGANISATION_NAME);
if (settings == null) {
settings = new EventSettings();
settings = new EventOrganiser();
settings.setOrganisation(DEFAULT_ORGANISATION_NAME);
User defaultUser = userFacade.getOrCreateDefaultUser();
settings.setAdmin(defaultUser);
eventSettingsFacade.create(settings);
eventOrganiserFacade.create(settings);
}
return settings;
......
......@@ -12,13 +12,13 @@ import javax.ejb.Stateless;
import fi.insomnia.bortal.facade.EventFacade;
import fi.insomnia.bortal.facade.EventMapFacade;
import fi.insomnia.bortal.facade.EventSettingsFacade;
import fi.insomnia.bortal.facade.EventOrganiserFacade;
import fi.insomnia.bortal.facade.EventStatusFacade;
import fi.insomnia.bortal.facade.PlaceFacade;
import fi.insomnia.bortal.facade.UserFacade;
import fi.insomnia.bortal.model.Event;
import fi.insomnia.bortal.model.EventMap;
import fi.insomnia.bortal.model.EventSettings;
import fi.insomnia.bortal.model.EventOrganiser;
import fi.insomnia.bortal.model.EventStatus;
import fi.insomnia.bortal.model.Place;
import fi.insomnia.bortal.model.User;
......@@ -35,7 +35,7 @@ public class TestDataBean implements TestDataBeanLocal {
@EJB
private EventStatusFacade eventStatusFacade;
@EJB
private EventSettingsFacade eventSettingsFacade;
private EventOrganiserFacade eventOrganiserFacade;
@EJB
private EventFacade eventFacade;
@EJB
......@@ -101,14 +101,14 @@ public class TestDataBean implements TestDataBeanLocal {
eventStatusFacade.create(status);
EventSettings settings = new EventSettings();
EventOrganiser settings = new EventOrganiser();
settings.setOrganisation("MUN ORGANISAATIO; EI SUN!");
settings.setAdmin(generateUser());
eventSettingsFacade.create(settings);
eventOrganiserFacade.create(settings);
Event event = new Event();
event.setName("testEvent");
event.setSettings(settings);
event.setOrganiser(settings);
event.setStatus(status);
eventFacade.create(event);
......
package fi.insomnia.bortal.beanutil.pdfprinter;
public enum LineStyle {
THIN, THICK, NORMAL
}
......@@ -6,25 +6,25 @@ import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;
import fi.insomnia.bortal.model.EventSettings;
import fi.insomnia.bortal.model.EventOrganiser;
@Stateless
@LocalBean
public class EventSettingsFacade extends GenericFacade<Integer, EventSettings> {
public class EventOrganiserFacade extends GenericFacade<Integer, EventOrganiser> {
@PersistenceContext
private EntityManager em;
public EventSettingsFacade() {
super(EventSettings.class);
public EventOrganiserFacade() {
super(EventOrganiser.class);
}
protected EntityManager getEm() {
return em;
}
public EventSettings findByOrganisation(String organisation) {
TypedQuery<EventSettings> q = em.createNamedQuery("EventSettings.findByOrganisation", EventSettings.class);
public EventOrganiser findByOrganisation(String organisation) {
TypedQuery<EventOrganiser> q = em.createNamedQuery("EventOrganiser.findByOrganisation", EventOrganiser.class);
q.setParameter("organisation", organisation);
return getSingleNullableResult(q);
}
......
No preview for this file type
......@@ -30,7 +30,7 @@ import javax.persistence.Version;
*/
@Entity
@Table(name = "account_events")
@NamedQueries( {
@NamedQueries({
@NamedQuery(name = "AccountEvent.findAll", query = "SELECT a FROM AccountEvent a"),
@NamedQuery(name = "AccountEvent.findByUnitPrice", query = "SELECT a FROM AccountEvent a WHERE a.unitPrice = :unitPrice"),
@NamedQuery(name = "AccountEvent.findByUnits", query = "SELECT a FROM AccountEvent a WHERE a.units = :units"),
......@@ -72,7 +72,7 @@ public class AccountEvent implements EventChildInterface {
* If this AccountEvent is a product in foodwace, this field is a reference
* to that foodwave.
*/
@JoinColumns( {
@JoinColumns({
@JoinColumn(name = "food_wave_id", referencedColumnName = "id"),
@JoinColumn(name = "event_id", referencedColumnName = "event_id", updatable = false, insertable = false) })
@ManyToOne
......@@ -82,7 +82,7 @@ public class AccountEvent implements EventChildInterface {
* The product user has acquired and this this AccountEvent is a reference
* to.
*/
@JoinColumns( {
@JoinColumns({
@JoinColumn(name = "product_id", referencedColumnName = "id", nullable = false),
@JoinColumn(name = "event_id", referencedColumnName = "event_id", nullable = false, updatable = false, insertable = false) })
@ManyToOne(optional = false)
......@@ -113,7 +113,7 @@ public class AccountEvent implements EventChildInterface {
* When user has paid a bill a Account event for product "Credit" is created
* and reference to that bill is here..
*/
@JoinColumns( {
@JoinColumns({
@JoinColumn(name = "bill_id", referencedColumnName = "id", nullable = false, updatable = false, insertable = false),
@JoinColumn(name = "event_id", referencedColumnName = "event_id", nullable = false, updatable = false, insertable = false) })
@OneToOne
......
......@@ -23,6 +23,7 @@ import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Version;
import static javax.persistence.TemporalType.DATE;
/**
* The system can send bills to the users. When user pays bill a AccountEvent
......@@ -31,7 +32,7 @@ import javax.persistence.Version;
*/
@Entity
@Table(name = "bills")
@NamedQueries( {
@NamedQueries({
@NamedQuery(name = "Bill.findAll", query = "SELECT b FROM Bill b"),
@NamedQuery(name = "Bill.findByDueDate", query = "SELECT b FROM Bill b WHERE b.dueDate = :dueDate"),
......@@ -60,12 +61,38 @@ public class Bill implements EventChildInterface {
private Calendar paidDate;
/**
* Reference number of the bill.
* The bill number from which the reference number will be generated
*
* @See http://www.fkl.fi/www/page/fk_www_1293
*
*/
@Column(name = "reference_number")
private String referenceNumber;
@Column(name = "bill_number")
private Integer billNumber;
/**
* Address where the bill should be sent;
*/
private String addr1;
private String addr2;
private String addr3;
private String addr4;
private String addr5;
@Column(nullable = false, name = "sent_time")
@Temporal(DATE)
private Calendar sentDate = Calendar.getInstance();
@Column(name = "payment_time", nullable = false)
private Integer paymentTime = 0;
@Column(name = "notice_days", nullable = false)
private String noticetime = "8 vrk";
@Column(name = "their_reference", nullable = false)
private String theirReference = "";
@Column(name = "our_reference", nullable = false)
private String ourReference = "";
@Column(name = "delivery_terms", nullable = false)
private String deliveryTerms = "";
@Column(name = "delay_intrest", nullable = false)
private Integer delayIntrest = 11;
/**
* Notes for the event organisators about the bill.
......@@ -84,7 +111,7 @@ public class Bill implements EventChildInterface {
* When the bill is paid this AccountEvent is created and this is a
* reference to that accountAction.
*/
@JoinColumns( {
@JoinColumns({
@JoinColumn(name = "account_event_id", referencedColumnName = "id", updatable = false),
@JoinColumn(name = "event_id", referencedColumnName = "event_id", updatable = false, insertable = false) })
@OneToOne
......@@ -101,6 +128,10 @@ public class Bill implements EventChildInterface {
@JoinColumn(name = "event_id", referencedColumnName = "event_id", updatable = false, insertable = false)
private Event event;
public Integer getReferenceNumberBase() {
return event.getReferenceNumberBase() + billNumber;
}
/**
* Commodity function to calculate the total price of the bill.
*
......@@ -115,6 +146,19 @@ public class Bill implements EventChildInterface {
}
/**
* Commodity function to calculate the total price of the bill.
*
* @return The total sum of the bill ( unitPrice * units * vat )
*/
public BigDecimal totalVat() {
BigDecimal total = BigDecimal.ZERO;
for (BillLine line : getBillLines()) {
total = total.add(line.getLineVat());
}
return total;
}
/**
* Commodity function to return the vatless price of the bill
*
* @return The total VAT-less sum of the bill ( unitPrice * units )
......@@ -164,14 +208,6 @@ public class Bill implements EventChildInterface {
this.paidDate = paidDate;
}
public String getReferenceNumber() {
return referenceNumber;
}
public void setReferenceNumber(String referenceNumber) {
this.referenceNumber = referenceNumber;
}
public String getNotes() {
return notes;
}
......@@ -248,4 +284,109 @@ public class Bill implements EventChildInterface {
public Event getEvent() {
return event;
}
public void setBillNumber(Integer billNumber) {
this.billNumber = billNumber;
}
public Integer getBillNumber() {
return billNumber;
}
public String getAddr1() {
return addr1;
}
public void setAddr1(String addr1) {
this.addr1 = addr1;
}
public String getAddr2() {
return addr2;
}
public void setAddr2(String addr2) {
this.addr2 = addr2;
}
public String getAddr3() {
return addr3;
}
public void setAddr3(String addr3) {
this.addr3 = addr3;
}
public String getAddr4() {
return addr4;
}
public void setAddr4(String addr4) {
this.addr4 = addr4;
}
public String getAddr5() {
return addr5;
}
public void setAddr5(String addr5) {
this.addr5 = addr5;
}
public Calendar getSentDate() {
return sentDate;
}
public void setSentDate(Calendar sentDate) {
this.sentDate = sentDate;
}
public String getNoticetime() {
return noticetime;
}
public void setNoticetime(String noticetime) {
this.noticetime = noticetime;
}
public String getOurReference() {
return ourReference;
}
public void setOurReference(String ourReference) {
this.ourReference = ourReference;
}
public void setTheirReference(String theirReference) {
this.theirReference = theirReference;
}
public String getTheirReference() {
return theirReference;
}
public void setDeliveryTerms(String deliveryTerms) {
this.deliveryTerms = deliveryTerms;
}
public String getDeliveryTerms() {
return deliveryTerms;
}
public void setPaymentTime(Integer paymentTime) {
this.paymentTime = paymentTime;
}
public Integer getPaymentTime() {
return paymentTime;
}
public void setDelayIntrest(Integer delayIntrest) {
this.delayIntrest = delayIntrest;
}
public Integer getDelayIntrest() {
return delayIntrest;
}
}
......@@ -23,7 +23,7 @@ import javax.persistence.Version;
*/
@Entity
@Table(name = "bill_lines")
@NamedQueries( {
@NamedQueries({
@NamedQuery(name = "BillLine.findAll", query = "SELECT b FROM BillLine b"),
@NamedQuery(name = "BillLine.findByProduct", query = "SELECT b FROM BillLine b WHERE b.name = :name"),
......@@ -57,6 +57,12 @@ public class BillLine implements EventChildInterface {
private BigDecimal unitPrice = BigDecimal.ZERO;
/**
*
*/
@Column(name = "unit_name", nullable = false)
private String unitName = "";
/**
* How much VAT this product contains ( 0, 0.22 ) etc
*/
@Column(name = "vat", nullable = false, precision = 3, scale = 2)
......@@ -65,7 +71,7 @@ public class BillLine implements EventChildInterface {
/**
* Which bill this bill line belongs to
*/
@JoinColumns( {
@JoinColumns({
@JoinColumn(name = "bill_id", referencedColumnName = "id", nullable = false, updatable = false),
@JoinColumn(name = "event_id", referencedColumnName = "event_id", nullable = false, updatable = false, insertable = false) })
@ManyToOne
......@@ -85,6 +91,10 @@ public class BillLine implements EventChildInterface {
return getLinePriceVatless().multiply(vatMultiplicand);
}
public BigDecimal getLineVat() {
return getLinePriceVatless().multiply(getVat());
}
/**
* Calculate the total VAT-less price for the items on this lin
*
......@@ -102,9 +112,10 @@ public class BillLine implements EventChildInterface {
this.bill = bill;
}
public BillLine(Event event, Bill bill, String product, BigDecimal units,
public BillLine(Event event, Bill bill, String product, String unitName, BigDecimal units,
BigDecimal unitPrice, BigDecimal vat) {
this(event, bill);
this.unitName = unitName;
this.name = product;
this.setQuantity(units);
this.setUnitPrice(unitPrice);
......@@ -198,4 +209,12 @@ public class BillLine implements EventChildInterface {
return vat;
}
public void setUnitName(String unitName) {
this.unitName = unitName;
}
public String getUnitName() {
return unitName;
}
}
......@@ -58,9 +58,17 @@ public class Event implements ModelInterface<Integer> {
@Column(name = "referer")
private String referer;
@JoinColumn(name = "event_settings_id", referencedColumnName = "event_settings_id", nullable = false, updatable = false)
/**
* Bill's reference number will be formed by adding
* this number to the bill number and adding the
* checksum of that number as the last digit
*/
private Integer referenceNumberBase = 54321;
@JoinColumn(name = "event_organiser_id", referencedColumnName = "event_organiser_id", nullable = false, updatable = false)
@ManyToOne(optional = false)
private EventSettings settings;
private EventOrganiser organiser;
@JoinColumn(name = "event_status_id", referencedColumnName = "event_status_id", nullable = false)
@ManyToOne(optional = false)
......@@ -97,14 +105,6 @@ public class Event implements ModelInterface<Integer> {
public Event() {
}
public Event(EventSettings settings) {
this.settings = settings;
}
public Event(EventSettings settings, String name) {
this.settings = settings;
this.name = name;
}
public Calendar getStartTime() {
return startTime;
......@@ -138,14 +138,6 @@ public class Event implements ModelInterface<Integer> {
this.referer = referer;
}
public EventSettings getSettings() {
return settings;
}
public void setSettings(EventSettings eventSettingsId) {
this.settings = eventSettingsId;
}
public EventStatus getStatus() {
return status;
}
......@@ -284,4 +276,25 @@ public class Event implements ModelInterface<Integer> {
public void setReaders(List<Reader> readers) {
this.readers = readers;
}
public void setOrganiser(EventOrganiser organiser) {
this.organiser = organiser;
}
public EventOrganiser getOrganiser() {
return organiser;
}
public void setReferenceNumberBase(Integer referenceNumberBase) {
this.referenceNumberBase = referenceNumberBase;
}
public Integer getReferenceNumberBase() {
return referenceNumberBase;
}
}
......@@ -5,7 +5,6 @@
package fi.insomnia.bortal.model;
import java.io.Serializable;
/**
*
......
......@@ -15,7 +15,6 @@ import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
......
......@@ -24,17 +24,17 @@ import javax.persistence.Version;
*
*/
@Entity
@Table(name = "event_settings")
@Table(name = "event_organiser")
@NamedQueries( {
@NamedQuery(name = "EventSettings.findAll", query = "SELECT e FROM EventSettings e"),
@NamedQuery(name = "EventSettings.findByOrganisation", query = "SELECT e FROM EventSettings e WHERE e.organisation = :organisation"),
@NamedQuery(name = "EventSettings.findByBundleCountry", query = "SELECT e FROM EventSettings e WHERE e.bundleCountry = :bundleCountry") })
public class EventSettings implements ModelInterface<Integer> {
@NamedQuery(name = "EventOrganiser.findAll", query = "SELECT e FROM EventOrganiser e"),
@NamedQuery(name = "EventOrganiser.findByOrganisation", query = "SELECT e FROM EventOrganiser e WHERE e.organisation = :organisation"),
@NamedQuery(name = "EventOrganiser.findByBundleCountry", query = "SELECT e FROM EventOrganiser e WHERE e.bundleCountry = :bundleCountry") })
public class EventOrganiser implements ModelInterface<Integer> {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "event_settings_id", nullable = false)
@Column(name = "event_organiser_id", nullable = false)
private Integer id;
@Column(name = "organisation")
......@@ -43,7 +43,7 @@ public class EventSettings implements ModelInterface<Integer> {
@Column(name = "bundle_country")
private String bundleCountry;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "settings")
@OneToMany(cascade = CascadeType.ALL, mappedBy = "organiser")
private List<Event> events;
@ManyToOne
......@@ -54,7 +54,26 @@ public class EventSettings implements ModelInterface<Integer> {
@Column(nullable = false)
private int jpaVersionField = 0;
public EventSettings() {
@Column(nullable = false,name="bill_address1")
private String billAddress1 = "";
@Column(nullable = false,name="bill_address2")
private String billAddress2 = "";
@Column(nullable = false,name="bill_address3")
private String billAddress3 = "";
@Column(nullable = false,name="bill_address4")
private String billAddress4 = "";
@Column(nullable = false,name="bank_number1")
private String bankNumber1;
@Column(nullable = false,name="bank_number2")
private String bankNumber2;
@Column(nullable = false,name="bank_name1")
private String bankName1;
@Column(nullable = false,name="bank_name2")
private String bankName2;
public EventOrganiser() {
}
public List<Event> getEvents() {
......@@ -76,10 +95,10 @@ public class EventSettings implements ModelInterface<Integer> {
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are
// not set
if (!(object instanceof EventSettings)) {
if (!(object instanceof EventOrganiser)) {
return false;
}
EventSettings other = (EventSettings) object;
EventOrganiser other = (EventOrganiser) object;
if ((this.getId() == null && other.getId() != null)
|| (this.getId() != null && !this.id.equals(other.id))) {
return false;
......@@ -89,7 +108,7 @@ public class EventSettings implements ModelInterface<Integer> {
@Override
public String toString() {
return "fi.insomnia.bortal.model.EventSettings[id=" + getId() + "]";
return "fi.insomnia.bortal.model.EventOrganiser[id=" + getId() + "]";
}
/**
......@@ -170,4 +189,69 @@ public class EventSettings implements ModelInterface<Integer> {
public void setAdmin(User admin) {
this.admin = admin;
}
public String getBillAddress1() {
return billAddress1;
}
public void setBillAddress1(String billAddress1) {
this.billAddress1 = billAddress1;
}
public String getBillAddress2() {
return billAddress2;
}
public void setBillAddress2(String billAddress2) {
this.billAddress2 = billAddress2;
}
public String getBillAddress3() {
return billAddress3;
}
public void setBillAddress3(String billAddress3) {
this.billAddress3 = billAddress3;
}
public String getBillAddress4() {
return billAddress4;
}
public void setBillAddress4(String billAddress4) {
this.billAddress4 = billAddress4;
}
public String getBankNumber1() {
return bankNumber1;
}
public void setBankNumber1(String bankNumber1) {
this.bankNumber1 = bankNumber1;
}
public String getBankNumber2() {
return bankNumber2;
}
public void setBankNumber2(String bankNumber2) {
this.bankNumber2 = bankNumber2;
}
public String getBankName1() {
return bankName1;
}
public void setBankName1(String bankName1) {
this.bankName1 = bankName1;
}
public String getBankName2() {
return bankName2;
}
public void setBankName2(String bankName2) {
this.bankName2 = bankName2;
}
}
......@@ -30,7 +30,7 @@ public class EventPk implements Serializable {
super();
this.eventId = event.getId();
}
public EventPk(Integer eventId) {
super();
this.eventId = eventId;
......@@ -59,6 +59,10 @@ public class EventPk implements Serializable {
return pk.id == this.id && pk.eventId == this.eventId;
}
@Override
public String toString() {
return "fi.insomnia.bortal.model.EventPk[id=" + id + ", eventId=" + eventId + "]";
}
// public void setEvent(Event event) {
// this.event = event;
// }
......
......@@ -164,7 +164,7 @@ public class User implements ModelInterface<Integer> {
private int jpaVersionField = 0;
@OneToMany(mappedBy = "admin")
private List<EventSettings> eventSettings;
private List<EventOrganiser> eventOrganiser;
@Transient
private static final Logger logger = LoggerFactory.getLogger(User.class);
......@@ -519,20 +519,7 @@ public class User implements ModelInterface<Integer> {
this.confirmTime = confirmTime;
}
/**
* @return the eventSettings
*/
public List<EventSettings> getEventSettings() {
return eventSettings;
}
/**
* @param eventSettings
* the eventSettings to set
*/
public void setEventSettings(List<EventSettings> eventSettings) {
this.eventSettings = eventSettings;
}
public void resetPassword(String password) {
String newEncryptedPassword = PasswordFunctions.getEncryptedPassword(password);
......@@ -543,4 +530,12 @@ public class User implements ModelInterface<Integer> {
boolean matches = PasswordFunctions.checkPlainPassword(plainPassword, this.password);
return matches;
}
public void setEventOrganiser(List<EventOrganiser> eventOrganiser) {
this.eventOrganiser = eventOrganiser;
}
public List<EventOrganiser> getEventOrganiser() {
return eventOrganiser;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>LanBortalWeb</display-name>
<context-param>
<param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
<servlet-mapping>
<servlet-name>PlaceMap</servlet-name>
<url-pattern>/PlaceMap</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsf</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>PlaceMap</servlet-name>
<servlet-class>fi.insomnia.bortal.servlet.PlaceMap</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<filter>
<display-name>HostnameFilter</display-name>
<filter-name>HostnameFilter</filter-name>
<filter-class>fi.insomnia.bortal.HostnameFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HostnameFilter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>omniarealm</realm-name>
<form-login-config>
<form-login-page>/auth/login.jsf</form-login-page>
<form-error-page>/auth/loginError.jsf</form-error-page>
</form-login-config>
</login-config>
<security-role>
<role-name>admin</role-name>
</security-role>
<security-role>
<role-name>user</role-name>
</security-role>
<security-constraint>
<web-resource-collection>
<web-resource-name>forbidden</web-resource-name>
<url-pattern>*.xhtml</url-pattern>
</web-resource-collection>
<auth-constraint>
<description>Thou shall not read the sources..</description>
</auth-constraint>
</security-constraint>
</web-app>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>LanBortalWeb</display-name>
<context-param>
<param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
<servlet-mapping>
<servlet-name>PlaceMap</servlet-name>
<url-pattern>/PlaceMap</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsf</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>PlaceMap</servlet-name>
<servlet-class>fi.insomnia.bortal.servlet.PlaceMap</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<filter>
<display-name>HostnameFilter</display-name>
<filter-name>HostnameFilter</filter-name>
<filter-class>fi.insomnia.bortal.HostnameFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HostnameFilter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>omniarealm</realm-name>
<form-login-config>
<form-login-page>/auth/login.jsf</form-login-page>
<form-error-page>/auth/loginError.jsf</form-error-page>
</form-login-config>
</login-config>
<security-role>
<role-name>admin</role-name>
</security-role>
<security-role>
<role-name>user</role-name>
</security-role>
<security-constraint>
<web-resource-collection>
<web-resource-name>forbidden</web-resource-name>
<url-pattern>*.xhtml</url-pattern>
</web-resource-collection>
<auth-constraint>
<description>Thou shall not read the sources..</description>
</auth-constraint>
</security-constraint>
<servlet>
<description></description>
<display-name>BillPrint</display-name>
<servlet-name>BillPrint</servlet-name>
<servlet-class>fi.insomnia.bortal.servlet.BillPrint</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>BillPrint</servlet-name>
<url-pattern>/BillPrint</url-pattern>
</servlet-mapping>
</web-app>
\ No newline at end of file
......@@ -7,6 +7,7 @@ import javax.faces.context.FacesContext;
/***
* Access i18n localisations from Java code. Feel free to make up a better way.
* Note! works only when invoked from inside Faces context...
*
* @author jkj
*
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!