public synchronized void invalidatePackageCache( @Observes final InvalidateDMOPackageCacheEvent event ) { PortablePreconditions.checkNotNull( "event", event ); final Path resourcePath = event.getResourcePath(); final Path packagePath = projectService.resolvePackage( resourcePath ); //If resource was not within a Package there's nothing to invalidate if ( packagePath != null ) { invalidateCache( packagePath ); } }
@Override public Path save( final Path resource, final String content, final Metadata metadata, final String comment ) { ioService.write( paths.convert( resource ), content, metadataService.setUpAttributes( resource, metadata ), makeCommentedOption( comment ) ); //Invalidate Package-level DMO cache as Enums have changed. invalidateDMOPackageCache.fire( new InvalidateDMOPackageCacheEvent( resource ) ); //Signal update to interested parties resourceUpdatedEvent.fire( new ResourceUpdatedEvent( resource ) ); return resource; }
@Override public Path save( final Path resource, final Scenario content, final Metadata metadata, final String comment ) { ioService.write( paths.convert( resource ), ScenarioXMLPersistence.getInstance().marshal( content ), metadataService.setUpAttributes( resource, metadata ), makeCommentedOption( comment ) ); //Invalidate Package-level DMO cache as Globals have changed. invalidatePackageDMOEvent.fire( new InvalidateDMOPackageCacheEvent( resource ) ); //Signal update to interested parties resourceUpdatedEvent.fire( new ResourceUpdatedEvent( resource ) ); return resource; }