use of io.clownfish.clownfish.dbentities.CfList in project Clownfish by rawdog71.
the class SiteUtil method getSitelist_list.
public Map getSitelist_list(CfSite cfsite, Map sitecontentmap) {
List<CfSitelist> sitelist_list = new ArrayList<>();
sitelist_list.addAll(cfsitelistService.findBySiteref(cfsite.getId()));
if (!sitelist_list.isEmpty()) {
for (CfSitelist sitelist : sitelist_list) {
CfList cflist = cflistService.findById(sitelist.getCfSitelistPK().getListref());
Map listcontentmap = new LinkedHashMap();
List<CfListcontent> contentlist = cflistcontentService.findByListref(cflist.getId());
for (CfListcontent listcontent : contentlist) {
CfClasscontent classcontent = cfclasscontentService.findById(listcontent.getCfListcontentPK().getClasscontentref());
cfclassService.findById(classcontent.getClassref().getId());
List<CfAttributcontent> attributcontentlist = new ArrayList<>();
attributcontentlist.addAll(cfattributcontentService.findByClasscontentref(classcontent));
if (0 == useHibernate) {
listcontentmap.put(classcontent.getName(), classutil.getattributmap(classcontent));
} else {
listcontentmap.put(classcontent.getName(), hibernateutil.getContent(classcontent.getClassref().getName(), classcontent.getId()));
}
}
sitecontentmap.put(cflist.getName(), listcontentmap);
}
}
return sitecontentmap;
}
use of io.clownfish.clownfish.dbentities.CfList in project Clownfish by rawdog71.
the class ClassUtil method jsonImport.
public List<CfAttributcontent> jsonImport(String jsoncontent) {
ArrayList<CfAttributcontent> attributcontentlist = new ArrayList<>();
Gson gson = new Gson();
RestContentParameter contentparameter = gson.fromJson(jsoncontent, RestContentParameter.class);
CfClass clazz = cfclassService.findByName(contentparameter.getClassname());
List<CfAttribut> attributlist = cfattributService.findByClassref(clazz);
for (String key : contentparameter.getAttributmap().keySet()) {
CfAttribut attribut = getAttributFromAttributlist(attributlist, key);
CfAttributcontent attributcontent = new CfAttributcontent();
attributcontent.setAttributref(attribut);
switch(attribut.getAttributetype().getName()) {
case "boolean":
attributcontent.setContentBoolean(true);
break;
case "string":
case "hashstring":
attributcontent.setContentString(contentparameter.getAttributmap().get(key));
break;
case "integer":
attributcontent.setContentInteger(BigInteger.valueOf(Long.parseLong(contentparameter.getAttributmap().get(key))));
break;
case "real":
attributcontent.setContentReal(Double.parseDouble(contentparameter.getAttributmap().get(key)));
break;
case "htmltext":
case "text":
case "markdown":
attributcontent.setContentText(contentparameter.getAttributmap().get(key));
break;
case "datetime":
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss", Locale.GERMAN);
Date date;
try {
date = formatter.parse(contentparameter.getAttributmap().get(key));
attributcontent.setContentDate(date);
} catch (ParseException ex) {
java.util.logging.Logger.getLogger(ClassUtil.class.getName()).log(Level.SEVERE, null, ex);
}
break;
case "media":
CfAsset asset = cfassetService.findByName(contentparameter.getAttributmap().get(key));
attributcontent.setContentInteger(BigInteger.valueOf(asset.getId()));
break;
case "classref":
try {
CfList list = cflistService.findByName(contentparameter.getAttributmap().get(key));
attributcontent.setClasscontentlistref(list);
} catch (Exception ex) {
attributcontent.setClasscontentlistref(null);
}
break;
case "assetref":
try {
CfAssetlist assetlist = cfassetlistService.findByName(contentparameter.getAttributmap().get(key));
attributcontent.setAssetcontentlistref(assetlist);
} catch (Exception ex) {
attributcontent.setAssetcontentlistref(null);
}
break;
}
attributcontentlist.add(attributcontent);
}
return attributcontentlist;
}
use of io.clownfish.clownfish.dbentities.CfList in project Clownfish by rawdog71.
the class GetContent method processRequest.
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
* methods.
*
* @param gcp GetContentParameters
* @param response servlet response
* @return GetContentParameters
*/
protected GetContentParameter processRequest(GetContentParameter gcp, HttpServletResponse response) {
String inst_klasse;
String inst_identifier;
String inst_datalist;
String inst_apikey = "";
HashMap<String, String> searchmap;
ArrayList<String> searchkeywords;
HashMap<String, String> outputmap;
ArrayList<ContentDataOutput> outputlist;
List<CfListcontent> listcontent = null;
int range_start = 0;
int range_end = 0;
if (!gcp.getRange().isEmpty()) {
if (gcp.getRange().contains("-")) {
String[] ranges = gcp.getRange().split("-");
range_start = Integer.parseInt(ranges[0]);
range_end = Integer.parseInt(ranges[1]);
if (range_start > range_end) {
int dummy = range_start;
range_start = range_end;
range_end = dummy;
}
} else {
range_start = Integer.parseInt(gcp.getRange());
range_end = range_start;
}
}
outputlist = new ArrayList<>();
outputmap = new HashMap<>();
inst_apikey = gcp.getApikey();
if (apikeyutil.checkApiKey(inst_apikey, "RestService")) {
inst_klasse = gcp.getClassname();
inst_identifier = gcp.getIdentifier();
if (null == inst_identifier) {
inst_identifier = "";
}
inst_datalist = gcp.getListname();
listcontent = null;
if ((null != inst_datalist) && (!inst_datalist.isEmpty())) {
CfList dataList = cflistService.findByName(inst_datalist);
listcontent = cflistcontentService.findByListref(dataList.getId());
}
searchmap = new HashMap<>();
String searches = gcp.getSearches();
if (null != searches) {
String[] keys = searches.split("\\$");
int counter = 0;
for (String key : keys) {
if ((counter > 0) && ((counter % 2) == 0)) {
searchmap.put(keys[counter - 1], keys[counter]);
}
counter++;
}
}
searchkeywords = new ArrayList<>();
String keywordlist = gcp.getKeywords();
if (null != keywordlist) {
String[] keys = keywordlist.split("\\$");
int counter = 0;
for (String key : keys) {
if (counter > 0) {
searchkeywords.add(key);
}
counter++;
}
}
CfClass cfclass = cfclassService.findByName(inst_klasse);
List<CfClasscontent> classcontentList = cfclasscontentService.findByClassref(cfclass);
boolean found = false;
int listcounter = 0;
for (CfClasscontent classcontent : classcontentList) {
boolean inList = true;
// Check if identifier is set and matches classcontent
if ((!inst_identifier.isEmpty()) && (0 != inst_identifier.compareToIgnoreCase(classcontent.getName()))) {
inList = false;
}
// Check if content is in datalist
if (null != listcontent) {
boolean foundinlist = false;
for (CfListcontent lc : listcontent) {
if (lc.getCfListcontentPK().getClasscontentref() == classcontent.getId()) {
foundinlist = true;
break;
}
}
inList = foundinlist;
}
if (inList) {
boolean putToList = true;
List<CfAttributcontent> attributcontentList = cfattributcontentService.findByClasscontentref(classcontent);
ArrayList<HashMap> keyvals = contentUtil.getContentOutputKeyval(attributcontentList);
ArrayList<String> keywords = contentUtil.getContentOutputKeywords(classcontent, true);
if (!searchmap.isEmpty()) {
for (String searchcontent : searchmap.keySet()) {
String searchvalue = searchmap.get(searchcontent);
SearchValues sv = getSearchValues(searchvalue);
if (!compareAttribut(keyvals, sv, searchcontent)) {
putToList = false;
break;
}
}
}
// Check the keyword filter (at least one keyword must be found (OR))
if (!searchkeywords.isEmpty()) {
boolean dummyfound = false;
for (String keyword : searchkeywords) {
if (keywords.contains(keyword.toLowerCase())) {
dummyfound = true;
}
}
putToList = dummyfound;
}
if (putToList) {
found = true;
listcounter++;
if (range_start > 0) {
if ((listcounter >= range_start) && (listcounter <= range_end)) {
ContentDataOutput contentdataoutput = new ContentDataOutput();
contentdataoutput.setContent(classcontent);
contentdataoutput.setKeywords(keywords);
contentdataoutput.setKeyvals(keyvals);
outputlist.add(contentdataoutput);
// System.out.println(inst_klasse + " - " + listcounter);
}
} else {
ContentDataOutput contentdataoutput = new ContentDataOutput();
contentdataoutput.setContent(classcontent);
contentdataoutput.setKeywords(keywords);
contentdataoutput.setKeyvals(keyvals);
outputlist.add(contentdataoutput);
// System.out.println(inst_klasse + " - " + listcounter);
}
}
}
}
if (!found) {
outputmap.put("contentfound", "false");
}
Gson gson = new Gson();
String json = gson.toJson(outputlist);
gcp.setJson(json);
gcp.setReturncode("TRUE");
return gcp;
} else {
gcp.setReturncode("FALSE");
gcp.setJson("[]");
return gcp;
}
}
use of io.clownfish.clownfish.dbentities.CfList in project Clownfish by rawdog71.
the class SiteTreeBean method onSelect.
public void onSelect(NodeSelectEvent event) {
selectedNode = event.getTreeNode();
selectedSite = (CfSite) selectedNode.getData();
classcontentlist = cfclasscontentService.findByMaintenance(true);
if (null != selectedSite.getTemplateref()) {
CfTemplate template = cftemplateService.findById(selectedSite.getTemplateref().longValue());
int idx = templatelist.getTemplateListe().indexOf(template);
selectedTemplate = templatelist.getTemplateListe().get(idx);
iframeurl = selectedSite.getName() + "?preview=true";
selectedDiv = null;
showContent = false;
showDatalist = false;
showAsset = false;
showAssetLibrary = false;
showKeywordLibrary = false;
if (template.isLayout()) {
contenteditable = true;
FacesMessage message = new FacesMessage("LAYOUT TEMPLATE");
FacesContext.getCurrentInstance().addMessage(null, message);
// List<CfLayoutcontent> layoutcontent = cflayoutcontentService.findBySiteref(selectedSite.getId());
layout = new CfLayout(template.getName());
Document doc = Jsoup.parse(template.getContent());
Elements divs = doc.getElementsByAttribute("template");
for (Element div : divs) {
String contents = div.attr("contents");
String datalists = div.attr("datalists");
String assets = div.attr("assets");
String assetlists = div.attr("assetlists");
String keywordlists = div.attr("keywordlists");
CfDiv cfdiv = new CfDiv();
cfdiv.setId(div.attr("id"));
cfdiv.setName(div.attr("template"));
if (!contents.isEmpty()) {
cfdiv.getContentArray().addAll(ClownfishUtil.toList(contents.split(",")));
}
if (!datalists.isEmpty()) {
cfdiv.getContentlistArray().addAll(ClownfishUtil.toList(datalists.split(",")));
}
if (!assets.isEmpty()) {
cfdiv.getAssetArray().addAll(ClownfishUtil.toList(assets.split(",")));
}
if (!assetlists.isEmpty()) {
cfdiv.getAssetlistArray().addAll(ClownfishUtil.toList(assetlists.split(",")));
}
if (!keywordlists.isEmpty()) {
cfdiv.getKeywordlistArray().addAll(ClownfishUtil.toList(keywordlists.split(",")));
}
layout.getDivArray().put(div.attr("id"), cfdiv);
}
} else {
contenteditable = false;
selected_contentclass = null;
selected_datalisttclass = null;
selected_asset = null;
selected_assetlist = null;
selected_keywordlist = null;
}
} else {
selectedTemplate = null;
}
if (null != selectedSite.getStylesheetref()) {
CfStylesheet styleshet = cfstylesheetService.findById(selectedSite.getStylesheetref().longValue());
int idx = stylesheetlist.getStylesheetListe().indexOf(styleshet);
selectedStylesheet = stylesheetlist.getStylesheetListe().get(idx);
} else {
selectedStylesheet = null;
}
if (null != selectedSite.getJavascriptref()) {
CfJavascript javascript = cfjavascriptService.findById(selectedSite.getJavascriptref().longValue());
int idx = javascriptlist.getJavascriptListe().indexOf(javascript);
selectedJavascript = javascriptlist.getJavascriptListe().get(idx);
} else {
selectedJavascript = null;
}
selectedDatasources.clear();
List<CfSitedatasource> selectedSiteDatasources = cfsitedatasourceService.findBySiteref(selectedSite.getId());
for (CfSitedatasource sitedatasource : selectedSiteDatasources) {
CfDatasource ds = cfdatasourceService.findById(sitedatasource.getCfSitedatasourcePK().getDatasourceref());
selectedDatasources.add(ds);
}
selectedContentlist.clear();
List<CfSitelist> selectedSitecontentlist = cfsitelistService.findBySiteref(selectedSite.getId());
for (CfSitelist sitelist : selectedSitecontentlist) {
CfList cl = cflistService.findById(sitelist.getCfSitelistPK().getListref());
selectedContentlist.add(cl);
}
selectedClasscontentlist.clear();
List<CfSitecontent> selectedClasscontentliste = cfsitecontentService.findBySiteref(selectedSite.getId());
for (CfSitecontent sitecontent : selectedClasscontentliste) {
CfClasscontent cc = cfclasscontentService.findById(sitecontent.getCfSitecontentPK().getClasscontentref());
selectedClasscontentlist.add(cc);
}
selectedAssetlist.clear();
List<CfSiteassetlist> selectedAssetliste = cfsiteassetlistService.findBySiteref(selectedSite.getId());
for (CfSiteassetlist siteassetlist : selectedAssetliste) {
CfAssetlist csa = cfassetlistService.findById(siteassetlist.getCfSiteassetlistPK().getAssetlistref());
selectedAssetlist.add(csa);
}
selectedKeywordlist.clear();
List<CfSitekeywordlist> selectedKeywordliste = cfsitekeywordlistService.findBySiteref(selectedSite.getId());
for (CfSitekeywordlist sitekeywordlist : selectedKeywordliste) {
CfKeywordlist kwl = cfkeywordlistService.findById(sitekeywordlist.getCfSitekeywordlistPK().getKeywordlistref());
selectedKeywordlist.add(kwl);
}
siteName = selectedSite.getName();
siteTitle = selectedSite.getTitle();
siteDescription = selectedSite.getDescription();
sitejob = selectedSite.isJob();
sitesearchrelevant = selectedSite.isSearchrelevant();
sitemap = selectedSite.isSitemap();
sitestatic = selectedSite.isStaticsite();
aliaspath = selectedSite.getAliaspath();
sitehtmlcompression = selectedSite.getHtmlcompression();
characterEncoding = selectedSite.getCharacterencoding();
contentType = selectedSite.getContenttype();
locale = selectedSite.getLocale();
saprfclist = cfsitesaprfcService.findBySiteref(selectedSite.getId());
newButtonDisabled = true;
FacesMessage message = new FacesMessage("Selected " + selectedSite.getName());
FacesContext.getCurrentInstance().addMessage(null, message);
}
use of io.clownfish.clownfish.dbentities.CfList in project Clownfish by rawdog71.
the class SiteTreeBean method onChange.
public void onChange(ActionEvent actionEvent) {
if (null != selectedSite) {
if (null != selectedStylesheet) {
selectedSite.setStylesheetref(BigInteger.valueOf(selectedStylesheet.getId().intValue()));
} else {
selectedSite.setStylesheetref(null);
}
if (null != selectedTemplate) {
selectedSite.setTemplateref(BigInteger.valueOf(selectedTemplate.getId().intValue()));
} else {
selectedSite.setTemplateref(null);
}
if (null != selectedJavascript) {
selectedSite.setJavascriptref(BigInteger.valueOf(selectedJavascript.getId().intValue()));
} else {
selectedSite.setJavascriptref(null);
}
// Delete siteresources first
List<CfSitedatasource> sitedatasourceList = cfsitedatasourceService.findBySiteref(selectedSite.getId());
for (CfSitedatasource sitedatasource : sitedatasourceList) {
cfsitedatasourceService.delete(sitedatasource);
}
// Add selected siteresources
if (!selectedDatasources.isEmpty()) {
for (CfDatasource datasource : selectedDatasources) {
CfSitedatasource sitedatasource = new CfSitedatasource();
CfSitedatasourcePK cfsitedatasourcePK = new CfSitedatasourcePK();
cfsitedatasourcePK.setSiteref(selectedSite.getId());
cfsitedatasourcePK.setDatasourceref(datasource.getId());
sitedatasource.setCfSitedatasourcePK(cfsitedatasourcePK);
cfsitedatasourceService.create(sitedatasource);
}
}
// Delete sitelists first
List<CfSitelist> sitelists = cfsitelistService.findBySiteref(selectedSite.getId());
for (CfSitelist sitelist : sitelists) {
cfsitelistService.delete(sitelist);
}
// Add selected sitelists
if (!selectedContentlist.isEmpty()) {
for (CfList contentList : selectedContentlist) {
CfSitelist sitelist = new CfSitelist();
CfSitelistPK cfsitelistPK = new CfSitelistPK();
cfsitelistPK.setSiteref(selectedSite.getId());
cfsitelistPK.setListref(contentList.getId());
sitelist.setCfSitelistPK(cfsitelistPK);
cfsitelistService.create(sitelist);
}
}
// Delete sitecontent first
List<CfSitecontent> contentlists = cfsitecontentService.findBySiteref(selectedSite.getId());
for (CfSitecontent content : contentlists) {
cfsitecontentService.delete(content);
}
// Add selected sitecontent
if (!selectedClasscontentlist.isEmpty()) {
for (CfClasscontent content : selectedClasscontentlist) {
CfSitecontent sitecontent = new CfSitecontent();
CfSitecontentPK cfsitecontentPK = new CfSitecontentPK();
cfsitecontentPK.setSiteref(selectedSite.getId());
cfsitecontentPK.setClasscontentref(content.getId());
sitecontent.setCfSitecontentPK(cfsitecontentPK);
cfsitecontentService.create(sitecontent);
}
}
// Delete siteassetlist first
List<CfSiteassetlist> siteassetlists = cfsiteassetlistService.findBySiteref(selectedSite.getId());
for (CfSiteassetlist assetList : siteassetlists) {
cfsiteassetlistService.delete(assetList);
}
// Add selected sitecontent
if (!selectedAssetlist.isEmpty()) {
for (CfAssetlist content : selectedAssetlist) {
CfSiteassetlist siteassetlist = new CfSiteassetlist();
CfSiteassetlistPK cfsitecontentPK = new CfSiteassetlistPK();
cfsitecontentPK.setSiteref(selectedSite.getId());
cfsitecontentPK.setAssetlistref(content.getId());
siteassetlist.setCfSiteassetlistPK(cfsitecontentPK);
cfsiteassetlistService.create(siteassetlist);
}
}
// Delete sitekeywordlist first
List<CfSitekeywordlist> sitekeywordlists = cfsitekeywordlistService.findBySiteref(selectedSite.getId());
for (CfSitekeywordlist keywordList : sitekeywordlists) {
cfsitekeywordlistService.delete(keywordList);
}
// Add selected sitecontent
if (!selectedKeywordlist.isEmpty()) {
for (CfKeywordlist content : selectedKeywordlist) {
CfSitekeywordlist sitekeywordlist = new CfSitekeywordlist();
CfSitekeywordlistPK cfsitecontentPK = new CfSitekeywordlistPK();
cfsitecontentPK.setSiteref(selectedSite.getId());
cfsitecontentPK.setKeywordlistref(content.getId());
sitekeywordlist.setCfSitekeywordlistPK(cfsitecontentPK);
cfsitekeywordlistService.create(sitekeywordlist);
}
}
selectedSite.setName(siteName);
selectedSite.setHtmlcompression(sitehtmlcompression);
selectedSite.setCharacterencoding(characterEncoding);
selectedSite.setContenttype(contentType);
selectedSite.setLocale(locale);
selectedSite.setAliaspath(aliaspath);
selectedSite.setTitle(siteTitle);
selectedSite.setDescription(siteDescription);
selectedSite.setJob(sitejob);
selectedSite.setSearchrelevant(sitesearchrelevant);
selectedSite.setSitemap(sitemap);
selectedSite.setStaticsite(sitestatic);
cfsiteService.edit(selectedSite);
loadTree();
FacesMessage message = new FacesMessage("Changed " + selectedSite.getName());
FacesContext.getCurrentInstance().addMessage(null, message);
}
}
Aggregations