assertEquals(portlet.getExpirationCache(), -1);
List<EventDefinition> events = app.getEventDefinitions();
assertNotNull(events);
assertTrue(events.size() == 3);
EventDefinition event1 = events.get(0);
assertNotNull(event1);
assertEquals(event1.getName(), "plainOldEvent");
assertEquals(event1.getValueType(), "java.lang.String");
QName q = event1.getQName();
// if the event definition is registered without QName, then the default namespace of app will be used.
assertEquals(q.getNamespaceURI(), "http:apache.org/events");
assertEquals(q.getPrefix(), "");
Description en = event1.getDescription(new Locale("en"));
assertEquals(en.getDescription(), "The Plain Old Event");
Description fr = event1.getDescription(new Locale("fr"));
assertEquals(fr.getDescription(), "Le Vieux Ordinaire �v�nement");
EventDefinition event2 = events.get(1);
assertNotNull(event2);
QName qname = event2.getQName();
assertEquals(qname.getNamespaceURI(), "http:portals.apache.org/events");
assertEquals(qname.getLocalPart(), "qualifiedEvent");
assertEquals(event2.getValueType(), "java.lang.String");
assertEquals(qname.getPrefix(), "");
EventDefinition event3 = events.get(2);
assertNotNull(event3);
QName qname3 = event3.getQName();
assertEquals(qname3.getNamespaceURI(), "http:portals.apache.org/events");
assertEquals(qname3.getLocalPart(), "prefixedEvent");
assertEquals(qname3.getPrefix(), "x");
assertEquals(event3.getValueType(), "java.lang.String");
QName alias1 = event3.getAliases().get(0);
assertEquals(alias1.getLocalPart(), "local-1");
QName alias2 = event3.getAliases().get(1);
assertEquals(alias2.getLocalPart(), "local-2");
assertEquals(alias2.getNamespaceURI(), "http:2portals.apache.org/events");
QName alias3 = event3.getAliases().get(2);
assertEquals(alias3.getLocalPart(), "local-3");
assertEquals(alias3.getNamespaceURI(), "http:3portals.apache.org/events");
assertEquals(alias3.getPrefix(), "p");
List<EventDefinitionReference> refs = portlet.getSupportedProcessingEvents();