Skip to content

Instantly share code, notes, and snippets.

View marcoberri's full-sized avatar
🏠
Working from home

Marco Berri marcoberri

🏠
Working from home
View GitHub Profile
@Controller
public class ApiDocInfo {
private final RequestMappingHandlerMapping handlerMapping;
@Autowired
public System(RequestMappingHandlerMapping handlerMapping) {
this.handlerMapping = handlerMapping;
}
@marcoberri
marcoberri / findImageApi.java
Created September 9, 2015 08:25
Serve Spring MVC image on response
@RequestMapping(value = "/image/{id}", method = RequestMethod.GET)
public void findImage(@PathVariable("id") String id, HttpServletResponse resp){
final Foto anafoto = <find object>
resp.reset();
resp.setContentType(MediaType.IMAGE_JPEG_VALUE);
resp.setContentLength(anafoto.getImage().length);
final BufferedInputStream in = new BufferedInputStream(new ByteArrayInputStream(anafoto.getImageInBytes()));
@marcoberri
marcoberri / ExampleLog4J.java
Created September 9, 2015 08:26
Retrofint and Log4J
public class ExampleLog4J implements RestAdapter.Log {
private static final Logger logger = logger.getLogger(ExampleLogger.class)
ExampleLog4J(){ }
@Override
public void log(String message) {
log.info("Retrofit# "+message);
}
@marcoberri
marcoberri / compact.js
Created September 9, 2015 08:29
MongoDB script to Compact all collection for all DB in server
//V 0.1
// Marco Berri
//marcoberri@gmail.com http://tecnicume.blogspot.com
function compactCollections(dbName){
var dbToCompact = db.getSisterDB(dbName);
@marcoberri
marcoberri / regen_id.js
Created September 9, 2015 08:32
MongoDB - Rigenerare il _id per ogni documento
use test;
var coll = db.events;
var coll_new = db.events_new;
var cursor = coll.find();
cursor.forEach(function(doc) {
delete doc._id;
coll_new.save(doc);
});
@marcoberri
marcoberri / enable_profile.js
Created September 9, 2015 08:33
MongoDB - Enable all profile for all db (excluded local and admin)
var dbs_list = db.getMongo().getDBNames();
for(var d in dbs_list){
var name = dbs_list[d];
if(name == 'admin')
continue;
if(name == 'local')
continue;
dbOne = db.getSisterDB(name);
dbOne.setProfilingLevel(0);
dbOne.system.profile.drop();
@marcoberri
marcoberri / profiledquery.js
Last active December 17, 2015 13:13
MongoDB - Get last profiled query in all db
var dbs_list = db.getMongo().getDBNames();
for(var d in dbs_list){
var name = dbs_list[d];
if(name == 'admin' || name == 'local')
continue;
dbOne = db.getSisterDB(name);
print("dbname -->" + name);
var cursor = dbOne.system.profile.find( { op:"query", millis : { $gte : 5 },ns : { $ne : (name + '.system.profile') } },{ ts:1,millis:1, nscanned:1, nreturned:1, ns:1, query:1} ).sort({ts:-1}).limit(5);
cursor.forEach(function(r) {
/***
data example
{ "_id" : ObjectId("5554dc1a4e047bc09c427420"), "ts" : ISODate("2015-05-13T23:24:03Z"), "RC" : 6 }
{ "_id" : ObjectId("5554dc1a4e047bc09c427421"), "ts" : ISODate("2015-05-13T23:25:03Z"), "RC" : 6 }
get different from RC prev and act record and write a new collection in upsert
Data from La Crosse ws1640 increment Rain Counter.
@marcoberri
marcoberri / MaxMinData.js
Last active October 13, 2015 08:43
Usa una mapreduce per calcolare in minimo e il massino di un dato valore per il progetto meteo.marcoberri.it
/***
Extract max a min data from rawtable of extracting data from La crosse WS1640
project: http://meteo.marcoberri.it
**/
var dbOne = db.getSisterDB('mbmeteolacrosse');
bytesToSize = function(bytes, precision) {
var kilobyte = 1024;
var megabyte = kilobyte * 1024;
var gigabyte = megabyte * 1024;
var terabyte = gigabyte * 1024;
if ((bytes >= 0) && (bytes < kilobyte)) {
return bytes + ' B';
} else if ((bytes >= kilobyte) && (bytes < megabyte)) {