/* * Copyright 2012 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package org.drools.workbench.models.guided.dtable.shared.auditlog; import org.drools.workbench.models.datamodel.auditlog.AuditLogEntry; import org.drools.workbench.models.guided.dtable.shared.model.ActionInsertFactCol52; import org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52; import org.drools.workbench.models.guided.dtable.shared.model.ActionWorkItemCol52; import org.drools.workbench.models.guided.dtable.shared.model.ActionWorkItemInsertFactCol52; import org.drools.workbench.models.guided.dtable.shared.model.ActionWorkItemSetFieldCol52; import org.drools.workbench.models.guided.dtable.shared.model.AttributeCol52; import org.drools.workbench.models.guided.dtable.shared.model.BRLActionColumn; import org.drools.workbench.models.guided.dtable.shared.model.BRLConditionColumn; import org.drools.workbench.models.guided.dtable.shared.model.BaseColumn; import org.drools.workbench.models.guided.dtable.shared.model.ConditionCol52; import org.drools.workbench.models.guided.dtable.shared.model.LimitedEntryActionInsertFactCol52; import org.drools.workbench.models.guided.dtable.shared.model.LimitedEntryActionSetFieldCol52; import org.drools.workbench.models.guided.dtable.shared.model.LimitedEntryConditionCol52; import org.drools.workbench.models.guided.dtable.shared.model.MetadataCol52; /** * An Audit Event for when a column is inserted */ public class InsertColumnAuditLogEntry extends AuditLogEntry { private static final long serialVersionUID = -7525789306354393393L; private static final String TYPE = DecisionTableAuditEvents.INSERT_COLUMN.name(); private ColumnDetails details; public InsertColumnAuditLogEntry() { } public InsertColumnAuditLogEntry( final String userName ) { super( userName ); } public InsertColumnAuditLogEntry( final String userName, final BaseColumn column ) { super( userName ); this.details = getDetails( column ); } protected ColumnDetails getDetails( final BaseColumn column ) { //Order of columns is important to account for sub-types and super-types if ( column instanceof MetadataCol52 ) { return new MetadataColumnDetails( (MetadataCol52) column ); } else if ( column instanceof AttributeCol52 ) { return new AttributeColumnDetails( (AttributeCol52) column ); } else if ( column instanceof BRLConditionColumn ) { return new ColumnDetails( column ); } else if ( column instanceof ConditionCol52 ) { return new ConditionColumnDetails( (ConditionCol52) column ); } else if ( column instanceof LimitedEntryConditionCol52 ) { return new LimitedEntryConditionColumnDetails( (LimitedEntryConditionCol52) column ); } else if ( column instanceof BRLActionColumn ) { return new ColumnDetails( column ); } else if ( column instanceof ActionWorkItemInsertFactCol52 ) { return new ActionWorkItemInsertFactColumnDetails( (ActionWorkItemInsertFactCol52) column ); } else if ( column instanceof ActionInsertFactCol52 ) { return new ActionInsertFactColumnDetails( (ActionInsertFactCol52) column ); } else if ( column instanceof LimitedEntryActionInsertFactCol52 ) { return new LimitedEntryActionInsertFactColumnDetails( (LimitedEntryActionInsertFactCol52) column ); } else if ( column instanceof ActionWorkItemSetFieldCol52 ) { return new ActionWorkItemSetFieldColumnDetails( (ActionWorkItemSetFieldCol52) column ); } else if ( column instanceof ActionSetFieldCol52 ) { return new ActionSetFieldColumnDetails( (ActionSetFieldCol52) column ); } else if ( column instanceof LimitedEntryActionSetFieldCol52 ) { return new LimitedEntryActionSetFieldColumnDetails( (LimitedEntryActionSetFieldCol52) column ); } else if ( column instanceof ActionWorkItemCol52 ) { return new ActionWorkItemColumnDetails( (ActionWorkItemCol52) column ); } else { return new ColumnDetails( column ); } } @Override public String getGenericType() { return TYPE; } public ColumnDetails getDetails() { return details; } }