Skip to content

Commit 16f585d

Browse files
committed
Promote methods to AbstractNotification
1 parent 077aec7 commit 16f585d

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

‎LDK/api-src/org/labkey/api/ldk/notification/AbstractNotification.java‎

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,13 @@
1919
import org.jetbrains.annotations.Nullable;
2020
import org.labkey.api.data.Container;
2121
import org.labkey.api.data.SimpleFilter;
22+
import org.labkey.api.data.TableInfo;
23+
import org.labkey.api.data.TableSelector;
2224
import org.labkey.api.module.Module;
25+
import org.labkey.api.query.QueryService;
2326
import org.labkey.api.query.QueryUrls;
27+
import org.labkey.api.query.UserSchema;
28+
import org.labkey.api.security.User;
2429
import org.labkey.api.settings.LookAndFeelProperties;
2530
import org.labkey.api.util.PageFlowUtil;
2631
import org.labkey.api.util.logging.LogHelper;
@@ -85,4 +90,40 @@ public Module getOwnerModule()
8590
{
8691
return _owner;
8792
}
93+
94+
protected void genericQueryCheck(Container c, User u, StringBuilder msg, String schemaName, String queryName, String message)
95+
{
96+
genericQueryCheck(c, u, msg, schemaName, queryName, message, null);
97+
}
98+
99+
protected void genericQueryCheck(Container c, User u, StringBuilder msg, String schemaName, String queryName, String message, @Nullable SimpleFilter filter)
100+
{
101+
TableInfo ti = getTableInfo(u, c, schemaName, queryName);
102+
103+
TableSelector ts = new TableSelector(ti, filter, null);
104+
long count = ts.getRowCount();
105+
if (count > 0)
106+
{
107+
msg.append("<b>WARNING: There are ").append(count).append(" ").append(message).append("</b><br>\n");
108+
msg.append("<p><a href='").append(getExecuteQueryUrl(c, schemaName, queryName, null, filter)).append("'>Click here to view them</a><br>\n\n");
109+
msg.append("<hr>\n\n");
110+
}
111+
}
112+
113+
protected TableInfo getTableInfo(User u, Container c, String schemaName, String queryName)
114+
{
115+
UserSchema us = QueryService.get().getUserSchema(u, c, schemaName);
116+
if (us == null)
117+
{
118+
throw new IllegalStateException("Missing user schema: " + schemaName);
119+
}
120+
121+
TableInfo ti = us.getTable(queryName);
122+
if (ti == null)
123+
{
124+
throw new IllegalStateException("Missing table: " + schemaName + "." + queryName);
125+
}
126+
127+
return ti;
128+
}
88129
}

0 commit comments

Comments
 (0)