MCPcopy Create free account
hub / github.com/TrsstProject/trsst / init

Method init

src/main/java/com/trsst/server/AbderaProvider.java:81–139  ·  view source on GitHub ↗
(Abdera abdera, Map<String, String> properties)

Source from the content-addressed store, hash-verified

79 }
80
81 @Override
82 public void init(Abdera abdera, Map<String, String> properties) {
83 // can receive servlet init params here
84 super.init(abdera, properties);
85
86 // map paths to handlers
87 RegexTargetResolver resolver = new OrderedRegexTargetResolver();
88 resolver.setPattern("/service", TargetType.TYPE_SERVICE)
89 .setPattern("/(http[^#?]*)/([0-9a-fA-F]{11})",
90 TargetType.TYPE_ENTRY, "collection", "entry")
91 // external entry
92 .setPattern("/(http[^#?]*)", TargetType.TYPE_COLLECTION,
93 "collection")
94 // external feed
95 .setPattern("/([^/#?]+)/([^/#?]+)/([^/#?]+)(\\?[^#]*)?",
96 TargetType.TYPE_MEDIA, "collection", "entry",
97 "resource")
98 .setPattern("/([^/#?]+)/([^/#?]+)(\\?[^#]*)?",
99 TargetType.TYPE_ENTRY, "collection", "entry")
100 .setPattern("/([^/#?]+);categories",
101 TargetType.TYPE_CATEGORIES, "collection")
102 .setPattern("/([^/#?;]+)(\\?[^#]*)?",
103 TargetType.TYPE_COLLECTION, "collection")
104 .setPattern("/", TargetType.TYPE_COLLECTION);
105
106 super.setTargetResolver(resolver);
107
108 // url construction templates
109 setTargetBuilder(new TemplateTargetBuilder()
110 .setTemplate(TargetType.TYPE_SERVICE, "{target_base}")
111 .setTemplate(TargetType.TYPE_COLLECTION,
112 "{target_base}/{collection}{-opt|?|q,c,s,p,l,i,o}{-join|&|q,c,s,p,l,i,o}")
113 .setTemplate(TargetType.TYPE_CATEGORIES,
114 "{target_base}/{collection};categories")
115 .setTemplate(TargetType.TYPE_ENTRY,
116 "{target_base}/{collection}/{entry}"));
117
118 addWorkspace(this);
119 addFilter(new PaginationFilter());
120 addFilter(new OpenSearchFilter()
121 .setShortName("Trsst Search")
122 .setDescription("Search on entry metadata.")
123 .setTags("test", "example", "opensearch")
124 .setContact("admin@trsst.com")
125 .setTemplate(
126 "{target_base}/?q={searchTerms}&count={count?}&page={startPage?}&offset={startIndex?}&before={beforeDate?}&after={afterDate?}")
127 // .setTemplate(
128 // "{target_base}/?q={searchTerms}&c={count?}&s={startIndex?}&p={startPage?}&l={language?}&i={indexEncoding?}&o={outputEncoding?}")
129 .mapTargetParameter("q", "searchTerms")
130 .mapTargetParameter("count", "count")
131 .mapTargetParameter("before", "beforeDate")
132 .mapTargetParameter("after", "afterDates")
133 .mapTargetParameter("page", "startPage")
134 .mapTargetParameter("offset", "startIndex"));
135 // .mapTargetParameter("l", "language")
136 // .mapTargetParameter("i", "inputEncoding")
137 // .mapTargetParameter("o", "outputEncoding"));
138

Callers 4

processMethod · 0.80
mainMethod · 0.80
enableAnonymousSSLMethod · 0.80
createEasySSLContextMethod · 0.80

Calls 2

setPatternMethod · 0.95
setTagsMethod · 0.80

Tested by

no test coverage detected