Пример #1
0
  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);
                }
              }
            }
          }
        }
      }
    }
  }
Пример #2
0
 /**
  * Factory method.
  *
  * @return A prepared AddEventOperation.
  */
 public AddEventOperation createAddEventOperation() {
   AddEventOperation op =
       new AddEventOperation(this.getTrack().getInteractive(), this.getScoreboard());
   op.prepare(this);
   return op;
 }