Skip to content

Commit

Permalink
fix hasRole
Browse files Browse the repository at this point in the history
  • Loading branch information
MecBoc committed Dec 4, 2019
1 parent 09bdd3d commit f5d55b0
Show file tree
Hide file tree
Showing 8 changed files with 29 additions and 27 deletions.
1 change: 1 addition & 0 deletions RScripts/libraries.R
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@ checkAndInstall("univOutl")
checkAndInstall("simputation")
checkAndInstall("VIM")
checkAndInstall("rspa")
checkAndInstall("SeleMix")

print("Loading libraries...ok ")
10 changes: 8 additions & 2 deletions RScripts/selemix/IS2_selemix.R
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,12 @@ library("SeleMix")


#stima completa
mlest <- function(workset, y, x=NULL, ...) {
mlest <- function(workset, s=S,x=X,y=Y,z=Z, ...) {
#environment check
stdout <- vector('character')
con <- textConnection('stdout', 'wr', local = TRUE)


if(missing(y)) stop('iSS Error: Missing TARGET Variable(s)')
y <- matrix(as.numeric(workset[,Y]),ncol=length(Y),nrow=nrow(workset))
if(!missing(x)) x <- matrix(as.numeric(workset[,X]),ncol=length(X),nrow=nrow(workset))
Expand All @@ -108,6 +112,7 @@ mlest <- function(workset, y, x=NULL, ...) {
if(!exists("max.iter")) max.iter=500

#calcolo funzione
print("-------#calcolo funzione")
est <- ml.est(y=y, x=x, model = model, lambda= as.numeric(lambda), w= as.numeric(w), lambda.fix=lambda.fix, w.fix=w.fix, eps=as.numeric(eps), max.iter=as.numeric(max.iter), t.outl= as.numeric(t.outl), graph=FALSE)
if(length(workset)>1) ypred <- matrix(est$ypred,nrow=nrow(workset),ncol=length(Y))
else ypred <- as.matrix(est$ypred)
Expand All @@ -128,7 +133,8 @@ mlest <- function(workset, y, x=NULL, ...) {
mod <- list(B=est$B, sigma=est$sigma, lambda=est$lambda, w=est$w )
#setting output roles
roles <- list (P= predname, O="outlier", M=names(mod), G=names(report))
result <-list( out=data.frame(out,out1), roles= roles, mod=mod, report = report)
result <-list( out=data.frame(out,out1), roles= roles, mod=mod, report = report, "log" = stdout)

return(result)
}

Expand Down
2 changes: 1 addition & 1 deletion db/is2-insert-selemix.sql
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ INSERT INTO `is2_step_instance` (`ID`, `METHOD`, `DESCR`, `LABEL`, `APP_SERVICE_
-- PARAMETER
-- -----------------------------------------------------
INSERT INTO `is2_parameter` (`ID`, `NAME`, `DESCR`, `DEFAULT_VAL`, `JSON_TEMPLATE`) VALUES (101,'MODEL','DATA MODEL',NULL,'{ "data": [], "schema": {"items": {"properties": { "lambda": {"required": true,"title": "Lambda","description":"Estimated value for the variance inflation factor","type": "number", "default":3,"minimum": 0.01,"maximum": 10 },"w": {"required": true,"title": "W","description":"Estimated value for the proportion of contaminated data","type": "number","default":0.05,"minimum": 0.01,"maximum": 1 }, "B": {"required": true,"title": "B","description":"Matrix of estimated regression coefficients","type": "number"}, "sigma": {"required": true,"title": "sigma","description":"Estimated covariance matrix","type": "number"} },"type": "object"},"type": "array" }, "options": {"type": "array","showActionsColumn": false,"hideAddItemsBtn": true }}');
INSERT INTO `is2_parameter` (`ID`, `NAME`, `DESCR`, `DEFAULT_VAL`, `JSON_TEMPLATE`) VALUES (102,'INPUT PARAMETERS','INPUT PARAMETERS',NULL,NULL);
INSERT INTO `is2_parameter` (`ID`, `NAME`, `DESCR`, `DEFAULT_VAL`, `JSON_TEMPLATE`) VALUES (102,'INPUT PARAMETERS','INPUT PARAMETERS',NULL,'{"data": [],"schema": { "properties": {"graph": {"required": true,"title": "Graph","description": "Activates graphic output","type": "number","default": 0,"minimum": 0.01,"maximum": 10},"model": {"required": true,"title": "Model","description": "Data Distribution: LN lognormal / N Normal","default": "LN"},"tot": {"title": "Tot","description": "Estimates of originals vector for the target variables"},"t.sel": {"title": "t.sel","description": "Optional vector of threshold values for selective edinting on the target variables"},"t.outl": {"required": true,"title": "t.outl","description": "Threshold value for posterior probabilities of identifying outliers","type": "number","default": 0.05,"minimum": 0.01,"maximum": 10},"eps": {"required": true,"title": "eps","description": "Tolerance for the log-likelihood convergence","type": "number","default": 0.0000001,"minimum": 0.0000001,"maximum": 1},"lambda.fix": {"required": true,"title": "lambda.fix","description": "TRUE if w is known","type": "number","default": 0,"maximum": 1 },"w.fix": {"required": true,"title": "w.fix","description": "TRUE if w is known","type": "number","default": 0,"minimum": 0.01,"maximum": 1}},"type": "object" }}');
INSERT INTO `is2_parameter` (`ID`, `NAME`, `DESCR`, `DEFAULT_VAL`, `JSON_TEMPLATE`) VALUES (103,'OUTPUT PARAMETERS','OUTPUT PARAMETERS - INFO REPORT',NULL,NULL);

-- -----------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ public class RelaisService {
}

public Map<?, ?> resultTables(Long idelaborazione, Map<String, ArrayList<String>> ruoliVariabileNome,
Map<String, ArrayList<String>> worksetVariabili, Map<String, String> parametriMap) throws Exception {
Map<String, ArrayList<String>> worksetIn, Map<String, String> parametriMap) throws Exception {

Map<String, Map<?, ?>> returnOut = new LinkedHashMap<>();
Map<String, Map<?, ?>> worksetOut = new LinkedHashMap<>();
Expand All @@ -184,13 +184,13 @@ public class RelaisService {
if (codeP_POST.equals(pPostVarname)) {
indexItems = 0;

for (String pPostValue : worksetVariabili.get(pPostVarname)) {
for (String pPostValue : worksetIn.get(pPostVarname)) {
if (Float.parseFloat(pPostValue) >= Float.parseFloat(paramTU)) {
StringBuffer pattern = new StringBuffer();

for (String ctVarname : ruoliVariabileNome.get(codContengencyTable)) {
if (!ctVarname.equals(IS2Const.WORKSET_FREQUENCY)) {
String p = worksetVariabili.get(ctVarname).get(indexItems);
String p = worksetIn.get(ctVarname).get(indexItems);
pattern.append(Double.valueOf(p).intValue());
}
}
Expand Down Expand Up @@ -229,8 +229,8 @@ public class RelaisService {

String firstFiledMA = ruoliVariabileNome.get(codeMatchingA).get(0);
String firstFiledMB = ruoliVariabileNome.get(codeMatchingB).get(0);
int sizeA = worksetVariabili.get(firstFiledMA).size();
int sizeB = worksetVariabili.get(firstFiledMB).size();
int sizeA = worksetIn.get(firstFiledMA).size();
int sizeB = worksetIn.get(firstFiledMB).size();

contingencyService.init(parametriMap.get(params_MatchingVariables));
variabileNomeListOut.forEach(varname -> {
Expand All @@ -243,13 +243,13 @@ public class RelaisService {
Map<String, String> valuesI = new HashMap<>();
final Integer innerIA = Integer.valueOf(iA);
variabileNomeListMA.forEach(varnameMA -> {
valuesI.put(varnameMA, worksetVariabili.get(varnameMA).get(innerIA));
valuesI.put(varnameMA, worksetIn.get(varnameMA).get(innerIA));
});

for (int iB = 0; iB < sizeB; iB++) {
final Integer innerIB = Integer.valueOf(iB);
variabileNomeListMB.forEach(varnameMB -> {
valuesI.put(varnameMB, worksetVariabili.get(varnameMB).get(innerIB));
valuesI.put(varnameMB, worksetIn.get(varnameMB).get(innerIB));
});
String pattern = contingencyService.getPattern(valuesI);
if (patternMatching.contains(pattern)) {
Expand Down
8 changes: 3 additions & 5 deletions src/main/java/it/istat/is2/workflow/engine/EngineJava.java
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,8 @@ public class EngineJava implements EngineService {
private StepInstance stepInstance;
private Map<String, ArrayList<StepRuntime>> dataMap;
private Map<String, AppRole> ruoliAllMap;
private Map<String, ArrayList<String>> worksetVariabili;
private Map<String, ArrayList<String>> worksetInput;
private Map<String, String> parametriMap;
private Map<String, ArrayList<String>> modelloMap;
private Map<String, Map<?, ?>> worksetOut;
private Map<String, Map<?, ?>> resultOut;
private LinkedHashMap<String, ArrayList<String>> ruoliVariabileNome;
Expand Down Expand Up @@ -109,7 +108,7 @@ public void doAction() throws IllegalAccessException, IllegalArgumentException,
Class<?> fnameClass=Class.forName(fnameClassName);
Method method = ReflectionUtils.findMethod( fnameClass, fname, Long.class, Map.class, Map.class, Map.class);
Object instance= context.getBean(fnameClass);
resultOut = (Map<String, Map<?, ?>>) method.invoke(instance, dataProcessing.getId(), ruoliVariabileNome, worksetVariabili, parametriMap);
resultOut = (Map<String, Map<?, ?>>) method.invoke(instance, dataProcessing.getId(), ruoliVariabileNome, worksetInput, parametriMap);
worksetOut = (Map<String, Map<?, ?>>) resultOut.get(IS2Const.WF_OUTPUT_WORKSET);
ruoliOutputStep = (LinkedHashMap<String, ArrayList<String>>) resultOut.get(IS2Const.WF_OUTPUT_ROLES);
ruoliGruppoOutputStep = (HashMap<String, String>) resultOut.get(IS2Const.WF_OUTPUT_ROLES_GROUP);
Expand Down Expand Up @@ -152,11 +151,10 @@ public void prepareEnv() {
// mappa delle colonne workset <nome campo, oggetto stepv>
Map<String, ArrayList<StepRuntime>> dataRuoliStepVarMap = Utility.getMapCodiceRuoloStepVariabili(dataList);
// mappa delle colonne workset <nome,lista valori>
worksetVariabili = Utility.getMapWorkSetValuesInRoles(dataMap, new DataTypeCls(IS2Const.DATA_TYPE_VARIABLE), ruoliInputStep.keySet());
worksetInput = Utility.getMapWorkSetValuesInRoles(dataMap, new DataTypeCls(IS2Const.DATA_TYPE_VARIABLE), ruoliInputStep.keySet());

// PARAMETRI
parametriMap = Utility.getMapWorkSetValuesParams(dataMap, new DataTypeCls(IS2Const.DATA_TYPE_PARAMETER));
modelloMap = Utility.getMapWorkSetValues(dataMap, new DataTypeCls(IS2Const.DATA_TYPE_MODEL));
worksetOut = new HashMap<>();

// associo il codice ruolo alla variabile
Expand Down
6 changes: 1 addition & 5 deletions src/main/java/it/istat/is2/workflow/engine/EngineR.java
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ public class EngineR implements EngineService {
private Map<String, AppRole> ruoliAllMap;
private LinkedHashMap<String, ArrayList<String>> worksetVariabili;
private LinkedHashMap<String, ArrayList<String>> parametriMap;
private LinkedHashMap<String, ArrayList<String>> modelloMap;
private LinkedHashMap<String, ArrayList<String>> ruleset;
private LinkedHashMap<String, ArrayList<String>> worksetOut;
private HashMap<String, ArrayList<String>> ruoliVariabileNome;
Expand Down Expand Up @@ -143,9 +142,7 @@ public void init(DataProcessing dataProcessing, StepInstance stepInstance) throw
prepareEnv();
createConnection(serverRHost, serverRPort);
bindInputColumns(worksetVariabili, EngineR.IS2_WORKSET);
// bindInputParams(parametriMap);
// bindInputParams(modelloMap);
// bindInputParams(ruleset,eng);
bindInputColumns(parametriMap, EngineR.IS2_PARAMETRI);
bindInputColumns(ruleset, EngineR.IS2_RULESET);
setRuoli(ruoliVariabileNome);

Expand Down Expand Up @@ -472,7 +469,6 @@ public void prepareEnv() {
ruoliInputStep.keySet());
// PARAMETRI
parametriMap = Utility.getMapWorkSetValues(dataMap, new DataTypeCls(IS2Const.DATA_TYPE_PARAMETER));
modelloMap = Utility.getMapWorkSetValues(dataMap, new DataTypeCls(IS2Const.DATA_TYPE_MODEL));
ruleset = Utility.getMapWorkSetValues(dataMap, new DataTypeCls(IS2Const.DATA_TYPE_RULESET));
worksetOut = new LinkedHashMap<>();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@
@Service
public class WorkflowService {

private final String PATTERN_NAME="\\.|\\s";
@Autowired
private WorkSessionDao workSessionDao;
@Autowired
Expand Down Expand Up @@ -238,7 +239,7 @@ public void creaAssociazioni(MappingVarsFormBean form, DataProcessing dataProces
workset = new Workset();
DatasetColumn dscolumn = datasetColumnDao.findById((Long.parseLong(form.getVariable()[i]))).get();
workset.setName(
dscolumn.getDatasetFile().getFileLabel() + "_" + dscolumn.getName().replaceAll("\\.", "_"));
dscolumn.getDatasetFile().getFileLabel() + "_" + dscolumn.getName().replaceAll(PATTERN_NAME, "_"));
workset.setContents(dscolumn.getContents());
workset.setContentSize(workset.getContents().size());
}
Expand Down Expand Up @@ -281,7 +282,7 @@ public void updateAssociazione(MappingVarsFormBean form, DataProcessing dataProc
workset = new Workset();
DatasetColumn dscolumn = datasetColumnDao.findById((Long.parseLong(form.getVariable()[0])))
.orElse(new DatasetColumn());
workset.setName(dscolumn.getName().replaceAll("\\.", "_"));
workset.setName(dscolumn.getName().replaceAll(PATTERN_NAME, "_"));
workset.setContents(dscolumn.getContents());
workset.setContentSize(workset.getContents().size());
}
Expand Down Expand Up @@ -345,7 +346,7 @@ public void associaParametri(MappingVarsFormBean form, DataProcessing dataProces
stepRuntime.setDataProcessing(dataProcessing);
stepRuntime.setAppRole(sxruolo);
Workset workset = new Workset();
workset.setName(nomeparam);
workset.setName(nomeparam.replaceAll(PATTERN_NAME, "_"));
stepRuntime.setOrderCode(sxruolo.getOrder());
stepRuntime.setDataType(new DataTypeCls(IS2Const.DATA_TYPE_PARAMETER));
stepRuntime.setTypeIO(new TypeIO(IS2Const.TYPE_IO_INPUT));
Expand Down Expand Up @@ -567,7 +568,7 @@ public void creaAssociazionVarRole(DataProcessing dataProcessing,
String nameWorkset = "";
if (prefixDataset)
nameWorkset = dscolumn.getDatasetFile().getFileLabel() + "_";
nameWorkset += dscolumn.getName().replaceAll("\\.", "_");
nameWorkset += dscolumn.getName().replaceAll(PATTERN_NAME, "_");
workset.setName(nameWorkset);
workset.setContents(dscolumn.getContents());
workset.setContentSize(workset.getContents().size());
Expand Down
6 changes: 3 additions & 3 deletions src/main/resources/templates/layout.html
Original file line number Diff line number Diff line change
Expand Up @@ -75,13 +75,13 @@
<button class="navbar-toggler sidebar-toggler d-md-down-none" type="button" data-toggle="sidebar-lg-show">
<span class="navbar-toggler-icon"></span>
</button>
<ul class="nav navbar-nav d-md-down-none">
<li class="nav-item px-3" sec:authorize="hasAuthority('ADMIN')" >
<ul class="nav navbar-nav d-md-down-none">
<li class="nav-item px-3" sec:authorize="hasRole('ADMIN')" >
<a class="nav-link" th:href="@{/team}" role="button" aria-haspopup="true" aria-expanded="false">
<span th:title="#{Layout.team.link}">Team</span>
</a>
</li>
<li class="nav-item px-3" sec:authorize="hasAuthority('ADMIN')" >
<li class="nav-item px-3" sec:authorize="hasRole('ADMIN')" >
<a class="nav-link" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
<span th:title="#{Layout.settings.link}">Settings</span>
</a>
Expand Down

0 comments on commit f5d55b0

Please sign in to comment.