Search in sources :

Example 1 with CfAttribut

use of io.clownfish.clownfish.dbentities.CfAttribut in project Clownfish by rawdog71.

the class RestContent method insertContent.

private RestContentParameter insertContent(RestContentParameter icp) {
    try {
        String token = icp.getToken();
        if (authtokenlist.checkValidToken(token)) {
            String apikey = icp.getApikey();
            if (apikeyutil.checkApiKey(apikey, "RestService")) {
                CfClass clazz = cfclassService.findByName(icp.getClassname());
                try {
                    CfClasscontent classcontent = cfclasscontentService.findByName(icp.getContentname().trim().replaceAll("\\s+", "_"));
                    LOGGER.warn("Duplicate Classcontent");
                    icp.setReturncode("Duplicate Classcontent");
                } catch (javax.persistence.NoResultException ex) {
                    CfClasscontent newclasscontent = new CfClasscontent();
                    newclasscontent.setName(icp.getContentname().trim().replaceAll("\\s+", "_"));
                    newclasscontent.setClassref(clazz);
                    CfClasscontent newclasscontent2 = cfclasscontentService.create(newclasscontent);
                    hibernateUtil.insertContent(newclasscontent);
                    List<CfAttribut> attributlist = cfattributService.findByClassref(newclasscontent2.getClassref());
                    attributlist.stream().forEach((attribut) -> {
                        if (attribut.getAutoincrementor() == true) {
                            List<CfClasscontent> classcontentlist2 = cfclasscontentService.findByClassref(newclasscontent2.getClassref());
                            long max = 0;
                            int last = classcontentlist2.size();
                            if (1 == last) {
                                max = 0;
                            } else {
                                CfClasscontent classcontent = classcontentlist2.get(last - 2);
                                CfAttributcontent attributcontent = cfattributcontentService.findByAttributrefAndClasscontentref(attribut, classcontent);
                                if (attributcontent.getContentInteger().longValue() > max) {
                                    max = attributcontent.getContentInteger().longValue();
                                }
                            }
                            CfAttributcontent newcontent = new CfAttributcontent();
                            newcontent.setAttributref(attribut);
                            newcontent.setClasscontentref(newclasscontent);
                            newcontent.setContentInteger(BigInteger.valueOf(max + 1));
                            CfAttributcontent newcontent2 = cfattributcontentService.create(newcontent);
                            icp.getAttributmap().put(attribut.getName(), newcontent2.getContentInteger().toString());
                            icp.setReturncode("OK");
                        } else {
                            CfAttributcontent newcontent = new CfAttributcontent();
                            newcontent.setAttributref(attribut);
                            newcontent.setClasscontentref(newclasscontent);
                            newcontent = contentUtil.setAttributValue(newcontent, icp.getAttributmap().get(attribut.getName()));
                            cfattributcontentService.create(newcontent);
                            if (icp.isIndexing()) {
                                contentUtil.indexContent();
                            }
                            icp.setReturncode("OK");
                        }
                    });
                    hibernateUtil.updateContent(newclasscontent);
                }
            } else {
                icp.setReturncode("Wrong API KEY");
            }
        } else {
            icp.setReturncode("Invalid token");
        }
    } catch (javax.persistence.NoResultException ex) {
        LOGGER.error("NoResultException");
        icp.setReturncode("NoResultException");
    }
    return icp;
}
Also used : CfContentversion(io.clownfish.clownfish.dbentities.CfContentversion) CfListService(io.clownfish.clownfish.serviceinterface.CfListService) CfSitecontent(io.clownfish.clownfish.dbentities.CfSitecontent) CfContentversionService(io.clownfish.clownfish.serviceinterface.CfContentversionService) Date(java.util.Date) LoggerFactory(org.slf4j.LoggerFactory) AuthTokenList(io.clownfish.clownfish.datamodels.AuthTokenList) ContentUtil(io.clownfish.clownfish.utils.ContentUtil) Autowired(org.springframework.beans.factory.annotation.Autowired) RestContentParameterExt(io.clownfish.clownfish.datamodels.RestContentParameterExt) ClassUtil(io.clownfish.clownfish.utils.ClassUtil) CfClasscontent(io.clownfish.clownfish.dbentities.CfClasscontent) RestContentParameter(io.clownfish.clownfish.datamodels.RestContentParameter) CfClass(io.clownfish.clownfish.dbentities.CfClass) RequestBody(org.springframework.web.bind.annotation.RequestBody) CfClassService(io.clownfish.clownfish.serviceinterface.CfClassService) CfAttributcontentService(io.clownfish.clownfish.serviceinterface.CfAttributcontentService) CfSitecontentService(io.clownfish.clownfish.serviceinterface.CfSitecontentService) CompressionUtils(io.clownfish.clownfish.utils.CompressionUtils) CfClasscontentKeywordService(io.clownfish.clownfish.serviceinterface.CfClasscontentKeywordService) BigInteger(java.math.BigInteger) CfAttributService(io.clownfish.clownfish.serviceinterface.CfAttributService) CfListcontentService(io.clownfish.clownfish.serviceinterface.CfListcontentService) CfClasscontentService(io.clownfish.clownfish.serviceinterface.CfClasscontentService) PostMapping(org.springframework.web.bind.annotation.PostMapping) HibernateUtil(io.clownfish.clownfish.utils.HibernateUtil) Logger(org.slf4j.Logger) CfAttribut(io.clownfish.clownfish.dbentities.CfAttribut) CfAttributetypeService(io.clownfish.clownfish.serviceinterface.CfAttributetypeService) IOException(java.io.IOException) CfListcontent(io.clownfish.clownfish.dbentities.CfListcontent) RestController(org.springframework.web.bind.annotation.RestController) ApiKeyUtil(io.clownfish.clownfish.utils.ApiKeyUtil) List(java.util.List) CfClasscontentkeyword(io.clownfish.clownfish.dbentities.CfClasscontentkeyword) CfAssetService(io.clownfish.clownfish.serviceinterface.CfAssetService) CfContentversionPK(io.clownfish.clownfish.dbentities.CfContentversionPK) CfAttributcontent(io.clownfish.clownfish.dbentities.CfAttributcontent) CfClass(io.clownfish.clownfish.dbentities.CfClass) CfAttributcontent(io.clownfish.clownfish.dbentities.CfAttributcontent) AuthTokenList(io.clownfish.clownfish.datamodels.AuthTokenList) List(java.util.List) CfClasscontent(io.clownfish.clownfish.dbentities.CfClasscontent)

Example 2 with CfAttribut

use of io.clownfish.clownfish.dbentities.CfAttribut in project Clownfish by rawdog71.

the class CfAttributDAOImpl method findByClassref.

@Override
public List<CfAttribut> findByClassref(CfClass classref) {
    Session session = this.sessionFactory.getCurrentSession();
    TypedQuery query = (TypedQuery) session.getNamedQuery("CfAttribut.findByClassref");
    query.setParameter("classref", classref);
    List<CfAttribut> cfattributlist = query.getResultList();
    return cfattributlist;
}
Also used : TypedQuery(javax.persistence.TypedQuery) CfAttribut(io.clownfish.clownfish.dbentities.CfAttribut) Session(org.hibernate.Session)

Example 3 with CfAttribut

use of io.clownfish.clownfish.dbentities.CfAttribut in project Clownfish by rawdog71.

the class ContentList method onCreateContent.

public void onCreateContent(ActionEvent actionEvent) {
    try {
        CfClasscontent newclasscontent = new CfClasscontent();
        contentName = contentName.replaceAll("\\s+", "_");
        newclasscontent.setName(contentName);
        newclasscontent.setClassref(selectedClass);
        cfclasscontentService.create(newclasscontent);
        List<CfAttribut> attributlist = cfattributService.findByClassref(newclasscontent.getClassref());
        attributlist.stream().forEach((attribut) -> {
            if (attribut.getAutoincrementor() == true) {
                List<CfClasscontent> classcontentlist2 = cfclasscontentService.findByClassref(newclasscontent.getClassref());
                long max = 0;
                int last = classcontentlist2.size();
                if (1 == last) {
                    max = 0;
                } else {
                    CfClasscontent classcontent = classcontentlist2.get(last - 2);
                    CfAttributcontent attributcontent = cfattributcontentService.findByAttributrefAndClasscontentref(attribut, classcontent);
                    if (attributcontent.getContentInteger().longValue() > max) {
                        max = attributcontent.getContentInteger().longValue();
                    }
                }
                CfAttributcontent newcontent = new CfAttributcontent();
                newcontent.setAttributref(attribut);
                newcontent.setClasscontentref(newclasscontent);
                newcontent.setContentInteger(BigInteger.valueOf(max + 1));
                cfattributcontentService.create(newcontent);
            } else {
                CfAttributcontent newcontent = new CfAttributcontent();
                newcontent.setAttributref(attribut);
                newcontent.setClasscontentref(newclasscontent);
                cfattributcontentService.create(newcontent);
            }
        });
        hibernateUtil.insertContent(newclasscontent);
        classcontentlist.clear();
        classcontentlist = cfclasscontentService.findByMaintenance(true);
        FacesMessage message = new FacesMessage("Content created");
        FacesContext.getCurrentInstance().addMessage(null, message);
    } catch (ConstraintViolationException ex) {
        LOGGER.error(ex.getMessage());
    }
}
Also used : CfAttribut(io.clownfish.clownfish.dbentities.CfAttribut) CfAttributcontent(io.clownfish.clownfish.dbentities.CfAttributcontent) ConstraintViolationException(jakarta.validation.ConstraintViolationException) FacesMessage(javax.faces.application.FacesMessage) CfClasscontent(io.clownfish.clownfish.dbentities.CfClasscontent)

Example 4 with CfAttribut

use of io.clownfish.clownfish.dbentities.CfAttribut in project Clownfish by rawdog71.

the class InsertContent method insertContent.

private RestContentParameter insertContent(RestContentParameter icp, HttpServletResponse response) throws IOException {
    try {
        String apikey = icp.getApikey();
        if (apikeyutil.checkApiKey(apikey, "RestService")) {
            CfClass clazz = cfclassService.findByName(icp.getClassname());
            try {
                CfClasscontent classcontent = cfclasscontentService.findByName(icp.getContentname());
                response.getOutputStream().println("Duplicate Classcontent: " + icp.getContentname());
                icp.setReturncode("NOK");
            } catch (javax.persistence.NoResultException ex) {
                try {
                    CfClasscontent newclasscontent = new CfClasscontent();
                    newclasscontent.setName(icp.getContentname());
                    newclasscontent.setClassref(clazz);
                    CfClasscontent newclasscontent2 = cfclasscontentService.create(newclasscontent);
                    hibernateUtil.insertContent(newclasscontent);
                    response.getOutputStream().println(newclasscontent.getName());
                    List<CfAttribut> attributlist = cfattributService.findByClassref(newclasscontent2.getClassref());
                    attributlist.stream().forEach((attribut) -> {
                        if (attribut.getAutoincrementor() == true) {
                            List<CfClasscontent> classcontentlist2 = cfclasscontentService.findByClassref(newclasscontent2.getClassref());
                            long max = 0;
                            int last = classcontentlist2.size();
                            if (1 == last) {
                                max = 0;
                            } else {
                                CfClasscontent classcontent = classcontentlist2.get(last - 2);
                                CfAttributcontent attributcontent = cfattributcontentService.findByAttributrefAndClasscontentref(attribut, classcontent);
                                if (attributcontent.getContentInteger().longValue() > max) {
                                    max = attributcontent.getContentInteger().longValue();
                                }
                            }
                            CfAttributcontent newcontent = new CfAttributcontent();
                            newcontent.setAttributref(attribut);
                            newcontent.setClasscontentref(newclasscontent);
                            newcontent.setContentInteger(BigInteger.valueOf(max + 1));
                            cfattributcontentService.create(newcontent);
                        } else {
                            CfAttributcontent newcontent = new CfAttributcontent();
                            newcontent.setAttributref(attribut);
                            newcontent.setClasscontentref(newclasscontent);
                            newcontent = contentUtil.setAttributValue(newcontent, icp.getAttributmap().get(attribut.getName()));
                            cfattributcontentService.create(newcontent);
                            contentUtil.indexContent();
                        }
                    });
                    hibernateUtil.updateContent(newclasscontent);
                } catch (IOException ex1) {
                    LOGGER.error(ex1.getMessage());
                }
            } catch (IOException ex) {
                LOGGER.error(ex.getMessage());
            }
        } else {
            try {
                response.getOutputStream().println("Wrong API KEY");
            } catch (IOException ex1) {
                LOGGER.error(ex1.getMessage());
            }
        }
    } catch (javax.persistence.NoResultException ex) {
        try {
            response.getOutputStream().println("Class not found: " + icp.getClassname());
        } catch (IOException ex1) {
            LOGGER.error(ex1.getMessage());
        }
    }
    return icp;
}
Also used : CfListService(io.clownfish.clownfish.serviceinterface.CfListService) ServletException(javax.servlet.ServletException) LoggerFactory(org.slf4j.LoggerFactory) ContentUtil(io.clownfish.clownfish.utils.ContentUtil) Autowired(org.springframework.beans.factory.annotation.Autowired) CfClasscontent(io.clownfish.clownfish.dbentities.CfClasscontent) RestContentParameter(io.clownfish.clownfish.datamodels.RestContentParameter) CfClass(io.clownfish.clownfish.dbentities.CfClass) HttpServletRequest(javax.servlet.http.HttpServletRequest) CfClassService(io.clownfish.clownfish.serviceinterface.CfClassService) CfAttributcontentService(io.clownfish.clownfish.serviceinterface.CfAttributcontentService) Gson(com.google.gson.Gson) BigInteger(java.math.BigInteger) CfAttributService(io.clownfish.clownfish.serviceinterface.CfAttributService) CfClasscontentService(io.clownfish.clownfish.serviceinterface.CfClasscontentService) HibernateUtil(io.clownfish.clownfish.utils.HibernateUtil) Logger(org.slf4j.Logger) CfAttribut(io.clownfish.clownfish.dbentities.CfAttribut) HttpServlet(javax.servlet.http.HttpServlet) CfAttributetypeService(io.clownfish.clownfish.serviceinterface.CfAttributetypeService) HttpServletResponse(javax.servlet.http.HttpServletResponse) IOException(java.io.IOException) WebServlet(javax.servlet.annotation.WebServlet) ApiKeyUtil(io.clownfish.clownfish.utils.ApiKeyUtil) List(java.util.List) Component(org.springframework.stereotype.Component) CfAssetService(io.clownfish.clownfish.serviceinterface.CfAssetService) CfAttributcontent(io.clownfish.clownfish.dbentities.CfAttributcontent) BufferedReader(java.io.BufferedReader) CfClass(io.clownfish.clownfish.dbentities.CfClass) CfAttributcontent(io.clownfish.clownfish.dbentities.CfAttributcontent) List(java.util.List) IOException(java.io.IOException) CfClasscontent(io.clownfish.clownfish.dbentities.CfClasscontent)

Example 5 with CfAttribut

use of io.clownfish.clownfish.dbentities.CfAttribut in project Clownfish by rawdog71.

the class HibernateUtil method makePrimaryKey.

private static void makePrimaryKey(List<CfAttribut> attributlist, Element elementclass, int idcount) {
    if (idcount == 1) {
        for (CfAttribut attribut : attributlist) {
            if (attribut.getIdentity()) {
                Element elementproperty = elementclass.addElement("property");
                elementproperty.addAttribute("name", attribut.getName());
                elementproperty.addAttribute("column", attribut.getName() + "_");
                elementproperty.addAttribute("type", getHibernateType(attribut.getAttributetype().getName()));
                elementproperty.addAttribute("index", "idx_" + attribut.getName());
            }
        }
    } else {
        for (CfAttribut attribut : attributlist) {
            if (attribut.getIdentity()) {
                Element elementkeyproperty = elementclass.addElement("property");
                elementkeyproperty.addAttribute("name", attribut.getName());
                elementkeyproperty.addAttribute("column", attribut.getName() + "_");
                elementkeyproperty.addAttribute("type", getHibernateType(attribut.getAttributetype().getName()));
                elementkeyproperty.addAttribute("index", "idx_" + attribut.getName());
            }
        }
    }
}
Also used : Element(org.dom4j.Element) CfAttribut(io.clownfish.clownfish.dbentities.CfAttribut)

Aggregations

CfAttribut (io.clownfish.clownfish.dbentities.CfAttribut)19 CfClass (io.clownfish.clownfish.dbentities.CfClass)11 CfAttributcontent (io.clownfish.clownfish.dbentities.CfAttributcontent)8 CfClasscontent (io.clownfish.clownfish.dbentities.CfClasscontent)7 IOException (java.io.IOException)7 Session (org.hibernate.Session)6 Gson (com.google.gson.Gson)4 RestContentParameter (io.clownfish.clownfish.datamodels.RestContentParameter)4 CfAttributService (io.clownfish.clownfish.serviceinterface.CfAttributService)4 CfAttributcontentService (io.clownfish.clownfish.serviceinterface.CfAttributcontentService)4 CfClassService (io.clownfish.clownfish.serviceinterface.CfClassService)4 CfClasscontentService (io.clownfish.clownfish.serviceinterface.CfClasscontentService)4 List (java.util.List)4 Element (org.dom4j.Element)4 Autowired (org.springframework.beans.factory.annotation.Autowired)4 CfAssetService (io.clownfish.clownfish.serviceinterface.CfAssetService)3 CfAttributetypeService (io.clownfish.clownfish.serviceinterface.CfAttributetypeService)3 CfListService (io.clownfish.clownfish.serviceinterface.CfListService)3 ByteArrayInputStream (java.io.ByteArrayInputStream)3 ArrayList (java.util.ArrayList)3