text:
#include <rservr/api/monitor-client.h>

#include "load-all.h"
#include "python-macro.h"

#include "command-queue.h"

const struct monitor_update_data ATTR_INT *auto_monitor_update_data(PyObject*);

#define ALL_HOOK_FUNCTIONS(macro) \
macro(__monitor_update_hook)

#define POINTER_GLOBAL_TYPES(macro) \
macro(monitor_update_data)

#define ALL_GLOBAL_TYPES(macro) \
POINTER_GLOBAL_TYPES(macro)

POINTER_GLOBAL_TYPES(DEFINE_POINTER_TYPE_WRAPPER)

POINTER_GLOBAL_TYPES(NEW_POINTER_TYPE_WRAPPER_DECLARE)

ALL_GLOBAL_TYPES(TYPE_WRAPPER_COMPARE_DEFINE)

#define ALL_MONITOR_UPDATE_DATA_GETATTR(macro) \
macro(monitor_update_data, event_type) \
macro(monitor_update_data, event_data)

TYPE_GETATTR(monitor_update_data, event_type, Py_BuildValue("i", SELF->pointer->event_type))
TYPE_GETATTR(monitor_update_data, event_data, info_list_to_py(SELF->pointer->event_data))

static PyObject *python_monitor_update_data_getattro(python_monitor_update_data *self, PyObject *name_object)
{
	if (!self || !self->pointer) return auto_exception(PyExc_IndexError, "");
	const char *name = NULL;
	if (!(name = PyString_AsString(name_object))) return NULL;

	return TYPE_GETATTR_CALL(monitor_update_data, self, name_object);
}

TYPE_BINDING_START(monitor_update_data, "proxy to 'struct monitor_update_data'")
	,tp_getattro: (getattrofunc) &python_monitor_update_data_getattro
	,tp_flags:    Py_TPFLAGS_DEFAULT
	,tp_compare:  (cmpfunc) &TYPE_WRAPPER_COMPARE(monitor_update_data)
TYPE_BINDING_END(monitor_update_data)

POINTER_GLOBAL_TYPES(NEW_POINTER_TYPE_WRAPPER_DEFINE)

#define ALL_GLOBAL_BINDINGS(macro) \
macro(register_monitor_client) \
macro(monitoring_allowed) \
macro(set_monitor_flags)

GLOBAL_BINDING_START(register_monitor_client, "")
	NO_ARGUMENTS
	int outcome;
	Py_BEGIN_ALLOW_THREADS
	outcome = register_monitor_client();
	Py_END_ALLOW_THREADS
	if (!outcome) return auto_exception(PyExc_RuntimeError, "");
	NO_RETURN
GLOBAL_BINDING_END(register_monitor_client)

GLOBAL_BINDING_START(monitoring_allowed, "")
	NO_ARGUMENTS
	BOOL_RETURN(monitoring_allowed())
GLOBAL_BINDING_END(monitoring_allowed)

GLOBAL_BINDING_START(set_monitor_flags, "")
	STATIC_KEYWORDS(keywords) = { "flags", NULL };
	int flags = 0;
	if(!PyArg_ParseTupleAndKeywords(ARGS, KEYWORDS, "i", keywords, &flags)) return NULL;
	return NEW_TYPE_WRAPPER(command_handle, set_monitor_flags(flags));
GLOBAL_BINDING_END(set_monitor_flags)

int python_load_monitor_client(PyObject *MODULE)
{
	ALL_HOOK_FUNCTIONS(NONE_VALUE)
	ALL_GLOBAL_BINDINGS(LOAD_GLOBAL_BINDING)
	ALL_GLOBAL_TYPES(LOAD_GLOBAL_TYPE)
	ALL_MONITOR_UPDATE_DATA_GETATTR(TYPE_GETATTR_REGISTER)
	return 1;
}

const struct monitor_update_data *auto_monitor_update_data(PyObject *oObject)
{
	const struct monitor_update_data *info = NULL;

	if (check_instance(rservr_module, "monitor_update_data", oObject))
	{
	if (!oObject || !((TYPE_WRAPPER(monitor_update_data)*) oObject)->pointer) return auto_exception(PyExc_IndexError, "");
	info = ((TYPE_WRAPPER(monitor_update_data)*) oObject)->pointer;
	}

	else return auto_exception(PyExc_TypeError, "");

	return info;
}

void __monitor_update_hook(const struct monitor_update_data *dData)
{
	extern PyObject *MODULE;

	DEFAULT_HOOK_FUNCTION_HEAD(__monitor_update_hook, /*void*/)

	DEFAULT_CALL_HOOK_CALLBACK(Py_BuildValue("(O)", NEW_TYPE_WRAPPER(monitor_update_data, dData)), /*void*/)

	DEFAULT_HOOK_VOID
}


text:
layout: post
title: "Ternura de Kobe"
date: 2018-06-27 05:16:45
tags: [Salud]
categories: [Quincenal, Espana]
preview: https://ia902800.us.archive.org/8/items/500desdeBoxesAgustinPalmeiro/300tdk-LuisMiguelMartnez.jpg
---

![Ternura de Kobe](https://ia902800.us.archive.org/8/items/500desdeBoxesAgustinPalmeiro/500tdk-LuisMiguelMartnez.jpg)

## Escucha su más reciente episodio

<audio id="audio" preload="auto" controls="" src="https://s3.castbox.fm/82/f0/4e/bdf4344621866fe2bff647cfa8.mp3"></audio>

"Ternura de Kobe" es un podcast intimista para relajarte y conectar contigo mismo/a. Un refugio de música y palabras en el que podrás compartir tu historia y descubrir cosas nuevas.

_ _ _

Autor: **Luis Miguel Martínez**
[web](https://luismiguelmartinez.webnode.es/)
[Feed](http://rss.castbox.fm/everest/a9a49d5eb2b14bc1936daa7a3d173502.xml)

**Contacta:**
Twitter: [@ternuradekobe](https://twitter.com/ternuradekobe)
Correo: [ternuradekobe@gmail.com](mailto:ternuradekobe@gmail.com)

redpajama_set_name: RedPajamaGithub


text:
/* ###
 * IP: GHIDRA
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package ghidra.app.plugin.core.datamgr.actions;

import javax.swing.tree.TreePath;

import docking.ActionContext;
import docking.action.DockingAction;
import docking.action.MenuData;
import docking.widgets.tree.GTree;
import ghidra.app.plugin.core.datamgr.DataTypeManagerPlugin;
import ghidra.app.plugin.core.datamgr.tree.DataTypeNode;
import ghidra.app.plugin.core.datamgr.tree.DataTypeTreeNode;
import ghidra.program.model.data.*;
import ghidra.util.Msg;

public class PackDataTypeAction extends DockingAction {

	public PackDataTypeAction(DataTypeManagerPlugin plugin) {
		super("Pack Data Type", plugin.getName());
		setPopupMenuData(new MenuData(new String[] { "Pack (default)" }, "Edit"));
//		setHelpLocation(new HelpLocation(plugin.getName(), getName()));
	}

	@Override
	public boolean isAddToPopup(ActionContext context) {
		DataTypeNode node = getSelectedDataTypeNode(context);
		if (node == null) {
			return false;
		}
		DataType dataType = node.getDataType();
		if (dataType instanceof BuiltInDataType || dataType instanceof Pointer ||
			dataType instanceof MissingBuiltInDataType) {
			return false;
		}
		if (!node.isModifiable()) {
			return false;
		}
		return true;
	}

	@Override
	public boolean isEnabledForContext(ActionContext context) {
		DataTypeNode node = getSelectedDataTypeNode(context);
		if (node == null) {
			return false;
		}
		DataType dataType = node.getDataType();
		if (dataType instanceof Composite) {
			return !((Composite) dataType).isPackingEnabled();
		}
		return false;
	}

	private DataTypeNode getSelectedDataTypeNode(ActionContext context) {
		Object contextObject = context.getContextObject();
		if (!(contextObject instanceof GTree)) {
			return null;
		}
		GTree gTree = (GTree) contextObject;
		TreePath[] selectionPaths = gTree.getSelectionPaths();
		if (selectionPaths.length != 1) {
			return null;
		}
		DataTypeTreeNode node = (DataTypeTreeNode) selectionPaths[0].getLastPathComponent();

		if (!(node instanceof DataTypeNode)) {
			return null;
		}
		return (DataTypeNode) node;
	}

	@Override
	public void actionPerformed(ActionContext context) {
		GTree gTree = (GTree) context.getContextObject();
		TreePath[] selectionPaths = gTree.getSelectionPaths();
		for (TreePath treePath : selectionPaths) {
			final DataTypeNode dataTypeNode = (DataTypeNode) treePath.getLastPathComponent();
			DataType dataType = dataTypeNode.getDataType();
			DataTypeManager dataTypeManager = dataType.getDataTypeManager();
			DataOrganization dataOrganization = dataTypeManager.getDataOrganization();
			alignDataType(dataType, dataOrganization);
		}
	}

	private void alignDataType(DataType dataType, DataOrganization dataOrganization) {
		DataTypeManager dataTypeManager = dataType.getDataTypeManager();
		if (dataTypeManager == null) {
			Msg.error(this, "Can't align data type " + dataType.getName() +
				" without a data type manager.");
			return;
		}
		if (!(dataType instanceof Structure)) {
			Msg.error(this, "Can't align data type " + dataType.getName() +
				". It's not a structure.");
			return;
		}
		int transactionID = -1;
		boolean commit = false;
		try {
			// start a transaction
			transactionID = dataTypeManager.startTransaction("align " + dataType.getName());
			((Structure) dataType).setPackingEnabled(true);
			commit = true;
		}
		finally {
			// commit the changes
			dataTypeManager.endTransaction(transactionID, commit);
		}
	}

}


text:
import { async, ComponentFixture, TestBed } from '@angular/core/testing';

import { AbilitiesBlockComponent } from './abilities-block.component';

describe('AbilitiesBlockComponent', () => {
  let component: AbilitiesBlockComponent;
  let fixture: ComponentFixture<AbilitiesBlockComponent>;

  beforeEach(async(() => {
    TestBed.configureTestingModule({
      declarations: [ AbilitiesBlockComponent ]
    })
    .compileComponents();
  }));

  beforeEach(() => {
    fixture = TestBed.createComponent(AbilitiesBlockComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();
  });

  it('should create', () => {
    expect(component).toBeTruthy();
  });
});


text:
package nz.co.example.dev.mvc;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import nz.co.example.dev.integration.LogEntry;
import nz.co.example.dev.integration.SessionBorderControllerServices;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

/**
 * Handles requests for the application home page.
 */
@Controller
public class LogController extends ExceptionHandlerController {
    @Autowired
    @Qualifier("real")
    private SessionBorderControllerServices service;

    private static final Logger logger = LoggerFactory.getLogger(HomeController.class);

    /**
     * Simply selects the home view to render by returning its name.
     */
    @RequestMapping(value = "/viewLog", method = RequestMethod.GET)
    public ModelAndView viewLog(HttpServletRequest request, HttpServletResponse response) throws Exception {
        logger.debug("viewLog()");
        // String path = request.getParameter("path");
        File file = new File(System.getProperty("catalina.home") + "/logs/admin-app_operations.log");
        // new BufferedReader(new FileReader(file));
        BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
        // String outgoingFileName = file.getName();
        Map<String, Object> modelObjects = new HashMap<String, Object>();
        // response.setContentType("application/download");
        // response.setHeader("Content-Disposition", "attachment; filename=\"" + outgoingFileName + "\"");
        List<LogEntry> logEntries = new ArrayList<LogEntry>();
        String line;
        LogEntry logEntry;
        while (((line = in.readLine()) != null)) {
            logEntry = LogEntry.parseLogLine(line);
            logEntries.add(logEntry);
        }
        in.close();
        modelObjects.put("catalinaHome", System.getProperty("catalina.home"));
        modelObjects.put("logEntries", logEntries);
        // return new ModelAndView(new RedirectView(successView));
        return new ModelAndView(ViewName.LOG.toString(), modelObjects);
    }
}


text:
ACCEPTED

#### According to
Index Fungorum

#### Published in
Bull. Soc. Amis Sci. Nat. Rouen, Série II 15: 162 (1880)

#### Original name
Inocybe brunnea f. brunnea Quél.

### Remarks
null


text:
import fs from 'fs';
import path from 'path';
import sinon from 'sinon';
import {assert} from 'chai';
import any from '../../../helpers/any-for-api';
import repo from '../../../../lib/api/rides/repository';

function setUpDataFile(data) {
  fs.readFile.withArgs(
    path.join(__dirname, '../../../../data/rides.json'),
    'utf8'
  ).yields(null, JSON.stringify(data));
}

suite('user repository', () => {
  const error = any.string();

  setup(() => {
    sinon.stub(fs, 'readFile');
  });

  teardown(() => {
    fs.readFile.restore();
  });

  test('that list is loaded from a file', () => {
    const callback = sinon.spy();
    const data = {};
    setUpDataFile(data);

    repo.getList(callback);

    assert.calledWith(callback, null, data);
  });

  test('that error bubbles for failure to read the file for list', () => {
    const callback = sinon.spy();
    fs.readFile.yields(error);

    repo.getList(callback);

    assert.calledWith(callback, error);
  });

  test('that ride is loaded from file', () => {
    const id = any.integer();
    const callback = sinon.spy();
    const ride = {id};
    const data = [ride];
    setUpDataFile(data);

    repo.getRide(id, callback);

    assert.calledWith(callback, null, ride);
  });

  test('that error bubbles for failure to read the file for ride', () => {
    const id = any.integer();
    const callback = sinon.spy();
    fs.readFile.yields(error);

    repo.getRide(id, callback);

    assert.calledWith(callback, error);
  });
});


text:
"use strict";

import * as events from 'events';
import View from '../View/View';
import Base from '../Base';

abstract class Model extends Base {
    protected listners: events.EventEmitter = new events.EventEmitter();
    protected option: { [key: string]: any } = {};

    public addViewEvent(view: View): void {
        this.listners.once("view", () => view.execute());
    }

    public setOption(_option: {}): void {
        this.option = {};
        for(let key in _option) {
            if(typeof _option[key] != "undefined" && String(_option[key]) != 'NaN' && _option[key] != null) {
                this.option[key] = _option[key];
            }
        }
    }

    protected eventsNotify(): void {
        this.listners.emit("view");
    }

    public abstract execute(): void;
}

export default Model


text:
#include "config.h"
#include "GraphicsContext3D.h"

#if ENABLE(WEBGL)

#include "Extensions3DOpenGL.h"
#include "GraphicsContext3DInternal.h"
#include "OpenGLShims.h"
#include "ShaderLang.h"
#include <wtf/NotFound.h>

namespace WebCore {

PassRefPtr<GraphicsContext3D> GraphicsContext3D::create(GraphicsContext3D::Attributes attributes, HostWindow* hostWindow, GraphicsContext3D::RenderStyle renderStyle)
{
    // This implementation doesn't currently support rendering directly to the HostWindow.
    if (renderStyle == RenderDirectlyToHostWindow)
        return 0;

    GraphicsContext3DInternal* internal = GraphicsContext3DInternal::create();
    if (!internal)
        return 0;

    RefPtr<GraphicsContext3D> context = adoptRef(new GraphicsContext3D(attributes, hostWindow, false));
    context->m_internal.set(internal);
    return context.release();
}

GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attributes, HostWindow*, bool)
    : m_currentWidth(0)
    , m_currentHeight(0)
    , m_attrs(attributes)
    , m_texture(0)
    , m_fbo(0)
    , m_depthStencilBuffer(0)
    , m_boundFBO(0)
    , m_multisampleFBO(0)
    , m_multisampleDepthStencilBuffer(0)
    , m_multisampleColorBuffer(0)
{
    GraphicsContext3DInternal::addActiveGraphicsContext(this);

    validateAttributes();

    // Create a texture to render into.
    ::glGenTextures(1, &m_texture);
    ::glBindTexture(GL_TEXTURE_2D, m_texture);
    ::glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    ::glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
    ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
    ::glBindTexture(GL_TEXTURE_2D, 0);

    // Create an FBO.
    ::glGenFramebuffersEXT(1, &m_fbo);
    ::glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_fbo);

    m_boundFBO = m_fbo;
    if (!m_attrs.antialias && (m_attrs.stencil || m_attrs.depth))
        ::glGenRenderbuffersEXT(1, &m_depthStencilBuffer);

    // Create a multisample FBO.
    if (m_attrs.antialias) {
        ::glGenFramebuffersEXT(1, &m_multisampleFBO);
        ::glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_multisampleFBO);
        m_boundFBO = m_multisampleFBO;
        ::glGenRenderbuffersEXT(1, &m_multisampleColorBuffer);
        if (m_attrs.stencil || m_attrs.depth)
            ::glGenRenderbuffersEXT(1, &m_multisampleDepthStencilBuffer);
    }

    // ANGLE initialization.
    ShBuiltInResources ANGLEResources;
    ShInitBuiltInResources(&ANGLEResources);

    getIntegerv(GraphicsContext3D::MAX_VERTEX_ATTRIBS, &ANGLEResources.MaxVertexAttribs);
    getIntegerv(GraphicsContext3D::MAX_VERTEX_UNIFORM_VECTORS, &ANGLEResources.MaxVertexUniformVectors);
    getIntegerv(GraphicsContext3D::MAX_VARYING_VECTORS, &ANGLEResources.MaxVaryingVectors);
    getIntegerv(GraphicsContext3D::MAX_VERTEX_TEXTURE_IMAGE_UNITS, &ANGLEResources.MaxVertexTextureImageUnits);
    getIntegerv(GraphicsContext3D::MAX_COMBINED_TEXTURE_IMAGE_UNITS, &ANGLEResources.MaxCombinedTextureImageUnits);
    getIntegerv(GraphicsContext3D::MAX_TEXTURE_IMAGE_UNITS, &ANGLEResources.MaxTextureImageUnits);
    getIntegerv(GraphicsContext3D::MAX_FRAGMENT_UNIFORM_VECTORS, &ANGLEResources.MaxFragmentUniformVectors);

    // Always set to 1 for OpenGL ES.
    ANGLEResources.MaxDrawBuffers = 1;
    m_compiler.setResources(ANGLEResources);

    ::glEnable(GL_VERTEX_PROGRAM_POINT_SIZE);
    ::glEnable(GL_POINT_SPRITE);
    ::glClearColor(0, 0, 0, 0);
}

GraphicsContext3D::~GraphicsContext3D()
{
    GraphicsContext3DInternal::removeActiveGraphicsContext(this);
    if (!m_internal->m_context)
        return;

    makeContextCurrent();
    ::glDeleteTextures(1, &m_texture);
    if (m_attrs.antialias) {
        ::glDeleteRenderbuffersEXT(1, &m_multisampleColorBuffer);
        if (m_attrs.stencil || m_attrs.depth)
            ::glDeleteRenderbuffersEXT(1, &m_multisampleDepthStencilBuffer);
        ::glDeleteFramebuffersEXT(1, &m_multisampleFBO);
    } else {
        if (m_attrs.stencil || m_attrs.depth)
            ::glDeleteRenderbuffersEXT(1, &m_depthStencilBuffer);
    }
    ::glDeleteFramebuffersEXT(1, &m_fbo);
}

void GraphicsContext3D::makeContextCurrent()
{
    if (!m_internal)
        return;
    m_internal->makeContextCurrent();
}

PlatformGraphicsContext3D GraphicsContext3D::platformGraphicsContext3D()
{
    return m_internal->m_context;
}

bool GraphicsContext3D::isGLES2Compliant() const
{
    return false;
}

}

#endif // ENABLE(WEBGL)


text:
<?php
namespace App\Model\Table;

use Cake\ORM\Query;
use Cake\ORM\RulesChecker;
use Cake\ORM\Table;
use Cake\Validation\Validator;

/**
 * Cities Model
 *
 * @property \Cake\ORM\Association\BelongsTo $Countries
 * @property \Cake\ORM\Association\HasMany $Projects
 *
 * @method \App\Model\Entity\City get($primaryKey, $options = [])
 * @method \App\Model\Entity\City newEntity($data = null, array $options = [])
 * @method \App\Model\Entity\City[] newEntities(array $data, array $options = [])
 * @method \App\Model\Entity\City|bool save(\Cake\Datasource\EntityInterface $entity, $options = [])
 * @method \App\Model\Entity\City patchEntity(\Cake\Datasource\EntityInterface $entity, array $data, array $options = [])
 * @method \App\Model\Entity\City[] patchEntities($entities, array $data, array $options = [])
 * @method \App\Model\Entity\City findOrCreate($search, callable $callback = null)
 */
class CitiesTable extends Table
{

    /**
     * Initialize method
     *
     * @param array $config The configuration for the Table.
     * @return void
     */
    public function initialize(array $config)
    {
        parent::initialize($config);

        $this->table('cities');
        $this->displayField('name');
        $this->primaryKey('id');

        $this->belongsTo('Countries', [
            'foreignKey' => 'country_id',
            'joinType' => 'INNER'
        ]);
        $this->hasMany('Projects', [
            'foreignKey' => 'city_id'
        ]);
    }

    /**
     * Default validation rules.
     *
     * @param \Cake\Validation\Validator $validator Validator instance.
     * @return \Cake\Validation\Validator
     */
    public function validationDefault(Validator $validator)
    {
        $validator
            ->integer('id')
            ->allowEmpty('id', 'create');

        $validator
            ->requirePresence('name', 'create')
            ->notEmpty('name');

        $validator
            ->numeric('latitude')
            ->requirePresence('latitude', 'create')
            ->notEmpty('latitude');

        $validator
            ->numeric('longitude')
            ->requirePresence('longitude', 'create')
            ->notEmpty('longitude');

        return $validator;
    }

    /**
     * Returns a rules checker object that will be used for validating
     * application integrity.
     *
     * @param \Cake\ORM\RulesChecker $rules The rules object to be modified.
     * @return \Cake\ORM\RulesChecker
     */
    public function buildRules(RulesChecker $rules)
    {
        $rules->add($rules->existsIn(['country_id'], 'Countries'));
        return $rules;
    }
}


text:
<!DOCTYPE html>

	<title>

            Dr. Peter Brownrigg -

    Complete profile - Canadian Company Capabilities - Industries and Business - Industry Canada
  </title>

<meta charset="utf-8" />
<meta name="dcterms.language" title="ISO639-2" content="eng" />
<meta name="dcterms.title" content="" />
<meta name="description" content="" />
<meta name="dcterms.description" content="" />
<meta name="dcterms.type" content="report, data set" />
<meta name="dcterms.subject" content="businesses, industry" />
<meta name="dcterms.subject" content="businesses, industry" />
<meta name="dcterms.issued" title="W3CDTF" content="" />
<meta name="dcterms.modified" title="W3CDTF" content="" />
<meta name="keywords" content="" />

<meta name="dcterms.creator" content="" />
<meta name="author" content="" />
<meta name="dcterms.created" title="W3CDTF" content="" />
<meta name="dcterms.publisher" content="" />
<meta name="dcterms.audience" title="icaudience" content="" />
<meta name="dcterms.spatial" title="ISO3166-1" content="" />
<meta name="dcterms.spatial" title="gcgeonames" content="" />
<meta name="dcterms.format" content="HTML" />
<meta name="dcterms.identifier" title="ICsiteProduct" content="536" />

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta content="width=device-width,initial-scale=1" name="viewport">

<meta name = "format-detection" content = "telephone=no">

<meta name="robots" content="noarchive">

<link href="/utils/scripts/_WET_4-0/apps/themes-dist/gcweb/assets/favicon.ico" rel="icon" type="image/x-icon">
<link rel="stylesheet" href="/utils/scripts/_WET_4-0/apps/themes-dist/gcweb/css/wet-boew.min.css">

<link rel="stylesheet" href="/utils/scripts/_WET_4-0/apps/themes-dist/gcweb/css/theme.min.css">

<link rel="stylesheet" href="/utils/scripts/_WET_4-0/apps/themes-dist/gcweb/css/noscript.min.css" />

<link rel="stylesheet" href="/eic/home.nsf/css/add_WET_4-0_Canada_Apps.css">

  	<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
  	<link href="/app/ccc/srch/css/print.css" media="print" rel="stylesheet" type="text/css" />

<meta property="legalName" content="Department_of_Industry">

Skip to main content

Skip to "About this site"

Language selection

Français

<object type="image/svg+xml" tabindex="-1" data="/utils/scripts/_WET_4-0/apps/themes-dist/gcweb/assets/sig-blk-en.svg"></object> Government of Canada

Search and menus

Search and menus

Topics menu

Jobs

Immigration

Travel

Business

Benefits

Health

Taxes

More services

You are here:

Home

Industries and Business

Canadian Company Capabilities

<input id="showMore" type="hidden" value='more'/>
<input id="showLess" type="hidden" value='less'/>

 Company profile - Canadian Company Capabilities

New Search |

<form name="searchForm" method="post" action="/app/ccc/srch/bscSrch.do">

          <input type="hidden" name="lang" value="eng" />
          <input type="hidden" name="profileId" value="" />
          <input type="hidden" name="prtl" value="1" />
          <input type="hidden" name="searchPage" value="%2Fapp%2Fccc%2Fsrch%2FcccBscSrch.do%3Flang%3Deng%26amp%3Bprtl%3D1%26amp%3Btagid%3D"  />

          <input type="hidden" name="V_SEARCH.scopeCategory" value="CCC.Root" />

          <input type="hidden" name="V_SEARCH.depth" value="1" />
          <input type="hidden" name="V_SEARCH.showStricts" value="false" />
          <input id="repeatSearchBtn" class="btn btn-link" type="submit" value="Return to search results" />

  </form>

| Previous Company

| Next Company

      Third-Party Information Liability Disclaimer

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

      Dr. Peter Brownrigg

Legal/Operating Name:

Dr. Peter Brownrigg

http://www.drpbrownrigg.ca/

info@drpbrownrigg.ca

Mailing Address:

              	<address class="mrgn-bttm-md">

                   608-1525 Carling Ave

                    OTTAWA,

                    Ontario

                  K1Z 8R9

                </address>

Location Address:

              	         <address class="mrgn-bttm-md">

                   608-1525 Carling Ave

                    OTTAWA,

                    Ontario

                  K1Z 8R9

                         </address>

Tel.:
		      (613) 724-1214

Fax:
		      (613) 724-1240

Company Profile

            At his Ottawa, Ontario plastic surgery practice, Dr. Peter Brownrigg has focused exclusively on facial plastic surgery since 1984. Services include facelift, rhinoplasty and eyelid surgery. Contact our Ontario plastic surgery center today to learn more about these options or to schedule a consultation with Dr. Brownrigg.

				Full profile

				Full profile

				Contact information

                Peter
                Brownrigg

                  Title:

                Owner

                    Area of Responsibility:

                    Management Executive.

                  Telephone:

                (613) 724-1214

                    Email:

                  info@drpbrownrigg.ca

  top of page

				Company description

            Exporting:

              No

                Primary Industry (NAICS):

				621110 - Offices of Physicians

            Primary Business Activity:

            Services

				Product / Service / Licensing

                              Service Name:

                            Facelift

                            As you age, the skin and muscles can lose their elasticity and begin to sag, progressing to undereye bags, jowls, a double chin, and deep creases. The result can be that you look and feel older than you really are. To restore a youthful appearance to the face and neck, we offer a variety of facelift techniques. Our cosmetic plastic surgeon, Dr. Brownrigg, has devoted his practice exclusively to facial and neck surgery, thereby achieving excellence and perfection within the procedures devoted to these intricate areas.

                              Service Name:

                            Rhinoplasty

                            Rhinoplasty surgery inspires a high degree of happiness and satisfaction. Many people dislike their nose—whether it's crooked, has a bump, is too wide or too narrow, or simply doesn't complement their facial features. Even a slight alteration to your nose can have a dramatic impact on the attractiveness of your face and can put the focus where it should be: on your eyes, skin, or another of your best features. Dr. Brownrigg offers an array of rhinoplasty techniques that can transform your nose, including small implants and the alteration of the nostril size or angle between your nose and upper lip. Cosmetic rhinoplasty can be performed in conjunction with surgery to improve your breathing by correcting a deviated septum or reducing airway obstruction. Rhinoplasty is a popular procedure—and for good reason, as it provides a subtle but significant improvement in your facial balance.

                              Service Name:

                            Eyelid Surgery

                            Your eyes are often among the first things people notice about you. Unfortunately, age can give our eyelids a sagging, hooded appearance, resulting in a fatigued look. In extreme cases, the drooping of our eyelids can even restrict our vision.

Fortunately, Ottawa, Ontario residents have an excellent option available to them: eyelid surgery, or blepharoplasty, performed by talented facial plastic surgeon Peter Brownrigg, M.D. Eyelid surgery corrects the tired or angry appearance of sagging or bulging eyes by carefully excising extra skin and fat from the eye area. Blepharoplasty is also excellent in correcting the undereye bags that can make you appear tired.

  top of page

					Third-Party Information Liability Disclaimer

					Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

				Contacts

				Contact information

                Peter
                Brownrigg

                  Title:

                Owner

                    Area of Responsibility:

                    Management Executive.

                  Telephone:

                (613) 724-1214

                    Email:

                  info@drpbrownrigg.ca

				Description

				Company description

            Exporting:

              No

                Primary Industry (NAICS):

				621110 - Offices of Physicians

            Primary Business Activity:

            Services

				Products, services and licensing

				Product / Service / Licensing

                              Service Name:

                            Facelift

                            As you age, the skin and muscles can lose their elasticity and begin to sag, progressing to undereye bags, jowls, a double chin, and deep creases. The result can be that you look and feel older than you really are. To restore a youthful appearance to the face and neck, we offer a variety of facelift techniques. Our cosmetic plastic surgeon, Dr. Brownrigg, has devoted his practice exclusively to facial and neck surgery, thereby achieving excellence and perfection within the procedures devoted to these intricate areas.

                              Service Name:

                            Rhinoplasty

                            Rhinoplasty surgery inspires a high degree of happiness and satisfaction. Many people dislike their nose—whether it's crooked, has a bump, is too wide or too narrow, or simply doesn't complement their facial features. Even a slight alteration to your nose can have a dramatic impact on the attractiveness of your face and can put the focus where it should be: on your eyes, skin, or another of your best features. Dr. Brownrigg offers an array of rhinoplasty techniques that can transform your nose, including small implants and the alteration of the nostril size or angle between your nose and upper lip. Cosmetic rhinoplasty can be performed in conjunction with surgery to improve your breathing by correcting a deviated septum or reducing airway obstruction. Rhinoplasty is a popular procedure—and for good reason, as it provides a subtle but significant improvement in your facial balance.

                              Service Name:

                            Eyelid Surgery

                            Your eyes are often among the first things people notice about you. Unfortunately, age can give our eyelids a sagging, hooded appearance, resulting in a fatigued look. In extreme cases, the drooping of our eyelids can even restrict our vision.

Fortunately, Ottawa, Ontario residents have an excellent option available to them: eyelid surgery, or blepharoplasty, performed by talented facial plastic surgeon Peter Brownrigg, M.D. Eyelid surgery corrects the tired or angry appearance of sagging or bulging eyes by carefully excising extra skin and fat from the eye area. Blepharoplasty is also excellent in correcting the undereye bags that can make you appear tired.

    Last Update Date 2015-02-03

Date Modified:

      <time>2017-03-02</time>

About government

Contact us

Departments and agencies

Public service and military

News

Treaties, laws and regulations

Government-wide reporting

Prime Minister

How government works

Open government

About this site

Social media

Mobile applications

About Canada.ca

Terms and conditions

Privacy

Top of Page

<object type="image/svg+xml" tabindex="-1" role="img" data="/utils/scripts/_WET_4-0/apps/themes-dist/gcweb/assets/wmms-blk.svg" aria-label="Symbol of the Government of Canada"></object>


text:
package org.elasticsearch.plugin.readonlyrest.acl.blocks.rules.impl;

import com.google.common.collect.Lists;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.plugin.readonlyrest.ConfigurationHelper;
import org.elasticsearch.plugin.readonlyrest.acl.RequestContext;
import org.elasticsearch.plugin.readonlyrest.acl.blocks.rules.Rule;
import org.elasticsearch.plugin.readonlyrest.acl.blocks.rules.RuleExitResult;
import org.elasticsearch.plugin.readonlyrest.acl.blocks.rules.RuleNotConfiguredException;

import java.util.List;

/**
 * Created by sscarduzio on 13/02/2016.
 */
public class ApiKeysRule extends Rule {

  private List<String> validApiKeys;

  public ApiKeysRule(Settings s) throws RuleNotConfiguredException {
    super(s);
    String[] a = s.getAsArray("api_keys");
    if (a != null && a.length > 0) {
      validApiKeys = Lists.newArrayList();
      for (int i = 0; i < a.length; i++) {
        if (!ConfigurationHelper.isNullOrEmpty(a[i])) {
          validApiKeys.add(a[i].trim());
        }
      }
    } else {
      throw new RuleNotConfiguredException();
    }
  }

  @Override
  public RuleExitResult match(RequestContext rc) {
    String h = rc.getRequest().header("X-Api-Key");
    if (validApiKeys == null || h == null) {
      return NO_MATCH;
    }
    if (validApiKeys.contains(h)) {
      return MATCH;
    }
    return NO_MATCH;
  }
}


text:
<?xml version="1.0" encoding="UTF-8"?>
<configurationDescriptor version="62">
  <projectmakefile>Makefile</projectmakefile>
  <defaultConf>0</defaultConf>
  <confs>
    <conf name="uPR_v1" type="2">
      <platformToolSN>:=MPLABComm-USB-Microchip:=<vid>04D8:=<pid>0033:=<rev>0002:=<man>Microchip Technology Inc.:=<prod>PICkit 2 Microcontroller Programmer:=<sn>iCP01-V1.01:=<drv>x:=end</platformToolSN>
      <languageToolchainDir>/opt/microchip/xc8/v1.12/bin</languageToolchainDir>
      <mdbdebugger version="1">
        <placeholder1>place holder 1</placeholder1>
        <placeholder2>place holder 2</placeholder2>
      </mdbdebugger>
      <runprofile version="6">
        <args></args>
        <rundir></rundir>
        <buildfirst>true</buildfirst>
        <console-type>0</console-type>
        <terminal-type>0</terminal-type>
        <remove-instrumentation>0</remove-instrumentation>
        <environment>
        </environment>
      </runprofile>
    </conf>
    <conf name="uPR_v2" type="2">
      <platformToolSN></platformToolSN>
      <languageToolchainDir>/opt/microchip/xc8/v1.12/bin</languageToolchainDir>
      <mdbdebugger version="1">
        <placeholder1>place holder 1</placeholder1>
        <placeholder2>place holder 2</placeholder2>
      </mdbdebugger>
      <runprofile version="6">
        <args></args>
        <rundir></rundir>
        <buildfirst>true</buildfirst>
        <console-type>0</console-type>
        <terminal-type>0</terminal-type>
        <remove-instrumentation>0</remove-instrumentation>
        <environment>
        </environment>
      </runprofile>
    </conf>
  </confs>
</configurationDescriptor>


text:
ACCEPTED

#### According to
Index Fungorum

#### Published in
Mycologia 1(2): (1909)

#### Original name
Ophionectria scolecospora Bref. & Tavel

### Remarks
null


text:
package org.apereo.cas.ticket;

import org.apereo.cas.authentication.Authentication;

/**
 * The {@link DefaultTicketGrantingTicketFactory} is responsible
 * for creating {@link TicketGrantingTicket} objects.
 *
 * @author Misagh Moayyed
 * @since 4.2
 */
public class DefaultTicketGrantingTicketFactory implements TicketGrantingTicketFactory {

    /**
     * UniqueTicketIdGenerator to generate ids for {@link TicketGrantingTicket}s
     * created.
     */
    protected UniqueTicketIdGenerator tgtIdGenerator;

    /**
     * Expiration policy for ticket granting tickets.
     */
    protected ExpirationPolicy ticketGrantingTicketExpirationPolicy;

    public DefaultTicketGrantingTicketFactory(final ExpirationPolicy expirationPolicy, final UniqueTicketIdGenerator idGenerator) {
        this.ticketGrantingTicketExpirationPolicy = expirationPolicy;
        this.tgtIdGenerator = idGenerator;
    }

    @Override
    public <T extends TicketGrantingTicket> T create(final Authentication authentication) {
        final TicketGrantingTicket ticketGrantingTicket = new TicketGrantingTicketImpl(this.tgtIdGenerator.getNewTicketId(TicketGrantingTicket.PREFIX),
                authentication, this.ticketGrantingTicketExpirationPolicy);
        return (T) ticketGrantingTicket;
    }

    @Override
    public <T extends TicketFactory> T get(final Class<? extends Ticket> clazz) {
        return (T) this;
    }
}


text:
#include "queue_plus.h"
#include "vam_types.h"

/**
 * Enumeration of setting types.
 */
typedef enum vqec_config_setting_type_ {
    VQEC_CONFIG_SETTING_TYPE_INVALID = 0,
    VQEC_CONFIG_SETTING_TYPE_STRING,
    VQEC_CONFIG_SETTING_TYPE_BOOLEAN,
    VQEC_CONFIG_SETTING_TYPE_INT,
    VQEC_CONFIG_SETTING_TYPE_LIST,
    VQEC_CONFIG_SETTING_TYPE_GROUP,
} vqec_config_setting_type_t;

#define VQEC_CONFIG_MAX_NAME_LEN 100

/**
 * Declaration for structure to be used with list element.
 */
struct vqec_config_setting_;

/**
 * Structure which contains all of a particular setting's data.
 */
typedef struct vqec_config_setting_ {
    /**
     * The type of setting which this is.
     */
    vqec_config_setting_type_t type;
    /**
     * The name of this particular setting.
     */
    char *name;
    /**
     * The following value fields are stored as a union to conserve memory.
     */
    union {
        /**
         * The string value of this setting.
         */
        char *value_string;
        /**
         * The boolean value of this setting.
         */
        boolean value_boolean;
        /**
         * The integer (signed) value of this setting.
         */
        int value_int;
    };

    /**
     * Queue object for setting list.
     */
    VQE_TAILQ_ENTRY(vqec_config_setting_) list_qobj;

    /**
     * Head for setting sublist.
     */
    VQE_TAILQ_HEAD(setting_sublist_head, vqec_config_setting_) subsetting_head;
} vqec_config_setting_t;

#define VQEC_CONFIG_ERROR_STRLEN 80

/**
 * Structure which contains all data within a particular configuration.
 */
typedef struct vqec_config_ {
    /**
     * Head for setting list.
     */
    vqec_config_setting_t root;
    /**
     * Textual information which may help indicate a problem in parsing a
     * particular configuration file.
     */
    char error_text[VQEC_CONFIG_ERROR_STRLEN];
    /**
     * Line number at which a problem occurred while parsing a particular
     * configuration file.
     */
    int error_line;
} vqec_config_t;

/**
 * Initialize the configuration parser.
 *
 * @param[in]  cfg  Instance of configuration parser.
 * @return  Returns TRUE if the parser was initialized successfully; FALSE
 *          otherwise.
 */
boolean vqec_config_init(vqec_config_t *cfg);

/**
 * Read a configuration file and parse its parameters and values.
 *
 * @param[in]  cfg  Instance of configuration parser.
 * @param[in]  filepath  Path to the file to be read and parsed.
 * @return  Returns TRUE if the file was read and parsed successfully; FALSE
 *          otherwise.  If FALSE is returned, the "error_text" and
 *          "error_line" fields of cfg may contain information helpful in
 *          determining what the problem was.
 */
boolean vqec_config_read_file(vqec_config_t *cfg,
                              const char *filepath);

/**
 * Read a buffer containing configuration information and parse its parameters
 * and values.
 *
 * @param[in]  cfg  Instance of configuration parser.
 * @param[in]  buffer  Pointer to the buffer to be parsed.
 * @return  Returns TRUE if the buffer was read and parsed successfully; FALSE
 *          otherwise.  If FALSE is returned, the "error_text" and
 *          "error_line" fields of cfg may contain information helpful in
 *          determining what the problem was.
 */
boolean vqec_config_read_buffer(vqec_config_t *cfg,
                                const char *buffer);

/**
 * Look up a configuration setting by its parameter name.
 *
 * @param[in]  cfg  Instance of configuration parser.
 * @param[in]  name  Name of the parameter which should be looked up.
 * @return  If a setting is found that matches the given parameter name, then
 *          a pointer to that setting is returned.  Otherwise, NULL is
 *          returned.
 */
vqec_config_setting_t *vqec_config_lookup(vqec_config_t *cfg,
                                          char *name);

/**
 * Determine the type of a particular setting.
 *
 * @param[in]  setting  Setting to have its type determined.
 * @return  Returns the type of the setting.
 */
vqec_config_setting_type_t
vqec_config_setting_type(vqec_config_setting_t *setting);

/**
 * Determine the length (number of elements) of a particular group or list
 * format configuration setting.  If the given setting is not a group or list
 * type, then 0 will be returned.
 *
 * @param[in]  setting  Setting to have its length determined.
 * @return  Returns the number of elements in the group or list.
 */
int vqec_config_setting_length(vqec_config_setting_t *setting);

/**
 * Retrieve an element of a list by its index.  If the given setting is not a
 * list type, then NULL will be returned.
 *
 * @param[in]  setting  List from which the element shall be retrieved.
 * @param[in]  index  Index of the requested element within the list.
 * @return  Returns a pointer to the requested element if it exists.  If the
 *          requested element does not exist, NULL is returned.
 */
vqec_config_setting_t *
vqec_config_setting_get_elem(vqec_config_setting_t *setting,
                             int index);

/**
 * Retrieve a member of a group by its name.  If the given setting is not a
 * group type, then NULL will be returned.
 *
 * @param[in]  setting  Group from which the member shall be retrieved.
 * @param[in]  name  Name of the requested member within the group.
 * @return  Returns a pointer to the member with the given name if it exists.
 *          If no member with the given name exists, NULL is returned.
 */
vqec_config_setting_t *
vqec_config_setting_get_member(vqec_config_setting_t *setting,
                               char *name);

/**
 * Retrieve the value of a string setting.  If the given setting is not a
 * string type, then NULL will be returned.
 *
 * @param[in]  setting  Setting to have its value retrieved.
 * @return  Returns a pointer to the string value of the setting.
 */
char *vqec_config_setting_get_string(vqec_config_setting_t *setting);

/**
 * Retrieve the value of a boolean setting.  If the given setting is not a
 * boolean type, then FALSE will be returned.
 *
 * @param[in]  setting  Setting to have its value retrieved.
 * @return  Returns TRUE or FALSE in accordance with the value of the setting.
 */
boolean vqec_config_setting_get_bool(vqec_config_setting_t *setting);

/**
 * Retrieve the value of a signed integer setting.  If the given setting is not
 * an integer type, then 0 will be returned.
 *
 * @param[in]  setting  Setting to have its value retrieved.
 * @return  Returns the signed integer value of the setting.
 */
int vqec_config_setting_get_int(vqec_config_setting_t *setting);

/**
 * Destroy all information stored in a configuration parser instance.
 *
 * @param[in]  cfg  Instance of configuration parser.
 * @return  Returns TRUE if the parser was destroyed successfully; FALSE
 *          otherwise.
 */
boolean vqec_config_destroy(vqec_config_t *cfg);


text:
- Introduced a CLI

# v1.0.0 IPO

- Initial Public Release


text:
name: Macao
permalink: "/categories/macao/"
layout: category
---


text:
package org.jkiss.dbeaver.ext.generic.edit;

import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.ext.generic.GenericConstants;
import org.jkiss.dbeaver.ext.generic.model.GenericStructContainer;
import org.jkiss.dbeaver.ext.generic.model.GenericTableBase;
import org.jkiss.dbeaver.ext.generic.model.GenericView;
import org.jkiss.dbeaver.model.DBPDataSource;
import org.jkiss.dbeaver.model.DBPEvaluationContext;
import org.jkiss.dbeaver.model.edit.DBECommandContext;
import org.jkiss.dbeaver.model.edit.DBEPersistAction;
import org.jkiss.dbeaver.model.edit.prop.DBECommandComposite;
import org.jkiss.dbeaver.model.impl.DBSObjectCache;
import org.jkiss.dbeaver.model.impl.edit.SQLDatabasePersistAction;
import org.jkiss.dbeaver.model.impl.sql.edit.SQLObjectEditor;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.model.struct.DBSObject;
import org.jkiss.utils.CommonUtils;

import java.util.List;
import java.util.Map;

/**
 * Generic view manager
 */
public class GenericViewManager extends SQLObjectEditor<GenericTableBase, GenericStructContainer> {

    @Override
    public long getMakerOptions(DBPDataSource dataSource)
    {
        return FEATURE_EDITOR_ON_CREATE;
    }

    @Override
    protected void validateObjectProperties(ObjectChangeCommand command, Map<String, Object> options)
            throws DBException
    {
        if (CommonUtils.isEmpty(command.getObject().getName())) {
            throw new DBException("View name cannot be empty");
        }
        if (CommonUtils.isEmpty(command.getObject().getDDL())) {
            throw new DBException("View definition cannot be empty");
        }
    }

    @Nullable
    @Override
    public DBSObjectCache<? extends DBSObject, GenericTableBase> getObjectsCache(GenericTableBase object)
    {
        return object.getContainer().getTableCache();
    }

    @Override
    protected GenericTableBase createDatabaseObject(DBRProgressMonitor monitor, DBECommandContext context, Object container, Object copyFrom, Map<String, Object> options)
    {
        String tableName = "NewView";

        GenericStructContainer structContainer = (GenericStructContainer) container;
        GenericTableBase viewImpl = structContainer.getDataSource().getMetaModel().createTableImpl(structContainer, tableName,
                GenericConstants.TABLE_TYPE_VIEW,
                null);
        if (viewImpl instanceof GenericView) {
            ((GenericView) viewImpl).setObjectDefinitionText("CREATE VIEW " + tableName + " AS SELECT 1 as A;\n");
        }
        return viewImpl;
    }

    @Override
    protected void addObjectCreateActions(DBRProgressMonitor monitor, List<DBEPersistAction> actions, ObjectCreateCommand command, Map<String, Object> options)
    {
        createOrReplaceViewQuery(actions, command);
    }

    @Override
    protected void addObjectModifyActions(DBRProgressMonitor monitor, List<DBEPersistAction> actionList, ObjectChangeCommand command, Map<String, Object> options)
    {
        createOrReplaceViewQuery(actionList, command);
    }

    @Override
    protected void addObjectDeleteActions(List<DBEPersistAction> actions, ObjectDeleteCommand command, Map<String, Object> options)
    {
        actions.add(
            new SQLDatabasePersistAction(
                "Drop view",
                "DROP VIEW " +
                command.getObject().getFullyQualifiedName(DBPEvaluationContext.DDL)) //$NON-NLS-2$
        );
    }

    private void createOrReplaceViewQuery(List<DBEPersistAction> actions, DBECommandComposite<GenericTableBase, PropertyHandler> command)
    {
        final GenericView view = (GenericView)command.getObject();
        actions.add(new SQLDatabasePersistAction("Create view", view.getDDL()));
    }

}


text:
package uk.joshiejack.penguinlib.item.base;

import uk.joshiejack.penguinlib.item.interfaces.IPenguinItem;
import uk.joshiejack.penguinlib.util.interfaces.IPenguinMulti;
import uk.joshiejack.penguinlib.util.helpers.forge.RegistryHelper;
import uk.joshiejack.penguinlib.util.helpers.generic.ArrayHelper;
import net.minecraft.advancements.CriteriaTriggers;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemSeeds;
import net.minecraft.item.ItemStack;
import net.minecraft.util.*;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

import javax.annotation.Nonnull;
import java.util.Locale;
import java.util.Objects;

public abstract class ItemMultiPlantable<E extends Enum<E>> extends ItemSeeds implements IPenguinItem, IPenguinMulti {
    private final Class<E> enumClass;
    private final E[] values;
    protected final String prefix;

    public ItemMultiPlantable(ResourceLocation registry, Class<E> clazz) {
        super(Blocks.FARMLAND, Blocks.FARMLAND);
        enumClass = clazz;
        values = clazz.getEnumConstants();
        prefix = getPrefixFromRegistryName(registry);
        setHasSubtypes(true); //metadata
        RegistryHelper.setRegistryAndLocalizedName(registry, this);
    }

    @Override
    public Enum[] getValues() {
        return values;
    }

    protected String getPrefixFromRegistryName(ResourceLocation registry) {
        return registry.getNamespace() + ".item." + registry.getPath() + ".";
    }

    protected E getEnumFromStack(ItemStack stack) {
        return getEnumFromMeta(stack.getItemDamage());
    }

    private E getEnumFromMeta(int meta) {
        return ArrayHelper.getArrayValue(values, meta);
    }

    public ItemStack getStackFromEnum(E e, int size) {
        return new ItemStack(this, size, e.ordinal());
    }

    @Override
    public ItemStack getStackFromEnumString(String name, int size) {
        return getStackFromEnum(Enum.valueOf(enumClass, name.toUpperCase()), size);
    }

    @Override
    public int getMetadata(int damage) {
        return damage;
    }

    @Override
    public EnumActionResult onItemUse(EntityPlayer player, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
        ItemStack itemstack = player.getHeldItem(hand);
        net.minecraft.block.state.IBlockState state = worldIn.getBlockState(pos);
        if (facing == EnumFacing.UP && player.canPlayerEdit(pos.offset(facing), facing, itemstack) && state.getBlock().canSustainPlant(state, worldIn, pos, EnumFacing.UP, this) && worldIn.isAirBlock(pos.up()))
        {
            worldIn.setBlockState(pos.up(), getStateForPlacement(player, itemstack));

            if (player instanceof EntityPlayerMP)
            {
                CriteriaTriggers.PLACED_BLOCK.trigger((EntityPlayerMP)player, pos.up(), itemstack);
            }

            itemstack.shrink(1);
            return EnumActionResult.SUCCESS;
        }
        else
        {
            return EnumActionResult.FAIL;
        }
    }

    protected abstract IBlockState getStateFromEnum(E e);

    protected IBlockState getStateForPlacement(EntityPlayer player, ItemStack stack) {
        return getStateFromStack(stack);
    }

    protected IBlockState getStateFromStack(ItemStack stack) {
        return getStateFromEnum(getEnumFromStack(stack));
    }

    @Override
    public net.minecraft.block.state.IBlockState getPlant(net.minecraft.world.IBlockAccess world, BlockPos pos)
    {
        return world.getBlockState(pos);
    }

    @Override
    @Nonnull
    public String getTranslationKey(ItemStack stack) {
        return prefix + getEnumFromStack(stack).name().toLowerCase(Locale.ENGLISH);
    }

    @Nonnull
    protected ItemStack getCreativeStack(E object) {
        return getStackFromEnum(object, 1);
    }

    @Override
    public void getSubItems(@Nonnull CreativeTabs tab, @Nonnull NonNullList<ItemStack> items) {
        if (isInCreativeTab(tab)) {
            for (E e : values) {
                ItemStack stack = getCreativeStack(e);
                if (!stack.isEmpty()) {
                    items.add(stack);
                }
            }
        }
    }

    @SideOnly(Side.CLIENT)
    @Override
    public void registerModels() {
        for (E e: values) {
            ModelLoader.setCustomModelResourceLocation(this, e.ordinal(), new ModelResourceLocation(Objects.requireNonNull(getRegistryName()), e.name().toLowerCase(Locale.ENGLISH)));
        }
    }
}


text:
@interface YKNoteEventHandlingButton : UIButton

@end


text:
/**
 * Fix for Ext 3
 */
Ext.grid.GridView.prototype.handleHdMenuClick = function(item){
    var index = this.hdCtxIndex;
    var cm = this.cm, ds = this.ds;
    switch (item.getItemId()) {
        case "asc":
            ds.sort(cm.getDataIndex(index), "ASC");
            break;
        case "desc":
            ds.sort(cm.getDataIndex(index), "DESC");
            break;
        default:
            index = cm.getIndexById(item.getItemId().substr(4));
            if (index != -1) {
                if (item.checked && cm.getColumnsBy(this.isHideableColumn, this).length <= 1) {
                    this.onDenyColumnHide();
                    return false;
                }
                cm.setHidden(index, item.checked);
            }
    }
    return true;
};

/* fix finished **************************************************/
/**
 * Ext.ux.grid.GridFilters v0.2.7
 **/

Ext.namespace("Ext.ux.grid");
Ext.ux.grid.GridFilters = function(config){
	this.filters = new Ext.util.MixedCollection();
	this.filters.getKey = function(o){return o ? o.dataIndex : null};

	for(var i=0, len=config.filters.length; i<len; i++)
		this.addFilter(config.filters[i]);

	this.deferredUpdate = new Ext.util.DelayedTask(this.reload, this);

	delete config.filters;
	Ext.apply(this, config);
};
Ext.extend(Ext.ux.grid.GridFilters, Ext.util.Observable, {
	/**
	 * @cfg {Integer} updateBuffer
	 * Number of milisecond to defer store updates since the last filter change.
	 */
	updateBuffer: 500,
	/**
	 * @cfg {String} paramPrefix
	 * The url parameter prefix for the filters.
	 */
	paramPrefix: 'filter',
	/**
	 * @cfg {String} fitlerCls
	 * The css class to be applied to column headers that active filters. Defaults to 'ux-filterd-column'
	 */
	filterCls: 'ux-filtered-column',
	/**
	 * @cfg {Boolean} local
	 * True to use Ext.data.Store filter functions instead of server side filtering.
	 */
	local: false,
	/**
	 * @cfg {Boolean} autoReload
	 * True to automagicly reload the datasource when a filter change happens.
	 */
	autoReload: true,
	/**
	 * @cfg {String} stateId
	 * Name of the Ext.data.Store value to be used to store state information.
	 */
	stateId: undefined,
	/**
	 * @cfg {Boolean} showMenu
	 * True to show the filter menus
	 */
	showMenu: true,

	menuFilterText: 'Filters',

	mode:'menu',

	/**
	* Show filter info at
	* 1. panel -for displaying filter info in a panel just above grid
	* 2. title -for displaying filter info in grid title
	* 3. false -for not displaying filter info
	*/
	showFilterInfo: 'panel',

	init: function(grid){
		if(grid instanceof Ext.grid.GridPanel){
			this.grid  = grid;
		    this.grid.originalTitle = this.grid.originalTitle?this.grid.originalTitle:grid.title;
			this.store = this.grid.getStore();

			if(this.local){
				this.store.on('load', function(store){
					store.filterBy(this.getRecordFilter());
				}, this);
			} else {
			  this.store.on('beforeload', this.onBeforeLoad, this);
			  this.store.on('load',function(){
					if(this.showFilterInfo)
					new Ext.ux.FilterInfo(this.grid,this.showFilterInfo);
			  },this);
			}

			this.grid.filters = this;

			this.grid.addEvents({"filterupdate": true});

			grid.on("render", this.onRender, this);
			grid.on("beforerender",this.applyState,this);
			if(this.applyPrivateCookie()){
				this.saveState(this.grid,this.applyPrivateCookie());
				this.grid.saveState()
			}
			grid.on("beforestaterestore", this.applyState, this);
			grid.on("beforestatesave", this.saveState, this);

		} else if(grid instanceof Ext.PagingToolbar){
		  this.toolbar = grid;
		}
	},

	/** private **/
	applyState: function(grid, state){
		this.suspendStateStore = true;
		this.clearFilters();
		var s;
		state = (s = this.applyPrivateCookie())?s:state;
		//console.log(this.applyPrivateCookie());
		if(state && state.filters)
			for(var key in state.filters){
				var filter = this.filters.get(key);
				if(filter){
					filter.setValue(state.filters[key]);
					filter.setActive(true);
				}
			}

		this.deferredUpdate.cancel();
		if(this.local)
			this.reload();

		this.suspendStateStore = false;

		/* Filter by filterby parameter */
		if(this.filterby && this.filterbyKeyword){
			var ss = new Ext.ux.SaveSearchState(this.grid);
			ss.restore(this.filterby, this.filterbyKeyword);
		}

	},

	/** private **/
	saveState: function(grid, state){
		var filters = {};
		this.filters.each(function(filter){
			if(filter.active)
				filters[filter.dataIndex] = filter.getValue();
		});
		return state.filters = filters;
	},
	/**
     * Private cookie for log search only
     */
	applyPrivateCookie: function(){
		var path = this.grid.path;
		var cp = new Ext.state.CookieProvider({

		});

		var cookie = cp.get("search_result_cookie");

		if(cookie){
			var cookie_obj = Ext.util.JSON.decode(cookie);
			for(key in cookie_obj){
				var filter = this.filters.get(key);
				if(filter){
					if(filter.type == "date"){
						for(k in cookie_obj[key]){
							cookie_obj[key][k] = new Date(Date.parseDate(cookie_obj[key][k],"Y-m-d"))
						}
					}
					if(filter.type == "string"){
						cookie_obj[key] = cookie_obj[key].toString().replace(/\+/g," ");
					}
				}
			}
			var state = {
				filters: cookie_obj
			}
			//cp.set("log_index_search","");
			//return false;
			//console.log(state)
			return state;
		}
		return false;

	/******************************************/
	},
	/** private **/
	onRender: function(){
		if(this.mode == 'header'){
			new Ext.ux.RePositionFilters(this.grid);
			return;
		}
		var hmenu;
		if(this.showMenu){
			hmenu = this.grid.getView().hmenu;

			this.sep  = hmenu.addSeparator();
			this.menu = hmenu.add(new Ext.menu.CheckItem({
					text: this.menuFilterText,
					menu: new Ext.menu.Menu()
				}));
			this.menu.on('checkchange', this.onCheckChange, this);
			this.menu.on('beforecheckchange', this.onBeforeCheck, this);

			hmenu.on('beforeshow', this.onMenu, this);
		}

		this.grid.getView().on("refresh", this.onRefresh, this);
		this.updateColumnHeadings(this.grid.getView());

	},

	/** private **/
	onMenu: function(filterMenu){
		var filter = this.getMenuFilter();
		if(filter){
			this.menu.menu = filter.menu;
			this.menu.setChecked(filter.active, false);
		}

		this.menu.setVisible(filter !== undefined);
		//this.sep.setVisible(filter !== undefined);
	},

	/** private **/
	onCheckChange: function(item, value){
		this.getMenuFilter().setActive(value);
	},

	/** private **/
	onBeforeCheck: function(check, value){
		return !value || this.getMenuFilter().isActivatable();
	},

	/** private **/
	onStateChange: function(event, filter){

		if(event == "serialize") return;

		if(filter == this.getMenuFilter() && this.mode == 'hmenu')
			this.menu.setChecked(filter.active, false);

		if(this.autoReload || this.local)
			this.deferredUpdate.delay(this.updateBuffer);

		var view = this.grid.getView();
		this.updateColumnHeadings(view);

		this.grid.saveState();

		this.grid.fireEvent('filterupdate', this, filter);
	},

	/** private **/
	onBeforeLoad: function(store, options){
		options.params = options.params || {};
		this.cleanParams(options.params);
		var params = this.buildQuery(this.getFilterData());
		Ext.apply(options.params, params);
	},

	/** private **/
	onRefresh: function(view){
		this.updateColumnHeadings(view);
	},

	/** private **/
	getMenuFilter: function(){
		var view = this.grid.getView();
		if(!view || view.hdCtxIndex === undefined)
			return null;

		return this.filters.get(
			view.cm.config[view.hdCtxIndex].dataIndex);
	},

	/** private **/
	updateColumnHeadings: function(view){
		if(!view || !view.mainHd) return;
		if(this.mode == 'header') return;
		var hds = view.mainHd.select('td').removeClass(this.filterCls);
		for(var i=0, len=view.cm.config.length; i<len; i++){
			var filter = this.getFilter(view.cm.config[i].dataIndex);
			if(filter && filter.active)
				hds.item(i).addClass(this.filterCls);
		}
	},

	/** private **/
	reload: function(){
		if(this.local){
			this.grid.store.clearFilter(true);
			this.grid.store.filterBy(this.getRecordFilter());
		} else {
			this.deferredUpdate.cancel();
			var store = this.grid.store;
			if(this.toolbar){
				var start = this.toolbar.paramNames.start;
				if(store.lastOptions && store.lastOptions.params && store.lastOptions.params[start])
					store.lastOptions.params[start] = 0;
			}
			if(store.lastOptions && store.lastOptions.params && store.lastOptions.params.start){
				store.lastOptions.params.start = 0;
			}
			store.reload();
		}
	},

	/**
	 * Method factory that generates a record validator for the filters active at the time
	 * of invokation.
	 *
	 * @private
	 */
	getRecordFilter: function(){
		var f = [];
		this.filters.each(function(filter){
			if(filter.active) f.push(filter);
		});

		var len = f.length;
		return function(record){
			for(var i=0; i<len; i++)
				if(!f[i].validateRecord(record))
					return false;

			return true;
		};
	},

	/**
	 * Adds a filter to the collection.
	 *
	 * @param {Object/Ext.ux.grid.filter.Filter} config A filter configuration or a filter object.
	 *
	 * @return {Ext.ux.grid.filter.Filter} The existing or newly created filter object.
	 */
	addFilter: function(config){
		var filter = config.menu ? config :
				new (this.getFilterClass(config.type))(config);
		this.filters.add(filter);

		Ext.util.Observable.capture(filter, this.onStateChange, this);
		return filter;
	},

	/**
	 * Returns a filter for the given dataIndex, if on exists.
	 *
	 * @param {String} dataIndex The dataIndex of the desired filter object.
	 *
	 * @return {Ext.ux.grid.filter.Filter}
	 */
	getFilter: function(dataIndex){
		return this.filters.get(dataIndex);
	},

	/**
	 * Turns all filters off. This does not clear the configuration information.
	 */
	clearFilters: function(){
		this.filters.each(function(filter){
			filter.setActive(false);
		});
	},

	/** private **/
	getFilterData: function(){
		var filters = [],
			fields  = this.grid.getStore().fields;

		this.filters.each(function(f){
			if(f.active){
				var d = [].concat(f.serialize());
				for(var i=0, len=d.length; i<len; i++)
					filters.push({
						field: f.dataColumn?f.dataColumn:f.dataIndex,
						data: d[i]
					});
			}
		});

		return filters;
	},

	/**
	 * Function to take structured filter data and 'flatten' it into query parameteres. The default function
	 * will produce a query string of the form:
	 * 		filters[0][field]=dataIndex&filters[0][data][param1]=param&filters[0][data][param2]=param...
	 *
	 * @param {Array} filters A collection of objects representing active filters and their configuration.
	 * 	  Each element will take the form of {field: dataIndex, data: filterConf}. dataIndex is not assured
	 *    to be unique as any one filter may be a composite of more basic filters for the same dataIndex.
	 *
	 * @return {Object} Query keys and values
	 */
	buildQuery: function(filters){
		var p = {};
		for(var i=0, len=filters.length; i<len; i++){
			var f    = filters[i];
			var root = [this.paramPrefix, '[', i, ']'].join('');
			p[root + '[field]'] = f.field;

			var dataPrefix = root + '[data]';
			for(var key in f.data)
				p[[dataPrefix, '[', key, ']'].join('')] = f.data[key];
		}

		return p;
	},

	/**
	 * Removes filter related query parameters from the provided object.
	 *
	 * @param {Object} p Query parameters that may contain filter related fields.
	 */
	cleanParams: function(p){
		var regex = new RegExp("^" + this.paramPrefix + "\[[0-9]+\]");
		for(var key in p)
			if(regex.test(key))
				delete p[key];
	},

	/**
	 * Function for locating filter classes, overwrite this with your favorite
	 * loader to provide dynamic filter loading.
	 *
	 * @param {String} type The type of filter to load.
	 *
	 * @return {Class}
	 */
	getFilterClass: function(type){
		return Ext.ux.grid.filter[type.substr(0, 1).toUpperCase() + type.substr(1) + 'Filter'];
	}
});


text:
package eu.gruchala.apps

import java.io.FileNotFoundException

import eu.gruchala.BaseSpec

class UrlExecutorAppSpec extends BaseSpec {

  import eu.gruchala.apps.UrlExecutorApp._

  "reading a file" should {
    "return file contents" when {
      "file exists" in {
        val buffer = readFile("urls.csv")
        buffer.toList should not be empty
      }
    }

    "throw an exception" when {
      "file does not exists" in {
        an[FileNotFoundException] shouldBe thrownBy {
          readFile("AAA.csv")
        }
      }
    }
  }
}


text:
//#define LOG_NDEBUG 0
#define LOG_TAG "MediaMuxer"
#include <utils/Log.h>

#include <media/stagefright/MediaMuxer.h>

#include <media/stagefright/foundation/ABuffer.h>
#include <media/stagefright/foundation/ADebug.h>
#include <media/stagefright/foundation/AMessage.h>
#include <media/stagefright/MediaAdapter.h>
#include <media/stagefright/MediaBuffer.h>
#include <media/stagefright/MediaCodec.h>
#include <media/stagefright/MediaDefs.h>
#include <media/stagefright/MediaErrors.h>
#include <media/stagefright/MediaSource.h>
#include <media/stagefright/MetaData.h>
#include <media/stagefright/MPEG4Writer.h>
#include <media/stagefright/Utils.h>

namespace android {

MediaMuxer::MediaMuxer(const char *path, OutputFormat format)
    : mState(UNINITIALIZED) {
    if (format == OUTPUT_FORMAT_MPEG_4) {
        mWriter = new MPEG4Writer(path);
        mFileMeta = new MetaData;
        mState = INITIALIZED;
    }

}

MediaMuxer::MediaMuxer(int fd, OutputFormat format)
    : mState(UNINITIALIZED) {
    if (format == OUTPUT_FORMAT_MPEG_4) {
        mWriter = new MPEG4Writer(fd);
        mFileMeta = new MetaData;
        mState = INITIALIZED;
    }
}

MediaMuxer::~MediaMuxer() {
    Mutex::Autolock autoLock(mMuxerLock);

    // Clean up all the internal resources.
    mFileMeta.clear();
    mWriter.clear();
    mTrackList.clear();
}

ssize_t MediaMuxer::addTrack(const sp<AMessage> &format) {
    Mutex::Autolock autoLock(mMuxerLock);

    if (format.get() == NULL) {
        ALOGE("addTrack() get a null format");
        return -EINVAL;
    }

    if (mState != INITIALIZED) {
        ALOGE("addTrack() must be called after constructor and before start().");
        return INVALID_OPERATION;
    }

    sp<MetaData> trackMeta = new MetaData;
    convertMessageToMetaData(format, trackMeta);

    sp<MediaAdapter> newTrack = new MediaAdapter(trackMeta);
    status_t result = mWriter->addSource(newTrack);
    if (result == OK) {
        return mTrackList.add(newTrack);
    }
    return -1;
}

status_t MediaMuxer::setOrientationHint(int degrees) {
    Mutex::Autolock autoLock(mMuxerLock);
    if (mState != INITIALIZED) {
        ALOGE("setOrientationHint() must be called before start().");
        return INVALID_OPERATION;
    }

    if (degrees != 0 && degrees != 90 && degrees != 180 && degrees != 270) {
        ALOGE("setOrientationHint() get invalid degrees");
        return -EINVAL;
    }

    mFileMeta->setInt32(kKeyRotation, degrees);
    return OK;
}

status_t MediaMuxer::setLocation(int latitude, int longitude) {
    Mutex::Autolock autoLock(mMuxerLock);
    if (mState != INITIALIZED) {
        ALOGE("setLocation() must be called before start().");
        return INVALID_OPERATION;
    }
    ALOGV("Setting location: latitude = %d, longitude = %d", latitude, longitude);
    return mWriter->setGeoData(latitude, longitude);
}

status_t MediaMuxer::start() {
    Mutex::Autolock autoLock(mMuxerLock);
    if (mState == INITIALIZED) {
        mState = STARTED;
        mFileMeta->setInt32(kKeyRealTimeRecording, false);
        return mWriter->start(mFileMeta.get());
    } else {
        ALOGE("start() is called in invalid state %d", mState);
        return INVALID_OPERATION;
    }
}

status_t MediaMuxer::stop() {
    Mutex::Autolock autoLock(mMuxerLock);

    if (mState == STARTED) {
        mState = STOPPED;
        for (size_t i = 0; i < mTrackList.size(); i++) {
            if (mTrackList[i]->stop() != OK) {
                return INVALID_OPERATION;
            }
        }
        return mWriter->stop();
    } else {
        ALOGE("stop() is called in invalid state %d", mState);
        return INVALID_OPERATION;
    }
}

status_t MediaMuxer::writeSampleData(const sp<ABuffer> &buffer, size_t trackIndex,
                                     int64_t timeUs, uint32_t flags) {
    Mutex::Autolock autoLock(mMuxerLock);

    if (buffer.get() == NULL) {
        ALOGE("WriteSampleData() get an NULL buffer.");
        return -EINVAL;
    }

    if (mState != STARTED) {
        ALOGE("WriteSampleData() is called in invalid state %d", mState);
        return INVALID_OPERATION;
    }

    if (trackIndex >= mTrackList.size()) {
        ALOGE("WriteSampleData() get an invalid index %d", trackIndex);
        return -EINVAL;
    }

    MediaBuffer* mediaBuffer = new MediaBuffer(buffer);

    mediaBuffer->add_ref(); // Released in MediaAdapter::signalBufferReturned().
    mediaBuffer->set_range(buffer->offset(), buffer->size());

    sp<MetaData> sampleMetaData = mediaBuffer->meta_data();
    sampleMetaData->setInt64(kKeyTime, timeUs);
    // Just set the kKeyDecodingTime as the presentation time for now.
    sampleMetaData->setInt64(kKeyDecodingTime, timeUs);

    if (flags & MediaCodec::BUFFER_FLAG_SYNCFRAME) {
        sampleMetaData->setInt32(kKeyIsSyncFrame, true);
    }

    sp<MediaAdapter> currentTrack = mTrackList[trackIndex];
    // This pushBuffer will wait until the mediaBuffer is consumed.
    return currentTrack->pushBuffer(mediaBuffer);
}

}  // namespace android


text:
package com.hazelcast.spring.cache;

import com.hazelcast.core.HazelcastInstance;
import com.hazelcast.core.HazelcastInstanceAware;
import com.hazelcast.instance.impl.Node;
import com.hazelcast.internal.services.NodeAware;
import com.hazelcast.spring.context.SpringAware;

import javax.annotation.Resource;
import javax.cache.configuration.Factory;
import javax.cache.expiry.ExpiryPolicy;
import java.util.concurrent.atomic.AtomicBoolean;

@SpringAware
public class JCacheExpiryPolicyFactory implements Factory<ExpiryPolicy>, HazelcastInstanceAware, NodeAware {

    public static final AtomicBoolean HAZELCAST_INSTANCE_INJECTED = new AtomicBoolean();
    public static final AtomicBoolean NODE_INJECTED = new AtomicBoolean();

    public static JCacheExpiryPolicyFactory instance;

    @Resource(name = "dummy")
    private IJCacheDummyBean dummyBean;

    public JCacheExpiryPolicyFactory() {
        instance = this;
    }

    @Override
    public ExpiryPolicy create() {
        return new JCacheExpiryPolicy();
    }

    @Override
    public void setHazelcastInstance(HazelcastInstance hazelcastInstance) {
        HAZELCAST_INSTANCE_INJECTED.set(true);
    }

    @Override
    public void setNode(Node node) {
        NODE_INJECTED.set(true);
    }

    public IJCacheDummyBean getDummyBean() {
        return dummyBean;
    }

    public void setDummyBean(IJCacheDummyBean dummyBean) {
        this.dummyBean = dummyBean;
    }
}


text:
package main

import (
	"encoding/json"
	"flag"
	"fmt"
	oauth "github.com/akrennmair/goauth"
	goconf "github.com/akrennmair/goconf"
	_ "github.com/surma/stacksignal"
	"io/ioutil"
	"log"
	"os"
	"os/user"
	"strconv"
	"strings"
)

const (
	PROGRAM_NAME    = "gockel"
	PROGRAM_VERSION = "0.2"
	PROGRAM_URL     = "https://github.com/akrennmair/gockel"

	CONSUMER_KEY    = "sDggzGbHbyAfl5fJ87XOCA"
	CONSUMER_SECRET = "MOCQDL7ot7qIxMwYL5x1mMAqiYBYxNTxPWS6tc6hw"
)

type DevNullWriter int

func (w *DevNullWriter) Write(b []byte) (n int, err error) {
	return len(b), nil
}

func main() {
	homedir := getHomeDir()
	if homedir == "" {
		fmt.Printf("Error: unable to determine home directory!\n")
		return
	}

	cfgdir := homedir + "/.gockel"
	os.Mkdir(cfgdir, 0700)

	cfgfilename := cfgdir + "/gockelrc"

	var logfile *string = flag.String("log", "", "logfile")
	var cfgfile *string = flag.String("config", cfgfilename, "configuration file")
	var add *bool = flag.Bool("add", false, "add a new user")

	flag.Parse()

	log.SetFlags(log.LstdFlags | log.Lshortfile)
	devnull := new(DevNullWriter)
	log.SetOutput(devnull)

	if *logfile != "" {
		if f, err := os.OpenFile(*logfile, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0600); err == nil {
			defer f.Close()
			log.SetOutput(f)
		} else {
			fmt.Fprintf(os.Stderr, "Warning: couldn't open logfile for writing: %v\n", err)
		}
	}

	cfg, err := goconf.ReadConfigFile(*cfgfile)
	if err != nil {
		log.Printf("reading configuration file failed: %v", err)
	}

	tapi := NewTwitterAPI(CONSUMER_KEY, CONSUMER_SECRET, cfg)

	if *add {
		if err := AddUser(tapi, cfgdir); err != nil {
			log.Printf("Error while adding user: %v", err)
			fmt.Fprintf(os.Stderr, "Error while adding user: %v\n", err)
		}
		return
	}

	fmt.Printf("Starting %s %s...\n", PROGRAM_NAME, PROGRAM_VERSION)

	var users []UserTwitterAPITuple

	fmt.Printf("Loading user information...")
	for {
		users, err = LoadAccessTokens(cfgdir, cfg)
		if err != nil {
			fmt.Fprintf(os.Stderr, "Loading users failed: %v\n", err)
			return
		}
		if len(users) > 0 {
			break
		}
		err = AddUser(tapi, cfgdir)
		if err != nil {
			log.Printf("Error while adding user: %v", err)
			fmt.Fprintf(os.Stderr, "Error while adding user: %v\n", err)
			return
		}
	}

	fmt.Println(" done.")

	log.Printf("loaded %d users:", len(users))
	for _, u := range users {
		log.Printf("user: %s", u.User)
	}

	cmdchan := make(chan interface{}, 1)
	newtweetchan := make(chan []*Tweet, 10)
	lookupchan := make(chan TweetRequest, 1)
	uiactionchan := make(chan interface{}, 10)

	model := NewModel(users, cmdchan, newtweetchan, lookupchan, uiactionchan, cfg)
	go model.Run()

	ui := NewUserInterface(cmdchan, newtweetchan, lookupchan, uiactionchan, cfg)
	go ui.Run()

	ui.InputLoop()
}

func SaveAccessToken(at *oauth.AccessToken, cfgdir string, suffix string) error {
	data, marshalerr := json.Marshal(at)
	if marshalerr != nil {
		return marshalerr
	}

	filename := cfgdir + "/access_token.json"
	if suffix != "" {
		filename = filename + "." + suffix
	}

	f, ferr := os.OpenFile(filename, os.O_WRONLY|os.O_CREATE, 0600)
	if ferr != nil {
		return ferr
	}
	defer f.Close()

	_, werr := f.Write(data)
	if werr != nil {
		return werr
	}

	return nil
}

type UserTwitterAPITuple struct {
	User string
	Tapi *TwitterAPI
}

func LoadAccessTokens(cfgdir string, cfg *goconf.ConfigFile) ([]UserTwitterAPITuple, error) {
	users := []UserTwitterAPITuple{}

	f, err := os.Open(cfgdir)
	if err != nil {
		log.Printf("failed to open %s: %v", cfgdir, err)
		return users, err
	}
	defer f.Close()

	files, err := f.Readdir(-1)
	if err != nil {
		log.Printf("readdir failed: %v", err)
		return users, err
	}

	log.Printf("found %d files in %s", len(files), cfgdir)

	for _, fi := range files {
		log.Printf("file: %s", fi.Name())
		if strings.HasPrefix(fi.Name(), "access_token.json") {
			if at, err := LoadAccessToken(cfgdir + "/" + fi.Name()); err == nil {
				tapi := NewTwitterAPI(CONSUMER_KEY, CONSUMER_SECRET, cfg)
				tapi.SetAccessToken(at)
				if user, err := tapi.VerifyCredentials(); err == nil {
					users = append(users, UserTwitterAPITuple{User: *user.Screen_name, Tapi: tapi})
				}
			} else {
				log.Printf("loading access token from %s failed: %v", fi.Name(), err)
			}
		}
	}

	return users, nil
}

func LoadAccessToken(file string) (*oauth.AccessToken, error) {
	f, ferr := os.Open(file)
	if ferr != nil {
		return nil, ferr
	}
	defer f.Close()

	data, readerr := ioutil.ReadAll(f)
	if readerr != nil {
		return nil, readerr
	}

	at := &oauth.AccessToken{}

	err := json.Unmarshal(data, at)
	if err != nil {
		return nil, err
	}

	return at, nil
}

func getHomeDir() string {
	// first try $HOME
	homedir := os.Getenv("HOME")
	if homedir != "" {
		return homedir
	}

	// then try to lookup by username from $USER
	u_name, err := user.Lookup(os.Getenv("USER"))
	if err == nil {
		return u_name.HomeDir
	}

	// then try lookup by uid
	u_uid, err := user.LookupId(strconv.Itoa(os.Getuid()))
	if err == nil {
		return u_uid.HomeDir
	}

	return ""
}

func AddUser(tapi *TwitterAPI, cfgdir string) error {
	auth_url, err := tapi.GetRequestAuthorizationURL()
	if err != nil {
		return err
	}

	var pin string
	fmt.Printf("%s doesn't yet have information how to access your Twitter account.\n", PROGRAM_NAME)
	fmt.Println("In order to provide it with authentication information, open the following")
	fmt.Printf("URL, confirm that you allow %s to access your Twitter account and enter\nthe displayed PIN code.\n", PROGRAM_NAME)
	fmt.Printf("\nPlease open the following URL: %s\n", auth_url)
	fmt.Print("\nEnter PIN code: ")
	fmt.Scanln(&pin)

	tapi.SetPIN(pin)

	user, err := tapi.VerifyCredentials()
	if err != nil {
		return err
	}

	if err := SaveAccessToken(tapi.GetAccessToken(), cfgdir, *user.Screen_name); err != nil {
		return err
	}

	return nil
}


text:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE web-app PUBLIC
 "-//Oracle Corporation//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
    <servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>api.DefaultServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/default</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>


text:
<TITLE>Review for Astronaut's Wife, The (1999)</TITLE>
<LINK REL="STYLESHEET" TYPE="text/css" HREF="/ramr.css">

Astronaut's Wife, The (1999)

reviewed by
Susan Granger

http://www.speakers-podium.com/susangranger.

Susan Granger's review of "THE ASTRONAUT'S WIFE" (New Line Cinema)

        Writer/director Rand Ravich came up with an intriguing premise
for this sci-fi tale: What would happen if an astronaut was, somehow,
changed after he returned from a supposedly routine space journey? Who
would know?  Good idea, right? So, Johnny Depp - newly blond with a
Southern drawl - plays a NASA shuttle pilot, one of two crew members
who are nearly killed when a satellite explodes and ground control
mysteriously loses contact with them for two minutes. His companion
(Nick Cassavetes) flips out soon after their return to Earth. But Depp
doesn't. Instead, he announces his decision to quit the space program
and impregnates his beautiful wife, played by Charlize Theron ("Mighty
Joe Young," "The Devil's Advocate"), with twins. But then strange
things begin to happen. First, Cassavetes dies from "a severe insult
to the brain" (i.e.: a stroke). Then Theron's confidante, played by
Donna Murphy, is electrocuted. Nevertheless, the now-former astronaut
and his now-fearful wife leave Florida and move to New York, where
she's befriended by the wife (Blair Brown) of her husband's new
corporate boss (Tom Noonan) in the aerospace industry. Are there any
surprises? Only when British actress Samantha Eggar turns up as an
obstetrician with a thick German accent. Otherwise you can probably
guess what happens. On the Granger Movie Gauge of 1 to 10, "The
Astronaut's Wife" is a fumbling, formulaic 4. Think of a sluggish
"Rosemary's Baby" with an extra-terrestrial twist.

The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).

The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.

Please direct comments/criticisms of the review to relevant newsgroups.

Broken URLs inthe reviews are the responsibility of the author.

The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.

Related links: index of all rec.arts.movies.reviews reviews


text:
package ca.uhn.fhir.rest.gclient;

public interface ICriterion<T extends IParam> {

}


text:
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/0b32792e9781436f8660acda74c5cb8a)](https://app.codacy.com/app/bustikiller/riews?utm_source=github.com&utm_medium=referral&utm_content=bustikiller/riews&utm_campaign=badger)
[![Build Status](https://semaphoreci.com/api/v1/bustikiller/riews/branches/master/badge.svg)](https://semaphoreci.com/bustikiller/riews)
[![security](https://hakiri.io/github/bustikiller/riews/master.svg)](https://hakiri.io/github/bustikiller/riews/master)
[![Coverage Status](https://coveralls.io/repos/github/bustikiller/riews/badge.svg?branch=master)](https://coveralls.io/github/bustikiller/riews?branch=master)

Short description and motivation.

## Usage
How to use my plugin.

## Installation
Add this line to your application's Gemfile:

```ruby
gem 'riews', git: 'https://github.com/bustikiller/riews'
```

And then execute:
```bash
$ bundle
```

Or install it yourself as:
```bash
$ gem install riews
```

Please, take into account that there is no stable release yet.

### Mounting the routes
Add this line to your application's routes file:
```ruby
mount Riews::Engine, at: '/riews', as: :riews
```

### Executing the migrations
Import and execute the migrations:
```bash
rake riews:install:migrations
rake db:migrate
```

## License
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).


text:
FUSE filesystem over Google Drive
=================================

**google-drive-ocamlfuse** is a FUSE filesystem backed by Google Drive,
written in OCaml. It lets you mount your Google Drive on Linux.

### Features

* Full read/write access to ordinary files and folders
* Read-only access to Google Docs, Sheets, and Slides (exported to
  configurable formats)
* Multiple account support
* Duplicate file handling
* Access to trash (`.Trash` directory)

### Resources

* [Homepage](http://gdfuse.forge.ocamlcore.org/)
* [Wiki](https://github.com/astrada/google-drive-ocamlfuse/wiki): includes
  installation instructions, and more details about configuration, and
  authorization

### Authorization

Please be sure to have a look at the
[authorization](https://github.com/astrada/google-drive-ocamlfuse/wiki/Authorization)
page, to understand how the authorization process works, and to discover all
the available options.

Getting started
---------------

### Installation

I've uploaded .deb packages to my [PPA](https://launchpad.net/~alessandro-strada/+archive/ppa),
for Ubuntu 14.04, 12.04. In order to to install it, use the commands below:

    $ sudo add-apt-repository ppa:alessandro-strada/ppa
    $ sudo apt-get update
    $ sudo apt-get install google-drive-ocamlfuse

For other installation options, please refer to the [wiki](https://github.com/astrada/google-drive-ocamlfuse/wiki/Installation).

How to build
------------

### Requirements

* [OCaml][] >= 3.12.0
* [Findlib][] >= 1.2.7
* [ocamlfuse][] >= 2.7.1
* [gapi-ocaml][] >= 0.2.6
* [sqlite3-ocaml][] >= 1.6.1

[OCaml]: http://caml.inria.fr/ocaml/release.en.html
[Findlib]: http://projects.camlcity.org/projects/findlib.html/
[ocamlfuse]: http://sourceforge.net/projects/ocamlfuse/
[gapi-ocaml]: http://forge.ocamlcore.org/projects/gapi-ocaml/
[sqlite3-ocaml]: https://bitbucket.org/mmottl/sqlite3-ocaml

### Configuration and installation

To build the executable, run

    $ ocaml setup.ml -configure
    $ ocaml setup.ml -build

To install it, run (as root, if your user doesn't have enough privileges)

    $ ocaml setup.ml -install

To uninstall anything that was previously installed, execute

    $ ocaml setup.ml -uninstall

### Usage

The first time, you can run `google-drive-ocamlfuse` without parameters:

    $ google-drive-ocamlfuse

This command will create the default application directory
(`~/.gdfuse/default`), containing the configuration file `config` (see the
[wiki
page](https://github.com/astrada/google-drive-ocamlfuse/wiki/Configuration)
for more details about configuration). And it will start a web browser to
obtain authorization to access your Google Drive. This will let you modify
default configuration before mounting the filesystem.

Then you can mount the filesystem:

    $ google-drive-ocamlfuse mountpoint

If you have more than one account, you can run:

    $ google-drive-ocamlfuse -label label [mountpoint]

Using `label` to distinguish different accounts. The program will use the
directory `~/.gdfuse/label` to host configuration, application state, and file
cache. No file is shared among different accounts, so you can have a different
configuration for each one.

To unmount the filesystem, issue this command:

    $ fusermount -u mountpoint

### Troubleshooting

This application is still under testing, so there are probably bugs to
discover and fix. To be extra sure, if you want, you can mount the filesystem
in read-only mode, modifying the configuration (see the
[documentation](https://github.com/astrada/google-drive-ocamlfuse/wiki/Configuration)),
to avoid any write attempt to the server. Anyway, the `rm` command will simply
trash your file, so you should always be able to rollback any changes. If you
have problems, you can turn on debug logging:

    $ google-drive-ocamlfuse -debug mountpoint

In `~/.gdfuse/default` you can find `curl.log` that will track every request
to the Google Drive API, and `gdfuse.log` that will log FUSE operations and
cache management. If something goes wrong, you can try clearing the cache,
with this command:

    $ google-drive-ocamlfuse -cc

If something still doesn't work, try starting from scratch removing everything
in `~/.gdfuse/default`. In this case you will need to reauthorize the
application.

Note that in order to reduce latency, the application will query the server
and check for changes only every 60 seconds (configurable). So, if you make a
change to your documents (server side), you won't see it immediately in the
mounted filesystem.

Note also that Google Documents will be exported read-only.

### Support

If you have questions, suggestions or want to report a problem, you can post
to this [mailing
list](https://lists.forge.ocamlcore.org/mailman/listinfo/gdfuse-devel). Or you
may want to open an
[issue](https://github.com/astrada/google-drive-ocamlfuse/issues) on github.


text:
namespace bfs = boost::filesystem;
namespace nix {
namespace file {

MultiTagFS::MultiTagFS(const std::shared_ptr<base::IFile> &file, const std::shared_ptr<base::IBlock> &block,
                       const std::string &loc)
    : BaseTagFS(file, block, loc)
{
}

MultiTagFS::MultiTagFS(const std::shared_ptr<base::IFile> &file, const std::shared_ptr<base::IBlock> &block,
                       const std::string &loc, const std::string &id, const std::string &type, const std::string &name,
                       const DataArray &positions)
    : MultiTagFS(file, block, loc, id, type, name, positions, util::getTime())
{
}

MultiTagFS::MultiTagFS(const std::shared_ptr<base::IFile> &file, const std::shared_ptr<base::IBlock> &block,
                       const std::string &loc, const std::string &id, const std::string &type, const std::string &name,
                       const DataArray &positions, time_t time)
    : BaseTagFS(file, block, loc, id, type, name, time)
{
    // TODO: the line below currently throws an exception if positions is
    // not in block - to consider if we prefer copying it to the block
    this->positions(positions.id());
}

std::shared_ptr<base::IDataArray> MultiTagFS::positions() const {
    std::shared_ptr<base::IDataArray> da;
    boost::optional<bfs::path> p = findByNameOrAttribute("name", "positions");
    if (p) {
        DataArrayFS a(file(), block(), p->string());
        return std::make_shared<DataArrayFS>(a);
    } else {
        throw std::runtime_error("MultiTagFS::positions: DataArray not found!");
    }
}

void MultiTagFS::positions(const std::string &name_or_id) {
    if (name_or_id.empty())
        throw EmptyString("positions");
    if (!block()->hasEntity({name_or_id, ObjectType::DataArray}))
        throw std::runtime_error("MultiTagFS::positions: DataArray not found in block!");
    if (hasObject("positions"))
        removeObjectByNameOrAttribute("name", "positions");

    auto target = std::dynamic_pointer_cast<DataArrayFS>(block()->getEntity({name_or_id, ObjectType::DataArray}));
    bfs::path p(location()), m("positions");
    target->createLink(p / m);
    forceUpdatedAt();
}

bool MultiTagFS::hasPositions() const {
    // NOTE: other than in positions getter here we do not check that the
    // positions DataArray also exists in block - we just say it does here
    return hasObject("positions");
}

std::shared_ptr<base::IDataArray>  MultiTagFS::extents() const {
    std::shared_ptr<base::IDataArray> da;
    boost::optional<bfs::path> p = findByNameOrAttribute("name", "extents");
    if (p) {
        DataArrayFS a(file(), block(), p->string());
        return std::make_shared<DataArrayFS>(a);
    }
    return da;
}

void MultiTagFS::extents(const std::string &name_or_id) {
    if (name_or_id.empty())
        throw EmptyString("extents");
    if (!block()->hasEntity({name_or_id, ObjectType::DataArray}))
        throw std::runtime_error("MultiTagFS::extents: DataArray not found in block!");
    if (hasObject("extents"))
        removeObjectByNameOrAttribute("name", "extents");
    DataArray da = std::dynamic_pointer_cast<base::IDataArray>(block()->getEntity({name_or_id, ObjectType::DataArray}));
    if (!checkDimensions(da, positions()))
        throw std::runtime_error("MultiTagFS::extents: cannot set Extent because dimensionality of extent and position data do not match!");

    auto target = std::dynamic_pointer_cast<DataArrayFS>(block()->getEntity({name_or_id, ObjectType::DataArray}));
    bfs::path p(location()), m("extents");
    target->createLink(p / m);
    forceUpdatedAt();
}

void MultiTagFS::extents(const none_t t) {
    if (hasObject("extents")) {
        removeObjectByNameOrAttribute("name", "extents");
    }
    forceUpdatedAt();
}

std::vector<std::string> MultiTagFS::units() const {
    std::vector<std::string> units;
    getAttr("units", units);
    return units;
}

void MultiTagFS::units(const std::vector<std::string> &units) {
    setAttr("units", units);
    forceUpdatedAt();
}

void MultiTagFS::units(const none_t t) {
    if (hasAttr("units")) {
        removeAttr("units");
    }
    forceUpdatedAt();
}

// these methods could go to the frontend...

bool MultiTagFS::checkDimensions(const DataArray &a, const DataArray &b)const {
    return a.dataExtent() == b.dataExtent();
}

MultiTagFS::~MultiTagFS() {}

} // ns nix::file
} // ns nix


text:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<TITLE>
UrlShortner
</TITLE>

<META NAME="date" CONTENT="2011-10-20">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">

      Overview
      Package
    Class
      Tree
      Deprecated
      Index
      Help

 PREV CLASS
 NEXT CLASS

  FRAMES
 NO FRAMES

  All Classes

  SUMMARY: NESTED | FIELD | CONSTR | METHOD

DETAIL: FIELD | CONSTR | METHOD

com.bizosys.hsearch.util

Class UrlShortner

java.lang.Object
  com.bizosys.hsearch.util.UrlShortner

public class UrlShortner
extends java.lang.Object

Url shortner reads urlmappings file and applies shortening

  Example (The URL and tab separated short code)

  http://www.bizosys.com/employee.xml/id=       01

  http://www.bizosys.com/employee?      02

  http://www.bizosys.com/company.xml/id=        03

Author:

Abinasha Karana

Field Summary

 java.util.HashMap<java.lang.String,java.lang.String>
codes

 java.util.HashMap<java.lang.String,java.lang.String>
urls

Method Summary

 java.lang.String
decoding(java.lang.String codedUrl)

          This decodes the short form of the URL prefix

 java.lang.String
encoding(java.lang.String url)

          This encodes to the short form of the URL prefix

static UrlShortner
getInstance()

 void
persist(java.util.Map<java.lang.String,java.lang.String> values)

 void
refresh()

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail

urls

public java.util.HashMap<java.lang.String,java.lang.String> urls

codes

public java.util.HashMap<java.lang.String,java.lang.String> codes

Method Detail

getInstance

public static final UrlShortner getInstance()
                                     throws com.bizosys.oneline.ApplicationFault,
                                            com.bizosys.oneline.SystemFault

Throws:

com.bizosys.oneline.ApplicationFault

com.bizosys.oneline.SystemFault

refresh

public void refresh()
             throws com.bizosys.oneline.ApplicationFault,
                    com.bizosys.oneline.SystemFault

Throws:

com.bizosys.oneline.ApplicationFault

com.bizosys.oneline.SystemFault

persist

public void persist(java.util.Map<java.lang.String,java.lang.String> values)
             throws com.bizosys.oneline.ApplicationFault,
                    com.bizosys.oneline.SystemFault

Throws:

com.bizosys.oneline.ApplicationFault

com.bizosys.oneline.SystemFault

encoding

public java.lang.String encoding(java.lang.String url)

This encodes to the short form of the URL prefix

Parameters:
url - URL

Returns:
Encoded Url

decoding

public java.lang.String decoding(java.lang.String codedUrl)

This decodes the short form of the URL prefix

Parameters:
codedUrl - coded URL

Returns:
The decoded url

      Overview
      Package
    Class
      Tree
      Deprecated
      Index
      Help

 PREV CLASS
 NEXT CLASS

  FRAMES
 NO FRAMES

  All Classes

  SUMMARY: NESTED | FIELD | CONSTR | METHOD

DETAIL: FIELD | CONSTR | METHOD


text:
{% extends 'templates/partials/base.html' %}
{% block title %}Apply for Membership{% endblock %}

{% block content %}

Almost Done!

  <form class="fs-form" accept-charset="UTF-8" action="https://formkeep.com/f/5483b086e486" method="POST">
    <input type="hidden" name="utf8" value="✓">

    <fieldset class="fs-form-item current" required>
      Where are you located?

          <input class="fs-input" type="radio" id="dallas" name="Location" value="Dallas" checked>
          Dallas

          <input class="fs-input" type="radio" id="nashville" name="Location" value="Nashville">
          Nashville

          <input class="fs-input" type="radio" id="other-location" name="Location" value="Other">
          Other
          <input class="fs-input other" type="text" name="Other Location" value="" placeholder="Sweet! Which city?" >

    </fieldset>

      What's your full name?
      <input class="fs-input" type="text" id="name" name="name" placeholder="Marty McFly" pattern="[a-zA-Z\s]+" autocorrect="off" autocapitalize="on" required>

      What's your email address?
      <input class="fs-input" type="email" id="email" name="email" placeholder="you@internet.com" autocorrect="off" autocapitalize="off" required>

      What's your website?
      <input class="fs-input" type="url" id="website" name="url" placeholder="yourwebsite.com" autocorrect="off" autocapitalize="off" required>

      What's your Twitter/Instagram handle?
      <input class="fs-input" type="text" id="social" name="Social" placeholder="Whichever one you use more." autocorrect="off" autocapitalize="off" required>

      How'd you hear about WELD?
      <textarea class="fs-input" type="textarea" id="reference" name="Reference" placeholder="The interwebs, a colleague, social media?"  autocorrect="on" autocapitalize="on" required></textarea>

      What type of work do you do?
      <input class="fs-input" type="text" id="work" name="Work" placeholder="i.e. Mathmagician, Make Music, etc." autocorrect="off" autocapitalize="on" required>

      Why are you interested in joining our community?
      <textarea class="fs-input" type="textarea" id="why" name="why" placeholder="Our members join WELD for much more than space to work in." autocorrect="on" autocapitalize="on" required></textarea>

    <fieldset class="fs-form-item" required>
      Any additional membership options?

        {% for row in cms.memberships.type %}

          <input class="fs-input" type="radio" id="{{ row.alt_title }}" name="Membership" value="{{ row.title }}">
          {{ row.alt_title }}

        {% endfor %}

    </fieldset>
    <input data-js="submit" class="button fs-form-submit" type="submit" value="Submit your answers!">
  </form>

Prev

Next

{% endblock %}


text:
//======================================================================================
// Copyright 5AM Solutions Inc, Yale University
//
// Distributed under the OSI-approved BSD 3-Clause License.
// See http://ncip.github.com/caarray/LICENSE.txt for details.
//======================================================================================
package gov.nih.nci.caarray.domain;

import gov.nih.nci.caarray.domain.vocabulary.Term;

/**
 * A UnitableValue with a controlled vocabulary term value.
 *
 * @author dkokotov
 */
public interface TermBasedValue extends UnitableValue {
    /**
     * @return the value
     */
    Term getTerm();

    /**
     * @param term the value to set
     */
    void setTerm(Term term);
}