agave-apps/apps-core/src/main/java/org/iplantc/service/apps/managers/SoftwareEventProcessor.java
/**
	 * Looks up all active jobs for a given {@link Software#getUniqueName()} and
	 * triggers software events on them.
	 * 
	 * @param software
	 * @param eventName
	 * @param createdBy
	 * @param jsonNode
	 * @return
	 */
Looks up all active jobs for a given  Software#getUniqueName() and
triggers software events on them.


Looks up all active jobs for a given Software#getUniqueName () and triggers software events on them .
public int doUserJobEvents(Software software, String eventName, String jobOwner, String createdBy, ObjectNode jsonNode) {
		int sentEvents = 0;
		try {
			if (jsonNode == null) {
				jsonNode = mapper.createObjectNode();
			}
			for (String uuid: getDao().getActiveUserJobsForSoftware(software, jobOwner)) {
				fireNotification(uuid, "APP_" + eventName, createdBy, 
						(ObjectNode)jsonNode.deepCopy().set("job", mapper.createObjectNode().put("id", uuid)));
				sentEvents++;
			}
		}
		catch (Exception e) {
			log.error(e.getMessage(), e);
		}
		return sentEvents;
	}
public int doUserJobEvents ( Software software , String eventName , String jobOwner , String createdBy , ObjectNode jsonNode ) { int sentEvents = 0 ; try { if ( jsonNode == null ) { jsonNode = mapper . createObjectNode ( ) ; } for ( String uuid : getDao ( ) . getActiveUserJobsForSoftware ( software , jobOwner ) ) { fireNotification ( uuid , "APP_" + eventName , createdBy , ( ObjectNode ) jsonNode . deepCopy ( ) . set ( "job" , mapper . createObjectNode ( ) . put ( "id" , uuid ) ) ) ; sentEvents ++ ; } } catch ( Exception e ) { log . error ( e . getMessage ( ) , e ) ; } return sentEvents ; }
Looks up all active jobs for a given {@link Software#getUniqueName()} and
 triggers software events on them.
Looks up all active jobs for a given { @link Software#getUniqueName () } and triggers software events on them .