Package org.fenrir.yggdrasil.core.event

Examples of org.fenrir.yggdrasil.core.event.SimpleNotification


                }

                try{
                  // TODO Crear notificació que permeti la descàrrega de versions completes
                    // No cal assignar-li ID perquè serà una notificació de tipus únic
                    SimpleNotification notification = new SimpleNotification();
                    notification.setCaption("Tasca de comprobació d'actualitzacions");
                    notification.setMessage("Hi ha disponible una nova versió de l'aplicació per descarregar");                   
                    notification.setIconPath("/org/fenrir/yggdrasil/ui/icons/upgrade_22.png");                   
                    eventNotificationService.notifyNamedEvent(IApplicationNotificationListener.class,
                            IApplicationNotificationListener.EVENT_SINGLE_NOTIFICATION_ID, notification);               
                }
                catch(Exception e){
                    log.error("Error reportant notificació: {}", e.getMessage(), e);
                    // TODO Mostrar error per pantalla
               
            }
            // En el cas que es pugui actualitzar directament, es comproven les actualitzacions dels artifacts
            else{
              Map.Entry<String, String> artifactsEntry = (Map.Entry<String, String>)updates.entrySet().toArray()[0];
              List<ArtifactUpdateDescriptor> artifactDescriptors = updateService.checkArtifacts(artifactsEntry.getKey(), artifactsEntry.getValue());
              if(!artifactDescriptors.isEmpty()){
                  if(log.isDebugEnabled()){
                      log.debug("S'han trobat {} components per actualitzar", artifactDescriptors.size());
                  }
                 
                  updateService.createActionsFile(artifactDescriptors);
 
                  IApplicationNotification notification = (IApplicationNotification)ApplicationContext.getInstance().getRegisteredComponent(IApplicationNotification.class, NotificationEventConstants.NOTIFICATION_APPLICATION_UPDATED);
                  eventNotificationService.notifyNamedEvent(IApplicationNotificationListener.class,
                          IApplicationNotificationListener.EVENT_SINGLE_NOTIFICATION_ID, notification);               
              }                       
              else{
                  if(log.isDebugEnabled()){
                      log.debug("No s'han trobat noves actualitzacions per l'aplicació");
                  }
              }
            }
        }
        catch(Exception e){
            log.error("Error buscant actualitzacions de l'aplicació: {}", e.getMessage(), e);
           
            IApplicationNotification notification = (IApplicationNotification)ApplicationContext.getInstance().getRegisteredComponent(IApplicationNotification.class, NotificationEventConstants.NOTIFICATION_ERROR);
            notification.setMessage("Error a l'execució de la tasca d'actualització de l'aplicació");
            notification.setParameter(NotificationEventConstants.NOTIFICATION_PARAMETER_ERROR_DESCRIPTION, "Error a l'execució de la tasca d'actualització de l'aplicació");
            notification.setParameter(NotificationEventConstants.NOTIFICATION_PARAMETER_ERROR_THROWABLE, e);
            try{
                eventNotificationService.notifyNamedEvent(IApplicationNotificationListener.class,
                        IApplicationNotificationListener.EVENT_SINGLE_NOTIFICATION_ID, notification);
            }
            catch(Exception e2){
View Full Code Here

TOP

Related Classes of org.fenrir.yggdrasil.core.event.SimpleNotification

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.