Skip to content

Commit

Permalink
Merge branch 'dev' into feature-anotaciones-#43
Browse files Browse the repository at this point in the history
  • Loading branch information
juan.fernandez committed Jul 4, 2018
2 parents f1ab8d6 + cdee787 commit 0a53f9e
Show file tree
Hide file tree
Showing 10 changed files with 321 additions and 92 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ public void processRequest(HttpServletRequest request, HttpServletResponse respo
@Override
public void doView(HttpServletRequest request, HttpServletResponse response, SWBParamRequest paramRequest) throws SWBResourceException, IOException {
response.setContentType("text/html; charset=UTF-8");
String jsppath = "/swbadmin/jsp/rnc/exhibitions/tematic/index.jsp";
String jsppath = "/swbadmin/jsp/rnc/exhibitions/tematic/init.jsp";
RequestDispatcher rd = request.getRequestDispatcher(jsppath);
try {
request.setAttribute(PARAM_REQUEST, paramRequest);
Expand Down Expand Up @@ -118,12 +118,11 @@ private List<org.bson.Document> getExhibitions(SWBParamRequest paramRequest) thr
org.bson.Document bson = new org.bson.Document("url", exhibition.getUrl(usrlanguage, false)).append("path", this.path).append("id", exhibition.getId())
.append("target", null != exhibition.getTarget() && !"".equalsIgnoreCase(exhibition.getTarget()) ? exhibition.getTarget() : "_self")
.append("desc", exhibition.getDisplayDescription(usrlanguage) == null ? "" : exhibition.getDisplayDescription(usrlanguage))
.append("title", exhibition.getDisplayName(usrlanguage));
.append("title", exhibition.getDisplayName(usrlanguage)).append("author", exhibition.getCreator().getFullName());
if (null != exhibition.getProperty("posters") && !exhibition.getProperty("posters").isEmpty()) {
if (exhibition.getProperty("posters").indexOf("#") >0) {
String [] posters = exhibition.getProperty("posters").split("#");
for (int i=0; i<posters.length; i++) {
System.out.println("poster: " + i + " " + posters[i]);
elements.add(posters[i]);
}
}else elements.add(exhibition.getProperty("posters"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -341,7 +341,6 @@ public void doUploadFiles(HttpServletRequest request, HttpServletResponse respon

File wp = new File(workPath);
if (!wp.exists()) wp.mkdirs();
System.out.println("isEnabledForFileUpload: " + HTMLCultureUtils.isEnabledForFileUpload(paramRequest));
if (HTMLCultureUtils.isEnabledForFileUpload(paramRequest) && ACT_UPLOADFILE.equals(action) && ServletFileUpload.isMultipartContent(request)) {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload sfu = new ServletFileUpload(factory);
Expand All @@ -353,7 +352,6 @@ public void doUploadFiles(HttpServletRequest request, HttpServletResponse respon
FileItem item = iter.next();
if (!item.isFormField()) {
String itemName = item.getName();
System.out.println("itemName: " + itemName);
if (HTMLCultureUtils.isValidFileType(itemName, extensions)) {
String fileName = HTMLCultureUtils.sanitizeFileName(itemName);
item.write(new File(workPath+fileName));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import mx.gob.cultura.portal.response.Entry;
import mx.gob.cultura.portal.response.Collection;
import static mx.gob.cultura.portal.utils.Constants.COLLECTION;

import static mx.gob.cultura.portal.utils.Constants.FULL_LIST;
import static mx.gob.cultura.portal.utils.Constants.PARAM_REQUEST;
Expand All @@ -26,6 +29,15 @@ public class InCollections extends MyCollections {
public static final String MODE_VIEW_PBC = "VIEW_PBC";
private static final Logger LOG = Logger.getLogger(InCollections.class.getName());

@Override
public void processRequest(HttpServletRequest request, HttpServletResponse response, SWBParamRequest paramRequest) throws SWBResourceException, IOException {
String mode = paramRequest.getMode();
if (MODE_VIEW_USR.equals(mode)) {
collectionById(request, response, paramRequest);
}else
super.processRequest(request, response, paramRequest);
}

@Override
public void doView(HttpServletRequest request, HttpServletResponse response, SWBParamRequest paramRequest) throws SWBResourceException, IOException {
response.setContentType("text/html; charset=UTF-8");
Expand All @@ -45,6 +57,33 @@ public void doView(HttpServletRequest request, HttpServletResponse response, SWB
}
}

@Override
public void collectionById(HttpServletRequest request, HttpServletResponse response, SWBParamRequest paramRequest) throws SWBResourceException, IOException {
Collection collection = null;
List<Entry> favorites = new ArrayList<>();
String path = "/swbadmin/jsp/rnc/collections/elements.jsp";
RequestDispatcher rd = request.getRequestDispatcher(path);
try {
if (null != request.getParameter(IDENTIFIER))
collection = mgr.findById(request.getParameter(IDENTIFIER));
if (null != collection && null != collection.getElements()) {
for (String _id : collection.getElements()) {
Entry entry = getEntry(paramRequest, _id);
if (null != entry) {
favorites.add(entry);
SearchCulturalProperty.setThumbnail(entry, paramRequest.getWebPage().getWebSite(), 0);
}
}
}
request.setAttribute("myelements", favorites);
request.setAttribute(COLLECTION, collection);
request.setAttribute(PARAM_REQUEST, paramRequest);
rd.include(request, response);
} catch (ServletException se) {
LOG.info(se.getMessage());
}
}

private List<Collection> collectionList(Boolean status) {
List<Collection> collection = new ArrayList<>();
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import mx.gob.cultura.portal.response.Entry;
import mx.gob.cultura.portal.response.Collection;
import mx.gob.cultura.portal.request.GetBICRequest;
import static mx.gob.cultura.portal.utils.Constants.COLLECTION;

import org.semanticwb.model.User;
import org.semanticwb.SWBPlatform;
Expand Down Expand Up @@ -66,8 +67,7 @@ public class MyCollections extends GenericResource {
public static final String MODE_VIEW_USR = "VIEW_USR";
public static final String MODE_VIEW_ALL = "VIEW_ALL";
public static final String ACTION_DEL_FAV = "DEL_FAV";

private static final String COLLECTION = "collection";

private static final String COLLECTION_RENDER = "_collection";

private static final Logger LOG = Logger.getLogger(MyCollections.class.getName());
Expand Down Expand Up @@ -142,7 +142,7 @@ public void collectionById(HttpServletRequest request, HttpServletResponse respo
}
if (null != collection && null != collection.getElements()) {
for (String _id : collection.getElements()) {
Entry entry = getEntry(_id);
Entry entry = getEntry(paramRequest, _id);
if (null != entry) {
favorites.add(entry);
SearchCulturalProperty.setThumbnail(entry, paramRequest.getWebPage().getWebSite(), 0);
Expand Down Expand Up @@ -320,11 +320,15 @@ public static List<String> getCovers(SWBParamRequest paramRequest, List<String>
while (it.hasNext()) {
String uri = baseUri + "/api/v1/search?identifier=" + it.next();
GetBICRequest req = new GetBICRequest(uri);
Entry entry = req.makeRequest();
if (null != entry && null != entry.getDigitalObject() && !entry.getDigitalObject().isEmpty()
&& null != entry.getDigitalObject().get(0).getUrl() && !entry.getDigitalObject().get(0).getUrl().isEmpty() && null != entry.getDigitalObject().get(0).getMediatype()
&& null != entry.getDigitalObject().get(0).getMediatype().getMime() && entry.getDigitalObject().get(0).getMediatype().getMime().startsWith("image")) {
covers.add(entry.getDigitalObject().get(0).getUrl());
try {
Entry entry = req.makeRequest();
if (null != entry && null != entry.getDigitalObject() && !entry.getDigitalObject().isEmpty()
&& null != entry.getDigitalObject().get(0).getUrl() && !entry.getDigitalObject().get(0).getUrl().isEmpty() && null != entry.getDigitalObject().get(0).getMediatype()
&& null != entry.getDigitalObject().get(0).getMediatype().getMime() && entry.getDigitalObject().get(0).getMediatype().getMime().startsWith("image")) {
covers.add(entry.getDigitalObject().get(0).getUrl());
}
}catch (Exception e) {
LOG.info(e.getMessage());
}
if (covers.size() >= size) break;
}
Expand All @@ -338,8 +342,12 @@ private List<Collection> collectionList(User user) {
return collection;
}

private Entry getEntry(String _id) {
String uri = SWBPlatform.getEnv("rnc/endpointURL",getResourceBase().getAttribute("endpointURL","http://localhost:8080")).trim() + "/api/v1/search?identifier=";
protected Entry getEntry(SWBParamRequest paramRequest,String _id) {
String baseUri = paramRequest.getWebPage().getWebSite().getModelProperty("search_endPoint");
if (null == baseUri || baseUri.isEmpty()) {
baseUri = SWBPlatform.getEnv("rnc/endpointURL", getResourceBase().getAttribute("url", "http://localhost:8080")).trim();
}
String uri = baseUri + "/api/v1/search?identifier=";
uri += _id;
GetBICRequest req = new GetBICRequest(uri);
return req.makeRequest();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ private Document getReference(HttpServletRequest request, WebSite site) {
String uri = baseUri + "/api/v1/search?q=";
try {
uri += URLEncoder.encode(getParamSearch(words), StandardCharsets.UTF_8.name());
uri += getFilters(request);
uri += URLEncoder.encode(getFilters(request), StandardCharsets.UTF_8.name());
} catch (UnsupportedEncodingException uex) {
LOG.error(uex);
}
Expand All @@ -255,22 +255,26 @@ private String getFilters(HttpServletRequest request) throws UnsupportedEncoding
StringBuilder filters = new StringBuilder();
filters.append(getFilter(request, "resourcetype"));
filters.append(getFilter(request, "mediatype"));
filters.append(getFilter(request, "dates"));
//filters.append(getFilter(request, "dates"));
filters.append(getFilter(request, "rights"));
filters.append(getFilter(request, "lang"));
filters.append(getFilter(request, "holder"));
if (filters.length() > 0) {
filters.deleteCharAt(filters.length()-1);
filters.deleteCharAt(0);
filters.insert(0, "&filter=");
}
System.out.println("getFilters: " + filters.toString());
return URLEncoder.encode(filters.toString(), StandardCharsets.UTF_8.name());
}

private String getFilter(HttpServletRequest request, String att) {
StringBuilder filter = new StringBuilder();
if (null != request.getParameter(att) && !request.getParameter(att).isEmpty()) {
filter.append(att).append("|");
filter.append(request.getParameter(att)).append("&");
String [] filters = request.getParameter(att).split(",");
for (int i=0; i<filters.length; i++) {
filter.append(",").append(att).append(":").append(filters[i]);
System.out.println("att: " + filter.toString());
}
}else return "";
return filter.toString();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ private Constants() {}

public static final String IDENTIFIER = "id";
public static final String MODE_PAGE = "PAGE";
public static final String COLLECTION = "collection";
public static final String PARAM_REQUEST = "paramRequest";

}
6 changes: 3 additions & 3 deletions SWB/src/main/webapp/WEB-INF/classes/web.properties
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,10 @@ swb/serverURL=http://localhost:8080
#ip del servidor de correos (SMTP)
swb/smtpServer=smtp.gmail.com
swb/smtpPort=465
swb/smtpSsl=true
#swb/smtpSsl=true
#swb/smtpTls=true
swb/smtpUser=juanantoniofernandezarias@gmail.com
swb/smtpPassword=J4fd3za66#
#swb/smtpUser=user@gmail.com
#swb/smtpPassword=pass

#Email de administraci\u00f3n
af/adminEmail=[email protected]
Expand Down
109 changes: 109 additions & 0 deletions SWB/src/main/webapp/swbadmin/jsp/rnc/collections/pbcollections.jsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
<%--
Document : pbcollections
Created on : 28/06/2018, 01:21:54 PM
Author : sergio.tellez
--%>

<main role="main" class="container-fluid">
<div class="row resultadosbar">
<div class="col-md-3 regresar"><a href="#" class="rojo"><span class="ion-arrow-left-c"></span>Regresar</a></div>
<div class="col-md-9 rutatop"><p><a href="#">Inicio</a> / Coleccion</p></div>
</div>
<div class="row offcanvascont">
<div class="offcanvas rojo-bg">
<span onclick="openNav()" id="offcanvasAbre">
<em class="fa fa-sliders" aria-hidden="true"></em> Filtros
<i class="ion-chevrlon-right " aria-hidden="true"></i>
</span>
<span onclick="closeNav()" id="offcanvasCierra">
<em class="fa fa-sliders" aria-hidden="true"></em> Filtros
<i class="ion-close " aria-hidden="true"></i>
</span>
</div>
<div id="sidebar">
<div id="accordion" role="tablist">
</div>
</div>
<div id="contenido">
<div class="ruta-resultado row">
<div class="col-12 col-sm-8 col-md-8">
<p class="oswL rojo">EXPLORAR EN <span class="oswB rojo">500 000</span> REGISTROS EN LA COLECCIÓN</p>
</div>
<div class="col-12 col-sm-4 col-md-4 ordenar">
<i class="fa fa-th select" aria-hidden="true"></i>
<i class="fa fa-th-list " aria-hidden="true"></i>
</div>
</div>
<div id="resultados">
<div class="row">
<div class="sel-temas col-6 col-sm-4">
<button>
<span class="ion-android-checkbox-outline-blank"></span>
<span class="ion-android-checkbox-outline"></span>
<p class="oswL">Romanticismo y mas</p>
<img src="img/agregado-01.jpg">
</button>
</div>
</div>
</div>
<div class="container paginacion">
<ul class="azul">
<li><a href="#"><i class="ion-ios-arrow-back" aria-hidden="true"></i></a></li>
<li><a href="#">1</a></li>
<li><a href="#" class="select">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li><a href="#">5</a></li>
<li><a href="#"><i class="ion-ios-arrow-forward" aria-hidden="true"></i></a></li>
</ul>
</div>
<footer class="gris21-bg">
<div class="container">
<div class="logo-cultura">
<img src="img/logo-cultura.png" class="img-responsive">
</div>
<div class="row pie-sube">
<a href="#top">
<i class="ion-ios-arrow-thin-up" aria-hidden="true"></i>
</a>
</div>
<div class="row datos">
<div class="col-7 col-sm-6 col-md-4 col-lg-4 datos1">
<ul>
<li><a href="#">Quiénes somos y qué hacemos</a></li>
<li><a href="#">Nuestros proveedores de datos</a></li>
<li><a href="#">Cómo colaborar con nosotros</a></li>
</ul>
</div>
<div class="col-5 col-sm-6 col-md-4 col-lg-4 datos2">
<ul>
<li><a href="#">Declaración de derechos</a></li>
<li><a href="#">Documentación</a></li>
<li><a href="#">Red de Preservación</a></li>
</ul>
</div>
<hr class="d-md-none">
<div class="col-7 col-sm-6 col-md-4 col-lg-4 datos3">
<ul>
<li><a href="#">Contacto</a></li>
<li><a href="#">1234 5678 ext. 123 y 456</a></li>
<li><a href="#">[email protected]</a></li>
</ul>
</div>
<hr class="d-none d-sm-none d-md-block">
<div class="col-5 col-sm-6 col-md-12 col-lg-12 datos4">
<ul class="row">
<li class="col-md-4"><a href="#">Mapa de sitio</a></li>
<li class="col-md-4"><a href="#">Política de Privacidad</a></li>
<li class="col-md-4"><a href="#">Términos de uso</a></li>
</ul>
</div>
</div>
</div>
</footer>
<div class="container-fluid pie-derechos">
<p>Secretaría de Cultura, 2017. Todos los derechos reservados.</p>
</div>
</div>
</div>
</main>
Loading

0 comments on commit 0a53f9e

Please sign in to comment.