Skip to content

Commit 0a1e30d

Browse files
authored
Put legacy union audit table behind a deprecated feature flag (#6892)
1 parent 6a0e315 commit 0a1e30d

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

audit/src/org/labkey/audit/AuditModule.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
import org.labkey.api.audit.provider.SiteSettingsAuditProvider;
2222
import org.labkey.api.module.DefaultModule;
2323
import org.labkey.api.module.ModuleContext;
24+
import org.labkey.api.settings.OptionalFeatureFlag;
25+
import org.labkey.api.settings.OptionalFeatureService;
2426
import org.labkey.api.view.WebPartFactory;
2527
import org.labkey.audit.query.AuditQuerySchema;
2628

@@ -30,6 +32,8 @@
3032

3133
public class AuditModule extends DefaultModule
3234
{
35+
public static final String LEGACY_UNION_AUDIT_TABLE = "legacyUnionAuditTable";
36+
3337
@Override
3438
@NotNull
3539
protected Collection<WebPartFactory> createWebPartFactories()
@@ -75,6 +79,14 @@ public void doStartup(ModuleContext moduleContext)
7579
AuditLogService.get().registerAuditType(new SiteSettingsAuditProvider());
7680

7781
AuditController.registerAdminConsoleLinks();
82+
OptionalFeatureService.get().addFeatureFlag(new OptionalFeatureFlag(
83+
LEGACY_UNION_AUDIT_TABLE,
84+
"Restore legacy union audit table",
85+
"Restores a legacy query that unions all the event tables together into a single query. This option will be removed in LabKey Server v26.3.",
86+
false,
87+
false,
88+
OptionalFeatureService.FeatureType.Deprecated
89+
));
7890
}
7991

8092
@Override

audit/src/org/labkey/audit/query/AuditQuerySchema.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.labkey.api.query.QueryView;
3030
import org.labkey.api.query.UserSchema;
3131
import org.labkey.api.security.User;
32+
import org.labkey.api.settings.OptionalFeatureService;
3233
import org.labkey.api.view.ViewContext;
3334
import org.labkey.audit.AuditSchema;
3435
import org.springframework.validation.BindException;
@@ -37,10 +38,8 @@
3738
import java.util.LinkedHashSet;
3839
import java.util.Set;
3940

40-
/**
41-
* User: Karl Lum
42-
* Date: Oct 5, 2007
43-
*/
41+
import static org.labkey.audit.AuditModule.LEGACY_UNION_AUDIT_TABLE;
42+
4443
public class AuditQuerySchema extends UserSchema
4544
{
4645
public static final String SCHEMA_NAME = "auditLog";
@@ -86,12 +85,12 @@ public Set<String> getTableNames()
8685
@Override
8786
public TableInfo createTable(String name, ContainerFilter cf)
8887
{
89-
// event specific audit views are implemented as queries on the audit schema
88+
// event-specific audit views are implemented as queries on the audit schema
9089
AuditTypeProvider provider = AuditLogService.get().getAuditProvider(name);
9190
if (provider != null)
9291
return provider.createTableInfo(this, cf);
9392

94-
if (AUDIT_TABLE_NAME.equalsIgnoreCase(name))
93+
if (OptionalFeatureService.get().isFeatureEnabled(LEGACY_UNION_AUDIT_TABLE) && AUDIT_TABLE_NAME.equalsIgnoreCase(name))
9594
return new AuditLogUnionTable(this, cf);
9695

9796
return null;

0 commit comments

Comments
 (0)