Package org.fao.geonet.kernel.setting

Examples of org.fao.geonet.kernel.setting.SettingInfo


        // profile. Then the catalogue administrator could manage the created user.
        UserGroup userGroup = new UserGroup().setUser(user).setGroup(group).setProfile(Profile.RegisteredUser);
        context.getBean(UserGroupRepository.class).save(userGroup);
    // Send email to user confirming registration

    SettingInfo si = context.getBean(SettingInfo.class);
    String siteURL = si.getSiteUrl() + context.getBaseUrl();

    if (!sendRegistrationEmail(params, password, catalogAdminEmail, thisSite, siteURL, sm)) {
        return element.addContent(new Element("result").setText("errorEmailToAddressFailed"));
    }
View Full Code Here


    String adminEmail = sm.getValue("system/feedback/email");
    String thisSite = sm.getSiteName();

    // get site URL
    SettingInfo si = context.getBean(SettingInfo.class);
    String siteURL = si.getSiteUrl() + context.getBaseUrl();

        elUser.getSecurity().setPassword(PasswordUtil.encode(context, password));
        userRepository.save(elUser);

    // generate email details using customisable stylesheet
View Full Code Here

        }
  }

    public static void logSearch(ServiceContext srvContext, ServiceConfig config, Query query, int numHits, Sort sort, String geomWKT,
            SearchManager sm) {
        SettingInfo si = srvContext.getBean(SettingInfo.class);
        if (si.isSearchStatsEnabled()) {
            if (sm.getLogAsynch()) {
                // Run asynch
                if(Log.isDebugEnabled(Geonet.SEARCH_ENGINE))
                    Log.debug(Geonet.SEARCH_ENGINE,"Log search in asynch mode - start.");
                GeonetContext gc = (GeonetContext) srvContext.getHandlerContext(Geonet.CONTEXT_NAME);
View Full Code Here

      //--- some other stuff

            if(Log.isDebugEnabled(Geonet.LUCENE))
                Log.debug(Geonet.LUCENE, "CRITERIA:\n"+ Xml.getString(request));

            SettingInfo settingInfo = _sm.getSettingInfo();
            SettingInfo.SearchRequestLanguage requestedLanguageOnly = settingInfo.getRequestedLanguageOnly();
            if(Log.isDebugEnabled(Geonet.LUCENE))
                Log.debug(Geonet.LUCENE, "requestedLanguageOnly: " + requestedLanguageOnly);

      // --- operation parameter
      List<Content> operations = new ArrayList<Content>(request.getChildren("operation"));
      // removes the parameter from the request
      request.removeChildren("operation");

      // Handles operation (filter by download / dynamic visible to the
      // current user)
      if (operations.size() > 0) {
        StringBuilder grpList = new StringBuilder();
        for (Integer g : userGroups) {
          if (grpList.length() > 0)
            grpList.append(" or ");
          grpList.append(g);
        }
        String grps = grpList.toString();
        for (Content elem : operations) {
          if (elem.getValue().equalsIgnoreCase("view")) {
            request.addContent(new Element("_operation0").addContent(grps));
          } else if (elem.getValue().equalsIgnoreCase("download")) {
            request.addContent(new Element("_operation1").addContent(grps));
          } else if (elem.getValue().equalsIgnoreCase("editing")) {
            request.addContent(new Element("_operation2").addContent(grps));
          } else if (elem.getValue().equalsIgnoreCase("notify")) {
            request.addContent(new Element("_operation3").addContent(grps));
          } else if (elem.getValue().equalsIgnoreCase("dynamic")) {
            request.addContent(new Element("_operation5").addContent(grps));
          } else if (elem.getValue().equalsIgnoreCase("featured")) {
            request.addContent(new Element("_operation6").addContent(grps));
          }
        }
      }

            if (_styleSheetName.equals(Geonet.File.SEARCH_Z3950_SERVER)) {
        // Construct Lucene query by XSLT, not Java, for Z3950 anyway :-)
        Element xmlQuery = _sm.transform(_styleSheetName, request);
                if(Log.isDebugEnabled(Geonet.SEARCH_ENGINE))
                    Log.debug(Geonet.SEARCH_ENGINE, "XML QUERY:\n"+ Xml.getString(xmlQuery));
        _query = LuceneSearcher.makeLocalisedQuery(xmlQuery, SearchManager.getAnalyzer(_language.analyzerLanguage, true), _luceneConfig, _language.presentationLanguage, requestedLanguageOnly);
      }
            else {
            // Construct Lucene query (Java)
                if(Log.isDebugEnabled(Geonet.LUCENE))
                    Log.debug(Geonet.LUCENE, "LuceneSearcher constructing Lucene query (LQB)");
                LuceneQueryInput luceneQueryInput = new LuceneQueryInput(request);
                luceneQueryInput.setRequestedLanguageOnly(requestedLanguageOnly);

                _query = new LuceneQueryBuilder(_tokenizedFieldSet, _luceneConfig.getNumericFields(), SearchManager.getAnalyzer(_language.analyzerLanguage, true), _language.presentationLanguage).build(luceneQueryInput);
                if(Log.isDebugEnabled(Geonet.SEARCH_ENGINE))
                    Log.debug(Geonet.SEARCH_ENGINE,"Lucene query: " + _query);

                try {
                    // only for debugging -- might cause NPE is query was wrongly constructed
                    //Query rw = _query.rewrite(_indexAndTaxonomy.indexReader);
                    //if(Log.isDebugEnabled(Geonet.SEARCH_ENGINE)) Log.debug(Geonet.SEARCH_ENGINE,"Rewritten Lucene query: " + _query);
                    //System.out.println("** rewritten:\n"+ rw);
                }
                catch(Throwable x){
                    Log.warning(Geonet.SEARCH_ENGINE,"Error rewriting Lucene query: " + _query);
                    //System.out.println("** error rewriting query: "+x.getMessage());
                }
      }

      // Boosting query
      if (_boostQueryClass != null) {
        try {
                    if(Log.isDebugEnabled(Geonet.SEARCH_ENGINE)) {
                        Log.debug(Geonet.SEARCH_ENGINE, "Create boosting query:" + _boostQueryClass);
                    }
                   
          @SuppressWarnings("unchecked")
                    Class<Query> boostClass = (Class<Query>) Class.forName(_boostQueryClass);
          Class<?>[] clTypesArray = _luceneConfig.getBoostQueryParameterClass();       
          Object[] inParamsArray = _luceneConfig.getBoostQueryParameter();

          Class<?>[] clTypesArrayAll = new Class[clTypesArray.length + 1];
          clTypesArrayAll[0] = Class.forName("org.apache.lucene.search.Query");

                    System.arraycopy(clTypesArray, 0, clTypesArrayAll, 1, clTypesArray.length);
          Object[] inParamsArrayAll = new Object[inParamsArray.length + 1];
          inParamsArrayAll[0] = _query;
                    System.arraycopy(inParamsArray, 0, inParamsArrayAll, 1, inParamsArray.length);
          try {
                        if(Log.isDebugEnabled(Geonet.SEARCH_ENGINE))
                            Log.debug(Geonet.SEARCH_ENGINE, "Creating boost query with parameters:" + Arrays.toString(inParamsArrayAll));
            Constructor<Query> c = boostClass.getConstructor(clTypesArrayAll);
            _query = c.newInstance(inParamsArrayAll);
          } catch (Exception e) {
            Log.warning(Geonet.SEARCH_ENGINE, " Failed to create boosting query: " + e.getMessage()
                + ". Check Lucene configuration");
            e.printStackTrace();
         
        } catch (Exception e1) {
          Log.warning(Geonet.SEARCH_ENGINE, " Error on boosting query initialization: " + e1.getMessage()
              + ". Check Lucene configuration");
        }
      }
     
        // Use RegionsData rather than fetching from the DB everytime
        //
        //request.addContent(Lib.db.select(dbms, "Regions", "region"));
      //RegionsDAO dao = srvContext.getApplicationContext().getBean(RegionsDAO.class);
        //request.addContent(dao.getAllRegionsAsXml(srvContext));
    }

    Collection<Geometry> geometry = getGeometry(srvContext, request);
    SpatialFilter spatialfilter = null;
        if (geometry != null) {
            if (_sm.getLogSpatialObject()) {
                StringBuilder wkt = new StringBuilder();
                for (Geometry geom : geometry) {
                    wkt.append("geom:").append(geom.toText()).append("\n");
                }
                _geomWKT = wkt.toString();
            }
            spatialfilter = _sm.getSpatial().filter(_query, Integer.MAX_VALUE, geometry, request);
        }

        Filter duplicateRemovingFilter = new DuplicateDocFilter(_query, 1000000);
        Filter filter;
        if (spatialfilter == null) {
            filter = duplicateRemovingFilter;
        } else {
            Filter[] filters = new Filter[]{duplicateRemovingFilter, spatialfilter};
            filter = new ChainedFilter(filters, ChainedFilter.AND);
        }

        _filter = new CachingWrapperFilter(filter);

        String sortBy = Util.getParam(request, Geonet.SearchResult.SORT_BY, Geonet.SearchResult.SortBy.RELEVANCE);
    boolean sortOrder = (Util.getParam(request, Geonet.SearchResult.SORT_ORDER, "").equals(""));
        if(Log.isDebugEnabled(Geonet.SEARCH_ENGINE))
            Log.debug(Geonet.SEARCH_ENGINE, "Sorting by : " + sortBy);

        SettingInfo settingInfo = _sm.getSettingInfo();
        boolean sortRequestedLanguageOnTop = settingInfo.getRequestedLanguageOnTop();
        if(Log.isDebugEnabled(Geonet.LUCENE))
            Log.debug(Geonet.LUCENE, "sortRequestedLanguageOnTop: " + sortRequestedLanguageOnTop);

        _sort = LuceneSearcher.makeSort(Collections.singletonList(Pair.read(sortBy, sortOrder)), _language.presentationLanguage, sortRequestedLanguageOnTop);

View Full Code Here

        Map<String, Map<String, String>> records = new HashMap<String, Map<String, String>>();

        try {
            IndexSearcher searcher = new IndexSearcher(reader);
            TermQuery query = new TermQuery(new Term(field, value));
            SettingInfo settingInfo = searchmanager.getSettingInfo();
            boolean sortRequestedLanguageOnTop = settingInfo.getRequestedLanguageOnTop();
            if(Log.isDebugEnabled(Geonet.LUCENE))
                Log.debug(Geonet.LUCENE, "sortRequestedLanguageOnTop: " + sortRequestedLanguageOnTop);
           
            int numberOfHits = 1;
            int counter = 0;
View Full Code Here

    static String[] getTitlesFromMetadataElements(ServiceContext _serviceContext, Element request, Element result) throws JDOMException {
        final String xpath = "*//gmd:identificationInfo/*/gmd:citation/*/gmd:title";
        final List<Namespace> theNSs = Arrays.asList(Geonet.Namespaces.GMD);
        final List<Element> nodes = (List<Element>) Xml.selectNodes(result, xpath, theNSs);

        final SettingInfo settingInfo = _serviceContext.getBean(SearchManager.class).getSettingInfo();
        final LuceneSearcher.LanguageSelection language = LuceneSearcher.determineLanguage(_serviceContext, request,settingInfo);

        String[] titles = new String[nodes.size()];
        final String langCode;
        if (language.presentationLanguage.equals("fre")) {
View Full Code Here

            logger.error("Invalid config parameter: maximum number of writes to spatial index in a transaction (maxWritesInTransaction)"
                         + ", Using " + maxWritesInTransaction + " instead.");
            nfe.printStackTrace();
        }

        SettingInfo settingInfo = context.getBean(SettingInfo.class);
        searchMan = _applicationContext.getBean(SearchManager.class);
        searchMan.init(logAsynch,
                logSpatialObject, luceneTermsToExclude,
                maxWritesInTransaction);


        // if the validator exists the proxyCallbackURL needs to have the external host and
        // servlet name added so that the cas knows where to send the validation notice
        ServerBeanPropertyUpdater.updateURL(settingInfo.getSiteUrl(true) + baseURL, _applicationContext);

        //------------------------------------------------------------------------
        //--- extract intranet ip/mask and initialize AccessManager

        logger.info("  - Access manager...");
View Full Code Here

        // Check if the current user has access
          // to the requested MD
                Lib.resource.checkPrivilege(context, id, ReservedOperation.view);

                final SettingInfo settingInfo = gc.getBean(SearchManager.class).getSettingInfo();
                final String displayLanguage = LuceneSearcher.determineLanguage(context, request, settingInfo).presentationLanguage;
        Element md = SearchController.retrieveMetadata(context, id, setName, outSchema, null, null, ResultType.RESULTS, null,
                        displayLanguage);

        if (md != null) {
View Full Code Here

       
    // search for results, filtered and sorted
        Pair<Element, List<ResultItem>> summaryAndSearchResults = searcher.search(context, filterExpr, filterVersion,
                typeName, sort, resultType, startPos, maxRecords, maxHitsFromSummary, cswServiceSpecificContraint);

        final SettingInfo settingInfo = context.getBean(SearchManager.class).getSettingInfo();
        String displayLanguage = LuceneSearcher.determineLanguage(context, filterExpr, settingInfo).presentationLanguage;
        // retrieve actual metadata for results
        int counter = retrieveMetadataMatchingResults(context, results, summaryAndSearchResults, maxRecords, setName,
                outSchema, elemNames, typeName, resultType, strategy, displayLanguage);
View Full Code Here

TOP

Related Classes of org.fao.geonet.kernel.setting.SettingInfo

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.