Skip to content

Commit f1b4b0b

Browse files
committed
LL-228
* adding getFlags parameter for entityDescGet to retrieve flags on request
1 parent e30fb9c commit f1b4b0b

File tree

7 files changed

+59
-7
lines changed

7 files changed

+59
-7
lines changed

serv/ss-datatypes/flag/flag.impl/src/main/java/at/kc/tugraz/sss/flag/impl/SSFlagImpl.java

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,18 @@
2020
*/
2121
package at.kc.tugraz.sss.flag.impl;
2222

23+
import at.kc.tugraz.socialserver.utils.SSStrU;
2324
import at.kc.tugraz.ss.adapter.socket.datatypes.SSSocketCon;
25+
import at.kc.tugraz.ss.datatypes.datatypes.entity.SSEntityDescA;
2426
import at.kc.tugraz.ss.datatypes.datatypes.entity.SSUri;
2527
import at.kc.tugraz.ss.datatypes.datatypes.enums.SSEntityE;
2628
import at.kc.tugraz.ss.serv.datatypes.SSServPar;
29+
import at.kc.tugraz.ss.serv.datatypes.entity.datatypes.par.SSEntityDescGetPar;
2730
import at.kc.tugraz.ss.serv.db.api.SSDBSQLI;
2831
import at.kc.tugraz.ss.serv.db.datatypes.sql.err.SSSQLDeadLockErr;
2932
import at.kc.tugraz.ss.serv.err.reg.SSServErrReg;
3033
import at.kc.tugraz.ss.serv.serv.api.SSConfA;
34+
import at.kc.tugraz.ss.serv.serv.api.SSEntityDescriberI;
3135
import at.kc.tugraz.ss.serv.serv.api.SSServImplWithDBA;
3236
import at.kc.tugraz.ss.serv.serv.caller.SSServCaller;
3337
import at.kc.tugraz.sss.flag.api.SSFlagClientI;
@@ -41,7 +45,7 @@
4145
import at.kc.tugraz.sss.flag.impl.fct.sql.SSFlagSQLFct;
4246
import java.util.List;
4347

44-
public class SSFlagImpl extends SSServImplWithDBA implements SSFlagClientI, SSFlagServerI{
48+
public class SSFlagImpl extends SSServImplWithDBA implements SSFlagClientI, SSFlagServerI, SSEntityDescriberI{
4549

4650
private final SSFlagSQLFct sqlFct;
4751

@@ -52,6 +56,25 @@ public SSFlagImpl(final SSConfA conf, final SSDBSQLI dbSQL) throws Exception{
5256
this.sqlFct = new SSFlagSQLFct(dbSQL);
5357
}
5458

59+
@Override
60+
public SSEntityDescA getDescForEntity(
61+
final SSEntityDescGetPar par,
62+
final SSEntityDescA entityDesc) throws Exception{
63+
64+
if(par.getFlags){
65+
66+
entityDesc.flags.addAll(
67+
SSServCaller.flagsUserGet(
68+
par.user,
69+
SSUri.asListWithoutNullAndEmpty(par.entity),
70+
SSStrU.toStrWithoutEmptyAndNull(),
71+
null,
72+
null));
73+
}
74+
75+
return entityDesc;
76+
}
77+
5578
@Override
5679
public void flagsSet(final SSSocketCon sSCon, final SSServPar parA) throws Exception{
5780

serv/ss-datatypes/flag/flag.serv/src/main/java/at/kc/tugraz/sss/flag/serv/SSFlagServ.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ protected SSServImplA createServImplForThread() throws Exception{
4949

5050
@Override
5151
protected void initServSpecificStuff() throws Exception{
52+
regServForDescribingEntities();
5253
}
5354

5455
@Override

serv/ss-datatypes/ss-entity/ss-entity-datatypes/src/main/java/at/kc/tugraz/ss/serv/datatypes/entity/datatypes/SSEntityDesc.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,10 @@ public static SSEntityDesc get(
4141
final SSUri author,
4242
final List<SSEntityA> uEs,
4343
final String thumb,
44-
final SSTextComment description) throws Exception{
44+
final SSTextComment description,
45+
final List<SSEntityA> flags) throws Exception{
4546

46-
return new SSEntityDesc(entity, type, label, creationTime, tags, overallRating, discs, author, uEs, thumb, description);
47+
return new SSEntityDesc(entity, type, label, creationTime, tags, overallRating, discs, author, uEs, thumb, description, flags);
4748
}
4849

4950
protected SSEntityDesc(
@@ -57,8 +58,9 @@ protected SSEntityDesc(
5758
final SSUri author,
5859
final List<SSEntityA> uEs,
5960
final String thumb,
60-
final SSTextComment description) throws Exception{
61+
final SSTextComment description,
62+
final List<SSEntityA> flags) throws Exception{
6163

62-
super(entity, label, creationTime, type, author, overallRating, tags, discs, uEs, thumb, description);
64+
super(entity, label, creationTime, type, author, overallRating, tags, discs, uEs, thumb, description, flags);
6365
}
6466
}

serv/ss-datatypes/ss-entity/ss-entity-datatypes/src/main/java/at/kc/tugraz/ss/serv/datatypes/entity/datatypes/par/SSEntityDescGetPar.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public class SSEntityDescGetPar extends SSServPar{
3333
public Boolean getDiscs = false;
3434
public Boolean getUEs = false;
3535
public Boolean getThumb = false;
36+
public Boolean getFlags = false;
3637

3738
public SSEntityDescGetPar(SSServPar par) throws Exception{
3839

@@ -47,6 +48,7 @@ public SSEntityDescGetPar(SSServPar par) throws Exception{
4748
getDiscs = (Boolean) pars.get(SSVarU.getDiscs);
4849
getUEs = (Boolean) pars.get(SSVarU.getUEs);
4950
getThumb = (Boolean) pars.get(SSVarU.getThumb);
51+
getFlags = (Boolean) pars.get(SSVarU.getFlags);
5052
}
5153

5254
if(clientPars != null){
@@ -71,6 +73,10 @@ public SSEntityDescGetPar(SSServPar par) throws Exception{
7173
try{
7274
getThumb = Boolean.valueOf (clientPars.get(SSVarU.getThumb));
7375
}catch(Exception error){}
76+
77+
try{
78+
getFlags = Boolean.valueOf (clientPars.get(SSVarU.getFlags));
79+
}catch(Exception error){}
7480
}
7581
}catch(Exception error){
7682
SSServErrReg.regErrThrow(error);

serv/ss-datatypes/ss-entity/ss-entity-impl/src/main/java/at/kc/tugraz/ss/serv/datatypes/entity/impl/SSEntityImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,8 @@ public SSEntityDescA entityDescGet(final SSServPar parA) throws Exception{
396396
entity.author,
397397
new ArrayList<>(),
398398
null,
399-
entity.description));
399+
entity.description,
400+
new ArrayList<>()));
400401

401402
}catch(Exception error){
402403
SSServErrReg.regErrThrow(error);

ss-datatypes/ss-datatypes-datatypes/src/main/java/at/kc/tugraz/ss/datatypes/datatypes/entity/SSEntityDescA.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ public abstract class SSEntityDescA extends SSEntityA{
4444
public List<SSEntityA> uEs = new ArrayList<>();
4545
public String thumb = null;
4646
public SSTextComment description = null;
47+
public List<SSEntityA> flags = new ArrayList<>();
4748

4849
protected SSEntityDescA(
4950
final SSEntityDescA entityDesc) throws Exception{
@@ -61,6 +62,7 @@ protected SSEntityDescA(
6162
this.uEs = entityDesc.uEs;
6263
this.thumb = entityDesc.thumb;
6364
this.description = entityDesc.description;
65+
this.flags = entityDesc.flags;
6466
}
6567

6668
protected SSEntityDescA(
@@ -74,7 +76,8 @@ protected SSEntityDescA(
7476
final List<SSEntityA> discs,
7577
final List<SSEntityA> uEs,
7678
final String thumb,
77-
final SSTextComment description) throws Exception{
79+
final SSTextComment description,
80+
final List<SSEntityA> flags) throws Exception{
7881

7982
super(entity);
8083

@@ -98,6 +101,10 @@ protected SSEntityDescA(
98101
if(uEs != null){
99102
this.uEs.addAll(uEs);
100103
}
104+
105+
if(flags != null){
106+
this.flags.addAll(flags);
107+
}
101108
}
102109

103110
@Override
@@ -107,7 +114,13 @@ public Object jsonLDDesc(){
107114
final Map<String, Object> tagsObj = new HashMap<>();
108115
final Map<String, Object> discsObj = new HashMap<>();
109116
final Map<String, Object> uEsObj = new HashMap<>();
117+
final Map<String, Object> flagsObj = new HashMap<>();
110118

119+
flagsObj.put(SSJSONLDU.id, SSVarU.sss + SSStrU.colon + SSEntityA.class.getName());
120+
flagsObj.put(SSJSONLDU.container, SSJSONLDU.set);
121+
122+
ld.put(SSVarU.flags, flagsObj);
123+
111124
tagsObj.put(SSJSONLDU.id, SSVarU.xsd + SSStrU.colon + SSStrU.valueString);
112125
tagsObj.put(SSJSONLDU.container, SSJSONLDU.set);
113126

@@ -132,6 +145,7 @@ public Object jsonLDDesc(){
132145
ld.put(SSVarU.thumb, SSVarU.xsd + SSStrU.colon + SSStrU.valueString);
133146
ld.put(SSVarU.description, SSVarU.sss + SSStrU.colon + SSTextComment.class.getName());
134147

148+
135149
return ld;
136150
}
137151

@@ -180,4 +194,8 @@ public String getThumb(){
180194
public String getDescription(){
181195
return SSStrU.toStr(description);
182196
}
197+
198+
public List<SSEntityA> getFlags() throws Exception{
199+
return flags;
200+
}
183201
}

ss-util/src/main/java/at/kc/tugraz/socialserver/utils/SSVarU.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ private SSVarU(){}
5757
public static final String getOverallRating = "getOverallRating";
5858
public static final String getDiscs = "getDiscs";
5959
public static final String getUEs = "getUEs";
60+
public static final String getFlags = "getFlags";
6061
public static final String getThumb = "getThumb";
6162
public static final String getTags = "getTags";
6263
public static final String addNewDisc = "addNewDisc";

0 commit comments

Comments
 (0)