sexta-feira, 27 de novembro de 2015

git daemon in 30 seconds

* Inicialização de repositório:

git init --bare repo_dir

# Permite que o repositório seja clonado
touch > repo_dir/git-daemon-export-ok

* Start git daemon for clone and push:

git daemon --verbose --enable=upload-pack --enable=receive-pack --base-path=. ./repo_dir ./another_repo

* Clone git repository:

git clone git://localhost/repo_dir

Não permitir que uma string seja internacionalizada no Eclipse

Comentar depois da linha:  //$NON-NLS-1$
Caso se queira ignora apenas a segunda string: //$NON-NLS-2$

Exemplo:

System.out.println("String que não será internacionalizada."); //$NON-NLS-1$

Não sei se é um padrão para qualquer coisa ou se funciona apenas para o Eclipse.

SWT Command

- A maneira mais simples de definir o handler do comando através da propriedade defaultHandlerId. Dessa maneira não é necessário estender org.eclipse.ui.handlers
- Caso se queira que o comando tenha label dinâmico é necessário implementar a interface org.eclipse.ui.commands.IElementUpdater:
    @SuppressWarnings("rawtypes")
    publicvoid updateElement(UIElement element, Map parameters) {
        String text = condicao ? "Texto caso a condição seja satisfeita" : "Texto caso a condição não seja satisfeita";
        
        element.setText(text);
        element.setTooltip(text);
    }

- E quando o texto precisar ser atualizado:

    private void refreshUI(ExecutionEvent event) {
        IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event);
        ICommandService service = (ICommandService) window.getService(ICommandService.class);
        service.refreshElements("com.o2filmes.storytouch.editor.togglescenenumbers", null);
    }

SAX XML parser

javax.xml.parsers.SAXParser

Parece simples de usar, o único problema é que as tags são carregas através de inversão de controle

instanciar através de SAXParserFactory.newSAXParser()

Javadoc:
http://docs.oracle.com/javase/1.5.0/docs/api/javax/xml/parsers/SAXParser.html
http://docs.oracle.com/javase/1.5.0/docs/api/org/xml/sax/helpers/DefaultHandler.html

MessageBox on SWT

import org.eclipse.swt.widgets.MessageBox;

MessageBox dialog = new MessageBox(shell, SWT.ICON_INFORMATION | SWT.YES | SWT.NO);
dialog.setText("Title");
dialog.setMessage("Message");

int returnCode = dialog.open();