private void deleteThemes(final IKalypsoCascadingTheme wspThemes, final IRunoffEvent event) { final IKalypsoTheme[] allThemes = wspThemes.getAllThemes(); for (final IKalypsoTheme kalypsoTheme : allThemes) { if (kalypsoTheme instanceof IKalypsoFeatureTheme) { final IKalypsoFeatureTheme featureTheme = (IKalypsoFeatureTheme) kalypsoTheme; final IKalypsoStyle[] styles = featureTheme.getStyles(); for (final IKalypsoStyle style : styles) { if (style instanceof GisTemplateUserStyle) { final GisTemplateUserStyle pooledUserStyle = (GisTemplateUserStyle) style; final PoolableObjectType poolKey = pooledUserStyle.getPoolKey(); final String styleLocationForEventWsp = AddEventOperation.styleLocationForEventWsp(event); if (poolKey.getLocation().equals(styleLocationForEventWsp)) { wspThemes.removeTheme(kalypsoTheme); break; } } } // check for result coverages final FeatureList featureList = featureTheme.getFeatureList(); if (featureList != null) { for (final Object object : featureList) { if (object instanceof Feature) { final Feature feature = (Feature) object; // the papa papa of the coverage is the event final Feature parent = feature.getOwner().getOwner(); if (parent != null) { if (parent.getId().equals(event.getId())) { wspThemes.removeTheme(kalypsoTheme); } } } } } } } }
/** * Factory method. * * @return A prepared AddEventOperation. */ public AddEventOperation createAddEventOperation() { AddEventOperation op = new AddEventOperation(this.getTrack().getInteractive(), this.getScoreboard()); op.prepare(this); return op; }