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

<title>Uses of Class org.apache.cassandra.io.util.ChannelProxy (apache-cassandra API)</title>
<meta name="date" content="2016-04-09">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">

JavaScript is disabled on your browser.

Skip navigation links

Overview

Package

Class

Use

Tree

Deprecated

Index

Help

Prev

Next

Frames

No Frames

All Classes

Uses of Class
org.apache.cassandra.io.util.ChannelProxy

Packages that use ChannelProxy

Package
Description

org.apache.cassandra.hints

Hints subsystem consists of several components.

org.apache.cassandra.index.sasi.utils

org.apache.cassandra.io.compress

org.apache.cassandra.io.sstable.format

org.apache.cassandra.io.util

org.apache.cassandra.security

Uses of ChannelProxy in org.apache.cassandra.hints

Constructors in org.apache.cassandra.hints with parameters of type ChannelProxy

Constructor and Description

Builder(ChannelProxy channel)

Builder(ChannelProxy channel)

CompressedChecksummedDataInputBuilder(ChannelProxy channel)

Uses of ChannelProxy in org.apache.cassandra.index.sasi.utils

Constructors in org.apache.cassandra.index.sasi.utils with parameters of type ChannelProxy

Constructor and Description

MappedBuffer(ChannelProxy file)

MappedBuffer(ChannelProxy file,
            int numPageBits)

Uses of ChannelProxy in org.apache.cassandra.io.compress

Constructors in org.apache.cassandra.io.compress with parameters of type ChannelProxy

Constructor and Description

Builder(ChannelProxy channel,
       CompressionMetadata metadata)

Uses of ChannelProxy in org.apache.cassandra.io.sstable.format

Methods in org.apache.cassandra.io.sstable.format that return ChannelProxy

Modifier and Type
Method and Description

ChannelProxy
SSTableReader.getDataChannel()

ChannelProxy
SSTableReader.getIndexChannel()

Uses of ChannelProxy in org.apache.cassandra.io.util

Fields in org.apache.cassandra.io.util declared as ChannelProxy

Modifier and Type
Field and Description

protected ChannelProxy
RandomAccessReader.channel

ChannelProxy
RandomAccessReader.Builder.channel

ChannelProxy
SegmentedFile.channel

Methods in org.apache.cassandra.io.util that return ChannelProxy

Modifier and Type
Method and Description

ChannelProxy
CompressedSegmentedFile.channel()

ChannelProxy
ICompressedFile.channel()

ChannelProxy
RandomAccessReader.getChannel()

ChannelProxy
ChannelProxy.sharedCopy()

Methods in org.apache.cassandra.io.util with parameters of type ChannelProxy

Modifier and Type
Method and Description

SegmentedFile
BufferedSegmentedFile.Builder.complete(ChannelProxy channel,
        int bufferSize,
        long overrideLength)

SegmentedFile
CompressedSegmentedFile.Builder.complete(ChannelProxy channel,
        int bufferSize,
        long overrideLength)

protected abstract SegmentedFile
SegmentedFile.Builder.complete(ChannelProxy channel,
        int bufferSize,
        long overrideLength)

Called after all potential boundaries have been added to apply this Builder to a concrete file on disk.

static MmappedRegions
MmappedRegions.empty(ChannelProxy channel)

boolean
MmappedRegions.isValid(ChannelProxy channel)

static MmappedRegions
MmappedRegions.map(ChannelProxy channel,
   CompressionMetadata metadata)

static MmappedRegions
MmappedRegions.map(ChannelProxy channel,
   long length)

static RandomAccessReader
RandomAccessReader.open(ChannelProxy channel)

Constructors in org.apache.cassandra.io.util with parameters of type ChannelProxy

Constructor and Description

BufferedSegmentedFile(ChannelProxy channel,
                     int bufferSize,
                     long length)

Builder(ChannelProxy channel)

ChannelProxy(ChannelProxy copy)

Cleanup(ChannelProxy channel)

CompressedSegmentedFile(ChannelProxy channel,
                       int bufferSize,
                       CompressionMetadata metadata)

CompressedSegmentedFile(ChannelProxy channel,
                       int bufferSize,
                       CompressionMetadata metadata,
                       MmappedRegions regions)

MmappedSegmentedFile(ChannelProxy channel,
                    int bufferSize,
                    long length,
                    MmappedRegions regions)

SegmentedFile(SegmentedFile.Cleanup cleanup,
             ChannelProxy channel,
             int bufferSize,
             long length,
             long onDiskLength)

Uses of ChannelProxy in org.apache.cassandra.security

Constructors in org.apache.cassandra.security with parameters of type ChannelProxy

Constructor and Description

ChannelProxyReadChannel(ChannelProxy channelProxy,
                       long currentPosition)

Skip navigation links

Overview

Package

Class

Use

Tree

Deprecated

Index

Help

Prev

Next

Frames

No Frames

All Classes

Copyright © 2016 The Apache Software Foundation


text:
import { UnprocessableError } from '../../common/errors.js';
import Joi from '@hapi/joi';

const schema = Joi.object({
  id: Joi.number(),
  username: Joi.string(),
  firstName: Joi.string()
    .allow(null)
    .optional(),
  lastName: Joi.string()
    .allow(null)
    .optional(),
  instance: Joi.number()
    .allow(null)
    .optional(),
  instance_name: Joi.string()
    .allow(null)
    .optional(),
  instance_domain: Joi.string()
    .allow(null)
    .optional(),
  role: Joi.number()
    .allow(null)
    .optional(),
  role_name: Joi.string(),
  email: Joi.string()
    .allow(null)
    .optional(),
  phone: Joi.string()
    .allow(null)
    .optional(),
  extension: Joi.string()
    .allow(null)
    .optional(),
  isActive: Joi.boolean()
    .allow(null)
    .optional(),
});

export async function validate(data) {
  try {
    const value = await schema.validateAsync(data);
    return value;
  } catch (err) {
    throw new UnprocessableError('Unable to validate user JSON: ', err);
  }
}

redpajama_set_name: RedPajamaGithub


text:
require_dependency "adherent/application_controller"

module Adherent
  class ReglementsController < ApplicationController

    # enegistrer un nouveau réglement est en fait créer une nouvelle imputation
    # pour un paiement.
    # Il est donc obligatoire d'avoir un paiement
    #
    def new
      @payment = Payment.find(params[:payment_id])
      @member = @payment.member
      @reglement = @payment.reglements.new(amount:@payment.non_impute)
      @unpaid_adhesions = @organism.adhesions.unpaid
    end

    # TODO voir pour faire les deux approches (succès et échec)
    def create
      @payment = Payment.find(params[:payment_id])
      @payment.imputation_on_adh(params[:reglement][:adhesion_id])
      redirect_to member_payments_path(@payment.member)

    end

    def show
      @payment = Payment.find(params[:payment_id])
      @reglement = @payment.reglements.find(params[:id])
    end

   # DELETE /reglement/1

    def destroy
      @payment = Payment.find(params[:payment_id])
      @reglement = @payment.reglements.find(params[:id])
      if @reglement.destroy
        flash[:notice] = 'Le reglement a été supprimé'
      else
        flash[:alert] = 'Le règlement n\'a pas pu être supprimé'
      end

      respond_to do |format|
        format.html { redirect_to member_payment_url(@payment.member, @payment) }
      end
    end

    private

    def reglement_params
      params.require(:reglement).permit(:amount, :payment_id)
    end

  end
end


text:
package net.zer0bandwidth.android.lib.content;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;

import org.junit.Test;
import org.junit.runner.RunWith;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import static junit.framework.Assert.* ;

/**
 * Exercises {@link IntentUtils}.
 * @since zer0bandwidth-net/android 0.1.2 (#3)
 */
@RunWith( AndroidJUnit4.class )
public class IntentUtilsTest
{
	/** Exercises {@link IntentUtils#discoverAction}. */
	@Test
	public void testDiscoverAction()
	{
		final Intent sig = new Intent() ;
		sig.setAction( "foo" ) ;
		assertEquals( "foo", IntentUtils.discoverAction( sig ) ) ;
	}

	/** Exercises {@link IntentUtils#getBoundIntent(Context,Class)} */
	@Test
	public void testGetBoundIntent()
	{
		final Context ctx = InstrumentationRegistry.getContext() ;
		final Intent sig = IntentUtils.getBoundIntent( ctx, Activity.class ) ;
		assertEquals( Activity.class.getName(), sig.getComponent().getClassName() ) ;
	}

	/** Exercises {@link IntentUtils#getBoundIntent(Context,Class,String)} */
	@Test
	public void testGetBoundIntentWithAction()
	{
		final Context ctx = InstrumentationRegistry.getContext() ;
		Intent sig = IntentUtils.getBoundIntent( ctx, Activity.class, "foo" ) ;
		assertEquals( Activity.class.getName(), sig.getComponent().getClassName() ) ;
		assertEquals( "foo", sig.getAction() ) ;
	}

	/**
	 * Set of actions to be written into an {@link IntentFilter}.
	 * @see #testGetActionListIntentFilter()
	 * @since zer0bandwidth-net/android 0.1.7 (#50)
	 */
	protected static final String[] TEST_INTENT_FILTER_ACTIONS =
			{ "FOO", "BAR", "BAZ" } ;

	/**
	 * Fake authority string to be prepended to actions in an
	 * {@link IntentFilter}.
	 * @see #testGetActionListIntentFilter()
	 * @since zer0bandwidth-net/android 0.1.7 (#50)
	 */
	protected static final String TEST_INTENT_FILTER_AUTHORITY =
			"org.totallyfake.myservice" ;

	/**
	 * Exercises the intent filter generators.
	 * @since zer0bandwidth-net/android 0.1.7 (#50)
	 */
	@Test
	public void testGetActionListIntentFilter()
	{
		IntentFilter filter = IntentUtils.getActionListIntentFilter(
				TEST_INTENT_FILTER_AUTHORITY, TEST_INTENT_FILTER_ACTIONS ) ;
		assertTrue( filter.matchAction(
				"org.totallyfake.myservice.action.FOO" ) ) ;
		assertTrue( filter.matchAction(
				"org.totallyfake.myservice.action.BAR" ) ) ;
		assertTrue( filter.matchAction(
				"org.totallyfake.myservice.action.BAZ" ) ) ;

		ArrayList<String> asActionList = new ArrayList<>() ;
		Collections.addAll( asActionList, TEST_INTENT_FILTER_ACTIONS ) ;
		asActionList.add( "BLARGH" ) ;
		filter = IntentUtils.getActionListIntentFilter(
				TEST_INTENT_FILTER_AUTHORITY, asActionList ) ;
		assertTrue( filter.matchAction(
				"org.totallyfake.myservice.action.FOO" ) ) ;
		assertTrue( filter.matchAction(
				"org.totallyfake.myservice.action.BAR" ) ) ;
		assertTrue( filter.matchAction(
				"org.totallyfake.myservice.action.BAZ" ) ) ;
		assertTrue( filter.matchAction(
				"org.totallyfake.myservice.action.BLARGH" ) ) ;

		String sFormat = "%s.custom.action.%s" ;
		filter = IntentUtils.getActionListIntentFilter( sFormat,
				TEST_INTENT_FILTER_AUTHORITY, TEST_INTENT_FILTER_ACTIONS ) ;
		assertTrue( filter.matchAction(
				"org.totallyfake.myservice.custom.action.FOO" ) ) ;
		assertTrue( filter.matchAction(
				"org.totallyfake.myservice.custom.action.BAR" ) ) ;
		assertTrue( filter.matchAction(
				"org.totallyfake.myservice.custom.action.BAZ" ) ) ;

		filter = IntentUtils.getActionListIntentFilter( sFormat,
				TEST_INTENT_FILTER_AUTHORITY, asActionList ) ;
		assertTrue( filter.matchAction(
				"org.totallyfake.myservice.custom.action.FOO" ) ) ;
		assertTrue( filter.matchAction(
				"org.totallyfake.myservice.custom.action.BAR" ) ) ;
		assertTrue( filter.matchAction(
				"org.totallyfake.myservice.custom.action.BAZ" ) ) ;
		assertTrue( filter.matchAction(
				"org.totallyfake.myservice.custom.action.BLARGH" ) ) ;
	}

	/**
	 * Negative tests for the intent filter generators.
	 * @since zer0bandwidth-net/android 0.1.7 (#50)
	 */
	@SuppressWarnings("ConstantConditions") // That's the point of the test.
	@Test
	public void testGetActionListIntentFilterExceptions()
	{
		IntentUtils.FilterFormatException xFilter = null ;
		String[] asNullArray = null ;
		List<String> asNullList = null ;
		String[] asEmptyArray = new String[] {} ;
		List<String> asEmptyList = new ArrayList<>() ;

		try { IntentUtils.getActionListIntentFilter( null, asNullArray ) ; }
		catch( IntentUtils.FilterFormatException x ) { xFilter = x ; }
		assertNotNull( xFilter ) ; // thrown for null domain
		assertEquals( IntentUtils.FilterFormatException.EMPTY_DOMAIN,
				xFilter.getMessage() ) ;

		xFilter = null ;
		try
		{ IntentUtils.getActionListIntentFilter( "", asNullArray ) ; }
		catch( IntentUtils.FilterFormatException x ) { xFilter = x ; }
		assertNotNull( xFilter ) ; // thrown for empty authority
		assertEquals( IntentUtils.FilterFormatException.EMPTY_DOMAIN,
				xFilter.getMessage() ) ;

		xFilter = null ;
		try
		{ IntentUtils.getActionListIntentFilter( "foo", asNullArray ) ; }
		catch( IntentUtils.FilterFormatException x ) { xFilter = x ; }
		assertNotNull( xFilter ) ; // thrown for null action array
		assertEquals( IntentUtils.FilterFormatException.EMPTY_ACTION_LIST,
				xFilter.getMessage() ) ;

		xFilter = null ;
		try
		{ IntentUtils.getActionListIntentFilter( "foo", asNullList ) ; }
		catch( IntentUtils.FilterFormatException x ) { xFilter = x ; }
		assertNotNull( xFilter ) ; // thrown for null action array
		assertEquals( IntentUtils.FilterFormatException.EMPTY_ACTION_LIST,
				xFilter.getMessage() ) ;

		xFilter = null ;
		try
		{ IntentUtils.getActionListIntentFilter( "foo", asEmptyArray ) ; }
		catch( IntentUtils.FilterFormatException x ) { xFilter = x ; }
		assertNotNull( xFilter ) ; // thrown for null action array
		assertEquals( IntentUtils.FilterFormatException.EMPTY_ACTION_LIST,
				xFilter.getMessage() ) ;

		xFilter = null ;
		try
		{ IntentUtils.getActionListIntentFilter( "foo", asEmptyList ) ; }
		catch( IntentUtils.FilterFormatException x ) { xFilter = x ; }
		assertNotNull( xFilter ) ; // thrown for null action array
		assertEquals( IntentUtils.FilterFormatException.EMPTY_ACTION_LIST,
				xFilter.getMessage() ) ;
	}
}


text:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Windows.Forms;

using EnumGenerator.Types;

namespace EnumGenerator
{
    public class EnumGenerator : IPlugin
    {
        private string DEFAULT_TARGETPATH = "D:\\";

        IRepositoryHandler m_RepositoryHandler = null;
        IEnumBuilder m_InterfaceBuilder = null;
        IFileWriter m_IFileWriter = null;

        public EnumGenerator()
        {
            /* Intentionally left blank */
        }

        void IPlugin.ProcessRepository(EA.Repository repository)
        {
            string targetPath = GetTargetPath();

            List<EnumData> data = m_RepositoryHandler.HandleRepository(repository);

            List<Types.Product> products = new List<Types.Product>();

            foreach (EnumData d in data)
            {
                products.Add(m_InterfaceBuilder.CreateProduct(d, d.GetEnumName() + ".hpp"));
            }

            foreach (Types.Product p in products)
            {
                m_IFileWriter.WriteProduct(targetPath, p);
            }

            MessageBox.Show("Finish");
        }

        public void SetRepositoryHandler(IRepositoryHandler repositoryHandler)
        {
            m_RepositoryHandler = repositoryHandler;
        }

        public void SetInterfaceBuilder(IEnumBuilder interfaceBuilder)
        {
            m_InterfaceBuilder = interfaceBuilder;
        }

        public void SetFileWriter(IFileWriter iFileWriter)
        {
            m_IFileWriter = iFileWriter;
        }

        private string GetTargetPath()
        {
            string result = DEFAULT_TARGETPATH;

            FolderBrowserDialog folderDialog = new FolderBrowserDialog();
            if (folderDialog.ShowDialog() == DialogResult.OK)
            {
                result = folderDialog.SelectedPath + "\\";
            }

            return result;
        }
    }
}


text:
'use strict';

const express = require('express');
const pg = require('pg');
const app = express();
const bodyParser = require('body-parser');
const PORT = process.env.PORT || 3000;
const drinkKey = '791f7bb8531446d09af4f98a22a06424';
const conString = process.env.DATABASE_URL;
const client = new pg.Client(conString);
const request = require('superagent');
const drinksURL = 'https://addb.absolutdrinks.com/drinks/?apiKey=791f7bb8531446d09af4f98a22a06424';
client.connect();
client.on('error', console.error);

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
  extended: true,
}));
app.use(express.static('./public'));

app.get('/', (request, response) => response.sendFile('index.html', {
  root: './public',
}));
app.get('/login', (request, response) => response.sendFile('login.html', {
  root: './public',
}));
app.get('/submission', (request, response) => response.sendFile('index.html', {
  root: './public',
}));
app.get('/about', (request, response) => response.sendFile('index.html', {
  root: './public',
}));

//////// ** GET REQUESTS ** ///////

app.get('/drinks', (request, response) => {
  client.query(
      `SELECT *
    FROM drinks;`
    )
    .then(
      result => {
        response.send(result.rows);
      })
    .catch(console.error);
});

//////// ** POST REQUESTS ** ////////

app.post('/drinks', (request, response) => {
  console.log(request.body);
  console.log('hi this is post');
  client.query(
      `INSERT INTO drinks(id, name, recipe, ingredients, tools, video)
    VALUES($1, $2, $3, $4, $5, $6) ON CONFLICT DO NOTHING`, [request.body.id, request.body.name, request.body.recipe, request.body.ingredients, request.body.tools, request.body.video]
    )
    .then(() => response.send('Insert Complete'))
    .catch(console.log);
});

app.listen(PORT, function () {
  console.log(`Your server is now running on port ${PORT}`);
});

//////// ** DATABASE LOADERS ** ////////

function loadDrinks() {
  request.get(drinksURL)
    .then(results => {
      let drinksData = results.body.result;
      drinksData.map(drinkObj => {
        client.query(
          `INSERT INTO
        drinks(id, name, recipe, ingredients, tools, video)
        VALUES ($1, $2, $3, $4, $5, $6)
        ON CONFLICT DO NOTHING`, [
            drinkObj.id,
            drinkObj.name,
            drinkObj.ingredients.reduce(function(aggr, value) {
              return aggr + '||' + value.textPlain;
            }, ''),
            drinkObj.ingredients.reduce(function(aggr, value) {
              return aggr + '||' + value.id;
            }, ''),
            drinkObj.tools.reduce(function(aggr, value) {
              return aggr + '||' + value.text;
            }, ''),
            drinkObj.videos.reduce(function(aggr, value) {
              return aggr + '||' + value.video;
            }, ''),

          ]
        );
      });
    });
};

//////// ** CREATE DRINKS, INGREDIENTS, VIDEO, REL TABLE ** ////////

function loadDB() {
  client.query(`
    CREATE TABLE IF NOT EXISTS
    drinks (
      drink_id SERIAL PRIMARY KEY,
      id VARCHAR(1024) UNIQUE NOT NULL,
      name VARCHAR(1024) UNIQUE NOT NULL,
      recipe VARCHAR(1024) NOT NULL,
      ingredients VARCHAR(1024) NOT NULL,
      tools VARCHAR(1024) NOT NULL,
      video VARCHAR(1024) NOT NULL
        );
    `)

    .then(loadDrinks)
    .catch(console.error);
}

loadDB();


text:
import os

from setuptools import setup

README = os.path.join(os.path.dirname(__file__), 'README.rst')

setup(
    name='python-decouple-plus',
    version='1.0.0',
    description='Addons for python-decouple',
    long_description=open(README).read(),
    author="Juan J. Brown",
    license="MIT",
    py_modules=['decouple_plus'],
    zip_safe=False,
    platforms='any',
    include_package_data=True,
    classifiers=[
        'Development Status :: 5 - Production/Stable',
        'Framework :: Django',
        'Framework :: Flask',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: MIT License',
        'Natural Language :: English',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        'Topic :: Software Development :: Libraries',
    ],
    url='http://github.com/juanjbrown/python-decouple-plus/')


text:
<?php

/* TwigBundle:Exception:error.rdf.twig */
class __TwigTemplate_ecb65fe037d8e7c446dc1fa1385dc60f21946e3ffd16a195715d9f89937bfee9 extends Twig_Template
{
    public function __construct(Twig_Environment $env)
    {
        parent::__construct($env);

        $this->parent = false;

        $this->blocks = array(
        );
    }

    protected function doDisplay(array $context, array $blocks = array())
    {
        // line 1
        $this->loadTemplate("@Twig/Exception/error.xml.twig", "TwigBundle:Exception:error.rdf.twig", 1)->display($context);
    }

    public function getTemplateName()
    {
        return "TwigBundle:Exception:error.rdf.twig";
    }

    public function getDebugInfo()
    {
        return array (  19 => 1,);
    }
}
/* {% include '@Twig/Exception/error.xml.twig' %}*/
/* */


text:
import Live
from _Framework.ControlSurfaceComponent import ControlSurfaceComponent
from _Framework.ButtonElement import ButtonElement

class ViewTogglerComponent(ControlSurfaceComponent):
    """ Component that can toggle the device chain- and clip view of a number of tracks """

    def __init__(self, num_tracks):
        assert num_tracks > 0
        ControlSurfaceComponent.__init__(self)
        self._num_tracks = num_tracks
        self._chain_buttons = None
        self._clip_buttons = None
        self._ignore_track_selection = False
        self.application().view.add_is_view_visible_listener('Detail', self._on_detail_view_changed)
        self.application().view.add_is_view_visible_listener('Detail/Clip', self._on_views_changed)

    def disconnect(self):
        self.application().view.remove_is_view_visible_listener('Detail', self._on_detail_view_changed)
        self.application().view.remove_is_view_visible_listener('Detail/Clip', self._on_views_changed)
        if self._chain_buttons != None:
            for button in self._chain_buttons:
                button.remove_value_listener(self._chain_value)

            self._chain_buttons = None
        if self._clip_buttons != None:
            for button in self._clip_buttons:
                button.remove_value_listener(self._clip_value)

            self._clip_buttons = None

    def set_buttons(self, chain_buttons, clip_buttons):
        assert (chain_buttons is None or (isinstance(chain_buttons, tuple) and len(chain_buttons) == self._num_tracks))
        assert (clip_buttons is None or (isinstance(clip_buttons, tuple) and len(clip_buttons) == self._num_tracks))
        if self._chain_buttons != None:
            for button in self._chain_buttons:
                button.remove_value_listener(self._chain_value)

        self._chain_buttons = chain_buttons
        if self._chain_buttons != None:
            for button in self._chain_buttons:
                assert isinstance(button, ButtonElement)
                button.add_value_listener(self._chain_value, identify_sender=True)

        if self._clip_buttons != None:
            for button in self._clip_buttons:
                button.remove_value_listener(self._clip_value)

        self._clip_buttons = clip_buttons
        if self._clip_buttons != None:
            for button in self._clip_buttons:
                assert isinstance(button, ButtonElement)
                button.add_value_listener(self._clip_value, identify_sender=True)

        self.on_selected_track_changed()

    def on_selected_track_changed(self):
        self._update_buttons()

    def on_enabled_changed(self):
        self.update()

    def update(self):
        super(ViewTogglerComponent, self).update()
        if self.is_enabled():
            self._update_buttons()
        else:
            if self._chain_buttons != None:
                for button in self._chain_buttons:
                    button.turn_off()

            if self._clip_buttons != None:
                for button in self._clip_buttons:
                    button.turn_off()

    def _on_detail_view_changed(self):
        self._update_buttons()

    def _on_views_changed(self):
        self._update_buttons()

    def _update_buttons(self):
        tracks = self.song().visible_tracks
        for index in range(self._num_tracks):
            if len(tracks) > index and tracks[index] == self.song().view.selected_track and self.application().view.is_view_visible('Detail'):
                if self.application().view.is_view_visible('Detail/DeviceChain'):
                    self._chain_buttons[index].turn_on()
                else:
                    self._chain_buttons[index].turn_off()
                if self.application().view.is_view_visible('Detail/Clip'):
                    self._clip_buttons[index].turn_on()
                else:
                    self._clip_buttons[index].turn_off()
            else:
                if self._chain_buttons != None:
                    self._chain_buttons[index].turn_off()
                if self._clip_buttons != None:
                    self._clip_buttons[index].turn_off()

    def _chain_value(self, value, sender):
        assert sender in self._chain_buttons
        tracks = self.song().visible_tracks
        if not sender.is_momentary() or value != 0:
            index = list(self._chain_buttons).index(sender)
            self._ignore_track_selection = True
            if len(tracks) > index:
                if self.song().view.selected_track != tracks[index]:
                    self.song().view.selected_track = tracks[index]
                    if not self.application().view.is_view_visible('Detail') or not self.application().view.is_view_visible('Detail/DeviceChain'):
                        self.application().view.show_view('Detail')
                        self.application().view.show_view('Detail/DeviceChain')
                elif self.application().view.is_view_visible('Detail/DeviceChain') and self.application().view.is_view_visible('Detail'):
                    self.application().view.hide_view('Detail')
                else:
                    self.application().view.show_view('Detail')
                    self.application().view.show_view('Detail/DeviceChain')
            self._ignore_track_selection = False

    def _clip_value(self, value, sender):
        assert sender in self._clip_buttons
        tracks = self.song().visible_tracks
        if not sender.is_momentary() or value != 0:
            index = list(self._clip_buttons).index(sender)
            self._ignore_track_selection = True
            if len(tracks) > index:
                if self.song().view.selected_track != tracks[index]:
                    self.song().view.selected_track = tracks[index]
                    if not self.application().view.is_view_visible('Detail') or not self.application().view.is_view_visible('Detail/Clip'):
                        self.application().view.show_view('Detail')
                        self.application().view.show_view('Detail/Clip')
                elif self.application().view.is_view_visible('Detail/Clip') and self.application().view.is_view_visible('Detail'):
                    self.application().view.hide_view('Detail')
                else:
                    self.application().view.show_view('Detail')
                    self.application().view.show_view('Detail/Clip')
            self._ignore_track_selection = False


text:
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
 *
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (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.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * The Original Code is mozilla.org code.
 *
 * The Initial Developer of the Original Code is
 * Netscape Communications Corporation.
 * Portions created by the Initial Developer are Copyright (C) 1998
 * the Initial Developer. All Rights Reserved.
 *
 * Contributor(s):
 *
 * Alternatively, the contents of this file may be used under the terms of
 * either of the GNU General Public License Version 2 or later (the "GPL"),
 * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 * in which case the provisions of the GPL or the LGPL are applicable instead
 * of those above. If you wish to allow use of your version of this file only
 * under the terms of either the GPL or the LGPL, and not to allow others to
 * use your version of this file under the terms of the MPL, indicate your
 * decision by deleting the provisions above and replace them with the notice
 * and other provisions required by the GPL or the LGPL. If you do not delete
 * the provisions above, a recipient may use your version of this file under
 * the terms of any one of the MPL, the GPL or the LGPL.
 *
 * ***** END LICENSE BLOCK ***** */

#ifndef nsPersistentProperties_h___
#define nsPersistentProperties_h___

#include "nsIPersistentProperties2.h"
#include "pldhash.h"
#include "plarena.h"
#include "nsString.h"

class nsIUnicharInputStream;

class nsPersistentProperties : public nsIPersistentProperties
{
public:
  nsPersistentProperties();
  nsresult Init();

  NS_DECL_ISUPPORTS
  NS_DECL_NSIPROPERTIES
  NS_DECL_NSIPERSISTENTPROPERTIES

  // nsPersistentProperties methods:
  PRInt32 Read();
  PRInt32 SkipLine(PRInt32 c);
  PRInt32 SkipWhiteSpace(PRInt32 c);

  static NS_METHOD
  Create(nsISupports *aOuter, REFNSIID aIID, void **aResult);

private:
  ~nsPersistentProperties();

protected:
  nsIUnicharInputStream* mIn;
  PRUint32 mBufferPos;
  PRUint32 mBufferLength;
  nsIPersistentProperties* mSubclass;
  struct PLDHashTable mTable;
  PLArenaPool mArena;
};

class nsPropertyElement : public nsIPropertyElement
{
public:
  nsPropertyElement()
  {
  }

  nsPropertyElement(const nsACString& aKey, const nsAString& aValue)
    : mKey(aKey), mValue(aValue)
  {
  }

  NS_DECL_ISUPPORTS
  NS_DECL_NSIPROPERTYELEMENT

  static NS_METHOD
  Create(nsISupports *aOuter, REFNSIID aIID, void **aResult);

private:
  ~nsPropertyElement() {}

protected:
  nsCString mKey;
  nsString mValue;
};

#endif /* nsPersistentProperties_h___ */


text:
module.exports = {
    publicPathPrefix: '__koot_webpack_dev_server__',
    entryClientHMR: 'webpack-dev-server-client',

    serviceWorkerFilename: '__KOOT_DEV_SERVICE_WORKER__.js',

    hmrOptions: {
        // multiStep: true,
        // fullBuildTimeout: process.env.WEBPACK_BUILD_TYPE === 'spa' ? 500 : undefined,
        // requestTimeout: process.env.WEBPACK_BUILD_TYPE === 'spa' ? undefined : 1000
    }
};


text:
using System;
using System.IO;
using System.Threading.Tasks;
using System.Windows.Media.Imaging;

namespace Knapcode.TheQuickerSnipper.Views
{
    public partial class MainWindow
    {
        public MainWindow()
        {
            InitializeComponent();

            SuffixSeperator = "_";

            SelectionArea.SelectionMade += (sender, args) =>
            {
                // skip the selection if no file is loaded
                string filePath = SelectionArea.FilePath;
                if (SelectionArea.FilePath == null)
                {
                    return;
                }

                // skip the selection if there is no width or height
                if (args.ImageSelection.Width == 0 || args.ImageSelection.Height == 0)
                {
                    return;
                }

                var image = new CroppedBitmap(SelectionArea.ImageSource, args.ImageSelection);
                var encoder = new JpegBitmapEncoder();
                encoder.QualityLevel = 95;
                encoder.Frames.Add(BitmapFrame.Create(image));

                var memoryStream = new MemoryStream();
                encoder.Save(memoryStream);
                memoryStream.Position = 0;

                Task.Factory.StartNew(() =>
                {
                    // parse the old file name
                    string directory = Path.GetDirectoryName(filePath) ?? ".";
                    string fileName = Path.GetFileNameWithoutExtension(filePath) ?? string.Empty;
                    string extension = ".jpg";

                    // get highest number suffix
                    string[] otherPaths = Directory.GetFiles(directory, fileName + "*");
                    int maxSuffixInt = 0;
                    int prefixLength = fileName.Length + SuffixSeperator.Length;
                    foreach (string otherPath in otherPaths)
                    {
                        string otherFileName = Path.GetFileNameWithoutExtension(otherPath) ?? string.Empty;
                        if (otherFileName.Length < prefixLength)
                        {
                            continue;
                        }

                        string suffix = otherFileName.Substring(prefixLength);
                        int suffixInt;
                        if (int.TryParse(suffix, out suffixInt))
                        {
                        }
                        maxSuffixInt = Math.Max(maxSuffixInt, suffixInt);
                    }

                    // generate the new file name
                    string newFilePath = Path.Combine(directory, fileName + SuffixSeperator + (maxSuffixInt + 1) + extension);

                    // write the file
                    using (var stream = new FileStream(newFilePath, FileMode.Create))
                    {
                        memoryStream.CopyTo(stream);
                    }

                    memoryStream.Dispose();
                });
            };
        }

        public string SuffixSeperator { get; set; }
    }
}


text:
'use strict';

(function() {
  // Candidates Controller Spec
  describe('MEAN controllers', function() {
    describe('CandidatesController', function() {
      // The $resource service augments the response object with methods for updating and deleting the resource.
      // If we were to use the standard toEqual matcher, our tests would fail because the test values would not match
      // the responses exactly. To solve the problem, we use a newly-defined toEqualData Jasmine matcher.
      // When the toEqualData matcher compares two objects, it takes only object properties into
      // account and ignores methods.
      beforeEach(function() {
        this.addMatchers({
          toEqualData: function(expected) {
            return angular.equals(this.actual, expected);
          }
        });
      });

      beforeEach(function() {
        module('mean');
        module('mean.system');
        module('mean.candidates');
      });

      // Initialize the controller and a mock scope
      var CandidatesController,
        scope,
        $httpBackend,
        $stateParams,
        $location;

      // The injector ignores leading and trailing underscores here (i.e. _$httpBackend_).
      // This allows us to inject a service but then attach it to a variable
      // with the same name as the service.
      beforeEach(inject(function($controller, $rootScope, _$location_, _$stateParams_, _$httpBackend_) {

        scope = $rootScope.$new();

        CandidatesController = $controller('CandidatesController', {
          $scope: scope
        });

        $stateParams = _$stateParams_;

        $httpBackend = _$httpBackend_;

        $location = _$location_;

      }));

      it('$scope.find() should create an array with at least one candidate object ' +
        'fetched from XHR', function() {

          // test expected GET request
          $httpBackend.expectGET('candidates').respond([{
            firstname: 'New candidate',
            lastname: 'New candidate last name',
            email: 'new@candidate.com'
          }]);

          // run controller
          scope.find();
          $httpBackend.flush();

          // test scope value
          expect(scope.candidates).toEqualData([{
              firstname: 'New candidate',
              lastname: 'New candidate last name',
              email: 'new@candidate.com'
          }]);

        });

      it('$scope.findOne() should create an array with one candidate object fetched ' +
        'from XHR using a candidateld URL parameter', function() {
          // fixture URL parament
          $stateParams.candidateId = '525a8422f6d0f87f0e407a33';

          // fixture response object
          var testCandidateData = function() {
            return {
                firstname: 'New candidate',
                lastname: 'New candidate last name',
                email: 'new@candidate.com'
            };
          };

          // test expected GET request with response object
          $httpBackend.expectGET(/candidates\/([0-9a-fA-F]{24})$/).respond(testCandidateData());

          // run controller
          scope.findOne();
          $httpBackend.flush();

          // test scope value
          expect(scope.candidate).toEqualData(testCandidateData());

        });

      it('$scope.create() with valid form data should send a POST request ' +
        'with the form input values and then ' +
        'locate to new object URL', function() {

          // fixture expected POST data
          var postCandidateData = function() {
            return {
                firstname: 'New candidate',
                lastname: 'New candidate last name',
                email: 'new@candidate.com'
            };
          };

          // fixture expected response data
          var responseCandidateData = function() {
            return {
                _id: '525cf20451979dea2c000001',
                firstname: 'New candidate',
                lastname: 'New candidate last name',
                email: 'new@candidate.com'
            };
          };

          // fixture mock form input values
          scope.firstname= 'New candidate';
          scope.lastname= 'New candidate last name';
          scope.email= 'new@candidate.com';

          // test post request is sent
          $httpBackend.expectPOST('candidates', postCandidateData()).respond(responseCandidateData());

          // Run controller
          scope.create(true);
          $httpBackend.flush();

          // test form input(s) are reset
          expect(scope.firstname).toEqual('');
          expect(scope.lastname).toEqual('');
          expect(scope.email).toEqual('');

          // test URL location to new object
          expect($location.path()).toBe('/candidates/' + responseCandidateData()._id);
        });

      it('$scope.update(true) should update a valid candidate', inject(function(Candidates) {

        // fixture rideshare
        var putCandidateData = function() {
          return {
            _id: '525a8422f6d0f87f0e407a33',
            firstname: 'New candidate',
            lastname: 'New candidate last name',
            email: 'new@candidate.com'
          };
        };

        // mock candidate object from form
        var candidate = new Candidates(putCandidateData());

        // mock candidate in scope
        scope.candidate = candidate;

        // test PUT happens correctly
        $httpBackend.expectPUT(/candidates\/([0-9a-fA-F]{24})$/).respond();

        // run controller
        scope.update(true);
        $httpBackend.flush();

        // test URL location to new object
        expect($location.path()).toBe('/candidates/' + putCandidateData()._id);

      }));

      it('$scope.remove() should send a DELETE request with a valid candidateId ' +
        'and remove the candidate from the scope', inject(function(Candidates) {

          // fixture rideshare
          var candidate = new Candidates({
            _id: '525a8422f6d0f87f0e407a33'
          });

          // mock rideshares in scope
          scope.candidates = [];
          scope.candidates.push(candidate);

          // test expected rideshare DELETE request
          $httpBackend.expectDELETE(/candidates\/([0-9a-fA-F]{24})$/).respond(204);

          // run controller
          scope.remove(candidate);
          $httpBackend.flush();

          // test after successful delete URL location candidates list
          //expect($location.path()).toBe('/candidates');
          expect(scope.candidates.length).toBe(0);

        }));
    });
  });
}());


text:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.simpligility.android.sdk-deployer</groupId>
    <artifactId>annotations</artifactId>
    <packaging>pom</packaging>
    <name>Android Annotations</name>

    <parent>
        <groupId>com.simpligility.android.sdk-deployer</groupId>
        <artifactId>android-tools</artifactId>
        <version>2.3.0</version>
    </parent>

    <properties>
        <jar.path>${sdk.tools.annotations.path}/annotations.jar</jar.path>
        <tools.annotations.artifactId>annotations</tools.annotations.artifactId>
        <jar.version>${Pkg.Revision}</jar.version>
    </properties>
    <build>
        <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>properties-maven-plugin</artifactId>
        <executions>
          <execution>
            <phase>initialize</phase>
            <goals>
              <goal>read-project-properties</goal>
            </goals>
            <configuration>
              <files>
                <file>${sdk.tools.path}/source.properties</file>
              </files>
            </configuration>
          </execution>
        </executions>
      </plugin>
            <plugin>
                <artifactId>maven-install-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>install</phase>
                        <goals><goal>install-file</goal></goals>
                        <configuration>
                            <groupId>${tools.annotations.groupid}</groupId>
                            <artifactId>${tools.annotations.artifactId}</artifactId>
                            <packaging>jar</packaging>
                            <version>${jar.version}</version>
                            <file>${jar.path}</file>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-deploy-plugin</artifactId>
                <executions>
                    <execution>
                        <id>a</id>
                        <phase>deploy</phase>
                        <goals><goal>deploy-file</goal></goals>
                        <configuration>
                            <groupId>${tools.annotations.groupid}</groupId>
                            <artifactId>${tools.annotations.artifactId}</artifactId>
                            <packaging>jar</packaging>
                            <version>${jar.version}</version>
                            <file>${jar.path}</file>
                            <url>${repo.url}</url>
                            <repositoryId>${repo.id}</repositoryId>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>


text:
namespace NetEscapades.AspNetCore.SecurityHeaders.Headers.PermissionsPolicy
{
    ///
    /// Controls whether the current document is allowed to use the magnetometer sensor.
    /// If disabled then constructing of a Sensor-based interface object will throw a
    /// SecurityError. The events are not fired. If an interface (or an
    /// event) requires access to multiple sensors of different types than each of the
    /// corresponding sensor features must be allowed in order to use the interface.
    ///
    public class MagnetometerPermissionsPolicyDirectiveBuilder : PermissionsPolicyDirectiveBuilder
    {
        ///
        /// Initializes a new instance of the <see cref="MagnetometerPermissionsPolicyDirectiveBuilder"/> class.
        ///
        public MagnetometerPermissionsPolicyDirectiveBuilder() : base("magnetometer")
        {
        }
    }
}


text:
<!DOCTYPE html>

  <meta name="google-site-verification" content="QV72Qd0YOcS2xQ5zCzzQ-IKBHBor7lGSG3LBFmbE6Eo" />

  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <meta property="fb:app_id" content="147895112528926" />
  <meta property="fb:admins" content="100001627773972"/>
  <title>Tag: 인턴십</title>
  <meta name="description" content="">

  <link rel="stylesheet" href="/assets/main.css">
  <link rel="canonical" href="http://blog.hibrainapps.net/tags/%EC%9D%B8%ED%84%B4%EC%8B%AD/">
  <link rel="alternate" type="application/rss+xml" title="하이브레인넷 부설연구소" href="/feed.xml">
  <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">

      하이브레인넷 부설연구소

        <form class="w3-bar-item w3-right" action="http://blog.hibrainapps.net/result/">
          <input type="hidden" name="filter" value="0" />

        </form>

        홈

        태그

        방명록

      <form action="http://blog.hibrainapps.net/result/">

        <input class="w3-input w3-border w3-round" type="search" id="q" name="q" type="text" placeholder="검색">

      </form>

      홈

      태그

      방명록

인턴십 태그에 대한 결과

        Docker 이미지 생성

Docker 이미지 및 이미지 생성 docker의 모든 컨테이너는 이미지로 부터 만들어진다 그러므로 docker에서 이미지에 대한 개념과 관리 방법을 정확히 알고 있어야 한다. yum이나 apt-get이 각자의...

         2018.1.16

        pyenv 와 virtualenv 를 사용하여 파이썬 버전 관리하기

프로젝트를 진행하다보면 프로젝트 별로 파이썬 버전이 달라질 수 있다. 그렇기 때문에 ruby는 rbenv, 자바는 jenv처럼 파이썬의 여러 버전을 관리해주며 사용할 수 있게 해주는 것이 pyenv...

         2018.1.16

        Windwos 10 [Home, Pro]에 Docker 설치하기

Docker 설치 Docker는 Windows를 위한 "Docker for Windows"를 지원해준다. 하지만, "Docker for Windows"는 Windows OS버전에 따라 지원해주지 않는 경우가 있다. Windows 10을 기준으로 버전 종류는...

         2018.1.11

        docker 연구하기

docker란 무엇인가? 도커는 2013년 3월 산타클라라에서 열린 Pycon Conference에서 dotCloud의 창업자인 Solomon Hykes가 The future of Linux Containers 라는 세션을 발표하면서 처음 세상에 알려진, 컨테이너...

         2018.1.10

        Jekyll 기반 Github Pages에 Google CSE(Google Custom Search Engine) 를 사용하여 검색기능 추가하기

Google CSE Google CSE는 구글 맞춤검색 엔진의 약자이다. 실제 우리가 사용하고 있는 구글 검색 기능에서 사용자가 원하는 사이트만 검색하도록 지정할 수 있는 기능이다. 이를 우리...

         2018.1.8

        command pattern

Command 패턴-명령을 클래스로 만든다 클래스가 일을 수행할 때 자신의 클래스나 다른 클래스의 메소드를 호출한다. 메소드를 호출한 결과는 객체 상태로 반영이 되지만, 일을 수행한 이력은 어디에도...

         2017.12.28

        Observer Pattern에 대해서 타이틀 줄 테스트 테스트

관찰자 패턴 Observer란 관찰(Observe)하는 사람, 관찰자를 의미한다. 이 관찰자 패턴은 관찰 대상의 상태가 변하면 관찰자에게 통지되므로 상태 변화에 따른 처리를 기술할 때 유효하다. 관찰자 패턴에...

         2017.12.28

        Visitor Pattern

방문자 패턴(Visitor Pattern)이란? Visitor는 사전적인 의미로 어떤 사람이나 장소를 찾아오는 사람 이라는 의미를 가지고 있다. 방문자 패턴에서는 데이터 구조와 처리를 분리한다. 데이터 구조 안을 돌아다니는...

         2017.12.26

  하이브레인넷 부설연구소

hibrain.net All rights reserved.


text:
package ch.jalu.configme.samples;

import ch.jalu.configme.SettingsHolder;
import ch.jalu.configme.properties.Property;

import static ch.jalu.configme.properties.PropertyInitializer.newProperty;

public class ClassWithPrivatePropertyField implements SettingsHolder {

    private static final Property<Integer> PRIVATE_INT_PROPERTY = newProperty("int", 4);
}


text:
=====

LMS Backend as a Service

## Pre Install Start
=====

Issue
=====

Jira


text:
'use strict';

/**
 * Handles keyboard navigation for HTML input elements of type "time".
 *
 * @param {HTMLInputElement} element
 *   A HTMLInputElement of type "time".
 * @param {KeyboardEvent} event
 *   A KeyboardEvent of type keydown. keypress events can't be used because IE doesn't trigger keypress events for
 *   keys like TAB and BACKSPACE.
 */
function inputTimeAccessibilityOnKeydownHandleNavigation(element, event) {
  var selectionStart = element.selectionStart;

  switch (event.key) {
    case 'Backspace':
    case 'U+0008':
    case 'Del':
      inputTimeClearComponent(element, selectionStart);
      break;
    case 'Tab':
    case 'U+0009':
      if (event.altKey || event.ctrlKey || event.metaKey) {
        return;
      }
      else if (event.shiftKey) {
        if (selectionStart === 0) {
          inputTimeAccessibilityNormalizeSelectedComponent(element, selectionStart);
          return;
        }
      }
      else if (element.selectionEnd === inputDomOriginalValueGetter.call(element).length) {
        inputTimeAccessibilityNormalizeSelectedComponent(element, selectionStart);
        return;
      }

      if (event.shiftKey) {
        inputTimeAccessibilitySelectPreviousComponent(element, selectionStart);
      }
      else {
        inputTimeAccessibilitySelectNextComponent(element, selectionStart);
      }

      break;
    case 'Left':
      inputTimeAccessibilitySelectPreviousComponent(element, selectionStart);
      break;
    case 'Up':
      inputTimeAccessibilityIncreaseComponent(element, selectionStart, 1);
      break;
    case 'Right':
      inputTimeAccessibilitySelectNextComponent(element, selectionStart);
      break;
    case 'Down':
      inputTimeAccessibilityIncreaseComponent(element, selectionStart, -1);
      break;
    default:
      return;
  }
  event.preventDefault();
}

/**
 * Handles user input for HTML input elements of type "time".
 *
 * @param {HTMLInputElement} element
 *   A HTMLInputElement of type "time".
 * @param {KeyboardEvent} event
 *   A KeyboardEvent of type keypress. User input should be handled on keypress events because these are triggered
 *   every time an actual character is being inserted (keydown and keyup events are triggered only once).
 */
function inputTimeAccessibilityOnKeyPressHandleUserInput(element, event) {
  // Only allow numeric input.
  if (event.charCode > 47 && event.charCode < 58) {
    var selectionStart = element.selectionStart,
      selectNext = false,

      value = inputDomOriginalValueGetter.call(element),
      components = inputTimeComponentsGet(element),

      componentOrder = inputTimeFormatOrderGetter(element),
      componentSeparator = inputTimeFormatSeparatorGetter(element),
      selectedComponent = inputTimeAccessibilityGetSelectedComponent(value, selectionStart, componentOrder, componentSeparator);

    switch (selectedComponent) {
      case INPUT_TIME_COMPONENT_HOUR:
        components.hour = inputAccessibilityComplementComponent(components.hour, event.key, INPUT_TIME_COMPONENT_HOUR_MIN, INPUT_TIME_COMPONENT_HOUR_MAX, 2);
        if (components.hour > 2) {
          selectNext = true;
        }
        break;
      case INPUT_TIME_COMPONENT_MINUTE:
        components.minute = inputAccessibilityComplementComponent(components.minute, event.key, INPUT_TIME_COMPONENT_MINUTE_MIN, INPUT_TIME_COMPONENT_MINUTE_MAX, 5);
        if (components.minute > 5) {
          selectNext = true;
        }
        break;
      case INPUT_TIME_COMPONENT_SECOND:
        components.second = inputAccessibilityComplementComponent(components.second, event.key, INPUT_TIME_COMPONENT_SECOND_MIN, INPUT_TIME_COMPONENT_SECOND_MAX, 5);
        if (components.second > 5) {
          selectNext = true;
        }
        break;
      case INPUT_TIME_COMPONENT_MILISECOND:
        components.milisecond = inputAccessibilityComplementComponent(components.second, event.key, INPUT_TIME_COMPONENT_MILISECOND_MIN, INPUT_TIME_COMPONENT_MILISECOND_MAX, 99);
        if (components.milisecond > 99) {
          selectNext = true;
        }
        break;
      default:
        return;
    }

    value = inputTimeComponentsSet(element, components.hour, components.minute, components.second, components.milisecond);

    var selection = inputAccessibilityGetComponentRange(value, selectionStart, componentSeparator);
    if (selectNext) {
      inputTimeAccessibilitySelectNextComponent(element, selection[0]);
    }
    else {
      element.setSelectionRange.apply(element, selection);
    }
  }
  event.preventDefault();
}

function inputTimeAccessibilityOnFocusHandleInputSelection(element, event) {
  var componentRange, value, selectionStart, componentSeparator;

  value = inputDomOriginalValueGetter.call(element);
  componentSeparator = inputTimeFormatSeparatorGetter(element);

  if (!value) {
    value = inputTimeComponentsSet(element, INPUT_TIME_COMPONENT_EMPTY, INPUT_TIME_COMPONENT_EMPTY, INPUT_TIME_COMPONENT_HIDDEN, INPUT_TIME_COMPONENT_HIDDEN);
    selectionStart = 0;
  }
  else {
    selectionStart = element.selectionStart;
  }

  componentRange = inputAccessibilityGetComponentRange(value, selectionStart, componentSeparator);

  element.setSelectionRange.apply(element, componentRange);
  event.preventDefault();
}

function inputTimeAccessibilityOnBlurHandleInputNormalization(element) {
  inputTimeAccessibilityNormalizeSelectedComponent(element, element.selectionStart);
}

function inputTimeAccessibilityGetSelectedComponent(value, selectionStart, componentOrder, componentSeparator) {
  return componentOrder[inputAccessibilityGetSelectedComponentNumber(value, selectionStart, componentSeparator)];
}

function inputTimeClearComponent(input, selectionStart) {
  var value = inputDomOriginalValueGetter.call(input),
    components = inputTimeComponentsGet(input),
    componentOrder = inputTimeFormatOrderGetter(input),
    componentSeparator = inputTimeFormatSeparatorGetter(input),
    selectedComponent = inputTimeAccessibilityGetSelectedComponent(value, selectionStart, componentOrder, componentSeparator);

  switch (selectedComponent) {
    case INPUT_TIME_COMPONENT_HOUR:
      components.hour = INPUT_TIME_COMPONENT_EMPTY;
      break;
    case INPUT_TIME_COMPONENT_MINUTE:
      components.minute = INPUT_TIME_COMPONENT_EMPTY;
      break;
    case INPUT_TIME_COMPONENT_SECOND:
      components.second = INPUT_TIME_COMPONENT_EMPTY;
      break;
    case INPUT_TIME_COMPONENT_MILISECOND:
      components.milisecond = INPUT_TIME_COMPONENT_EMPTY;
      break;
    default:
      return;
  }

  value = inputTimeComponentsSet(input, components.hour, components.minute, components.second, components.milisecond);
  input.setSelectionRange.apply(input, inputAccessibilityGetComponentRange(value, selectionStart, componentSeparator));
}

function inputTimeAccessibilityNormalizeSelectedComponent(input, selectionStart) {
  var value = inputDomOriginalValueGetter.call(input),
    components = inputTimeComponentsGet(input),
    componentOrder = inputTimeFormatOrderGetter(input),
    componentSeparator = inputTimeFormatSeparatorGetter(input),
    selectedComponent = inputTimeAccessibilityGetSelectedComponent(value, selectionStart, componentOrder, componentSeparator);

  switch (selectedComponent) {
    case INPUT_TIME_COMPONENT_HOUR:
      if (components.hour > INPUT_TIME_COMPONENT_HOUR_MAX) {
        components.hour = INPUT_TIME_COMPONENT_HOUR_MAX;
      }
      break;
    case INPUT_TIME_COMPONENT_MINUTE:
      if (components.minute > INPUT_TIME_COMPONENT_MINUTE_MAX) {
        components.minute = INPUT_TIME_COMPONENT_MINUTE_MAX;
      }
      break;
    case INPUT_TIME_COMPONENT_SECOND:
      if (components.second > INPUT_TIME_COMPONENT_SECOND_MAX) {
        components.second = INPUT_TIME_COMPONENT_SECOND_MAX;
      }
      break;
    case INPUT_TIME_COMPONENT_MILISECOND:
      if (components.milisecond > INPUT_TIME_COMPONENT_MILISECOND_MAX) {
        components.milisecond = INPUT_TIME_COMPONENT_MILISECOND_MAX;
      }
      break;
    default:
      return;
  }

  inputTimeComponentsSet(input, components.hour, components.minute, components.second, components.milisecond);
}

function inputTimeAccessibilitySelectPreviousComponent(element, selectionStart) {
  inputTimeAccessibilityNormalizeSelectedComponent(element, selectionStart);

  var value = inputDomOriginalValueGetter.call(element),
    componentSeparator = inputTimeFormatSeparatorGetter(element),
    selection = inputAccessibilityGetPreviousComponentRange(value, selectionStart, componentSeparator);

  element.setSelectionRange(selection[0], selection[1]);
}

function inputTimeAccessibilitySelectNextComponent(element, selectionStart) {
  inputTimeAccessibilityNormalizeSelectedComponent(element, selectionStart);

  var value = inputDomOriginalValueGetter.call(element),
    componentSeparator = inputTimeFormatSeparatorGetter(element),
    selection = inputAccessibilityGetNextComponentRange(value, selectionStart, componentSeparator);

  element.setSelectionRange(selection[0], selection[1]);
}

function inputTimeAccessibilityIncreaseComponent(input, selectionStart, amount) {
  var value = inputDomOriginalValueGetter.call(input),
    components = inputTimeComponentsGet(input),
    componentOrder = inputTimeFormatOrderGetter(input),
    componentSeparator = inputTimeFormatSeparatorGetter(input),
    selectedComponent = inputTimeAccessibilityGetSelectedComponent(value, selectionStart, componentOrder, componentSeparator);

  switch (selectedComponent) {
    case INPUT_TIME_COMPONENT_HOUR:
      components.hour = inputAccessibilityIncreaseComponent(components.hour, amount, INPUT_TIME_COMPONENT_HOUR_MIN, INPUT_TIME_COMPONENT_HOUR_MAX);
      break;
    case INPUT_TIME_COMPONENT_MINUTE:
      components.minute = inputAccessibilityIncreaseComponent(components.minute, amount, INPUT_TIME_COMPONENT_MINUTE_MIN, INPUT_TIME_COMPONENT_MINUTE_MAX);
      break;
    case INPUT_TIME_COMPONENT_SECOND:
      components.second = inputAccessibilityIncreaseComponent(components.second, amount, INPUT_TIME_COMPONENT_SECOND_MIN, INPUT_TIME_COMPONENT_SECOND_MAX);
      break;
    case INPUT_TIME_COMPONENT_MILISECOND:
      components.milisecond = inputAccessibilityIncreaseComponent(components.milisecond, amount, INPUT_TIME_COMPONENT_MILISECOND_MIN, INPUT_TIME_COMPONENT_MILISECOND_MAX);
      break;
    default:
      return;
  }

  value = inputTimeComponentsSet(input, components.hour, components.minute, components.second, components.milisecond);
  input.setSelectionRange.apply(input, inputAccessibilityGetComponentRange(value, selectionStart, componentSeparator));
}


text:
builder.datasource = {};

builder.datasource.sources = [];

builder.datasource.register = function(src) {
  builder.datasource.sources.push(src);
};

builder.datasource.getSources = function() {
  return builder.datasource.sources;
};

builder.datasource.getSourceForID = function(id) {
  for (var i = 0; i < builder.datasource.sources.length; i++) {
    if (builder.datasource.sources[i].id == id) { return builder.datasource.sources[i]; }
  }
  return null;
};

builder.datasource.getRows = function(script, callback, failure) {
  var src = builder.datasource.getSourceForID(script.data.source);
  if (!src) { callback([{}]); }
  src.fetchRows(script.data.configs[src.id], script, callback, failure);
};

builder.datasource.updateMenu = function() {
  var srcs = builder.datasource.getSources();
  var script = builder.getScript();
  srcs.forEach(function(src) {
    if (script && script.data.source == src.id) {
      builder.gui.menu.highlightItem('data-' + src.id);
    } else {
      builder.gui.menu.deHighlightItem('data-' + src.id);
    }
  });
};

builder.datasource.showConfig = function(src) {
  function setConfig(config) {
    var script = builder.getScript();
    script.data.configs[src.id] = config;
    script.data.source = src.id;
    builder.datasource.updateMenu();
  }
  if (builder.getScript().data.configs[src.id]) {
    src.showConfigDialog(setConfig, builder.getScript().data.configs[src.id]);
  } else {
    src.showConfigDialog(setConfig);
  }
};

if (builder && builder.loader && builder.loader.loadNextMainScript) { builder.loader.loadNextMainScript(); }


text:
<?php

namespace SehrGut\Laravel5_Api\Hooks;

/**
 * This is called on "single resource" requests after the request
 * parameters have been applied, before the record is retrieved.
 */
interface AdaptResourceQuery extends Hook
{
    /**
     * Apply the hook.
     *
     * @return void
     */
    public function adaptResourceQuery();
}


text:
<?php

namespace PBlondeau\Bundle\CommonBundle\Form\Type;

use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Component\Form\FormInterface;
use Symfony\Component\Form\FormView;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * Class FilesType
 */
class FilesType extends FileType
{
    public function buildView(FormView $view, FormInterface $form, array $options)
    {
        parent::buildView($view, $form, $options);

        $view->vars['full_name'] .= '[]';
        $view->vars['attr']['multiple'] = 'multiple';
    }

    /**
     * {@inheritdoc}
     */
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        parent::setDefaultOptions($resolver);
        $resolver->setDefaults(
            array(
                'data_class' => null,
            )
        );
    }

    public function getName()
    {
        return 'files';
    }
}


text:
<?php

namespace Oro\Bundle\WorkflowBundle\Tests\Unit;

use Symfony\Component\DependencyInjection\ContainerBuilder;

use Oro\Bundle\WorkflowBundle\DependencyInjection\Compiler as Compiler;
use Oro\Bundle\WorkflowBundle\OroWorkflowBundle;

class OroWorkflowBundleTest extends \PHPUnit_Framework_TestCase
{
    public function testBuild()
    {
        /** @var ContainerBuilder|\PHPUnit_Framework_MockObject_MockObject $containerBuilder */
        $containerBuilder = $this->getMockBuilder('Symfony\Component\DependencyInjection\ContainerBuilder')
            ->disableOriginalConstructor()
            ->setMethods(['addCompilerPass'])
            ->getMock();

        $containerBuilder->expects($this->at(0))
            ->method('addCompilerPass')
            ->with(
                $this->isInstanceOf(
                    Compiler\AddAttributeNormalizerCompilerPass::class
                )
            );

        $containerBuilder->expects($this->at(1))
            ->method('addCompilerPass')
            ->with(
                $this->isInstanceOf(
                    Compiler\AddWorkflowValidationLoaderCompilerPass::class
                )
            );

        $containerBuilder->expects($this->at(2))
            ->method('addCompilerPass')
            ->with(
                $this->isInstanceOf(
                    Compiler\WorkflowChangesEventsCompilerPass::class
                )
            );

        $containerBuilder->expects($this->at(3))
            ->method('addCompilerPass')
            ->with(
                $this->isInstanceOf(
                    Compiler\EventTriggerExtensionCompilerPass::class
                )
            );

        $containerBuilder->expects($this->at(4))
            ->method('addCompilerPass')
            ->with(
                $this->isInstanceOf(
                    Compiler\WorkflowConfigurationHandlerCompilerPass::class
                )
            );

        $containerBuilder->expects($this->at(5))
            ->method('addCompilerPass')
            ->with(
                $this->isInstanceOf(
                    Compiler\WorkflowDefinitionBuilderExtensionCompilerPass::class
                )
            );

        $bundle = new OroWorkflowBundle();
        $bundle->build($containerBuilder);
    }
}


text:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/listItemLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/nim_contact_list_item_selecter"
    android:minHeight="60dp"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/imgSelect"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="10dp"
        android:contentDescription="@string/empty" />

    <com.netease.nim.uikit.common.ui.imageview.HeadImageView
        android:id="@+id/img_head"
        android:layout_width="@dimen/avatar_size_in_contact"
        android:layout_height="@dimen/avatar_size_in_contact"
        android:layout_centerVertical="true"
        android:layout_marginLeft="10dp"
        android:layout_toRightOf="@id/imgSelect" />

    <RelativeLayout
        android:id="@+id/name_layout"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_centerVertical="true"
        android:layout_marginLeft="10dip"
        android:layout_marginRight="20dip"
        android:layout_toRightOf="@+id/img_head"
        android:gravity="center_vertical" >

        <TextView
            android:id="@+id/tv_nickname"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawablePadding="4dip"
            android:ellipsize="end"
            android:singleLine="true"
            android:text="@string/empty"
            android:textColor="#333333"
            android:textSize="16sp" />
    </RelativeLayout>

    <View
        android:id="@+id/bottomLine"
        style="@style/horizontal_light_thin_divider"
        android:layout_alignLeft="@+id/name_layout"
        android:layout_alignParentBottom="true"
        android:layout_marginRight="10dp"
        android:layout_toRightOf="@id/imgSelect" />

</RelativeLayout>


text:
package org.pentaho.big.data.impl.shim.mapreduce;

import org.pentaho.bigdata.api.mapreduce.MapReduceTransformations;
import org.pentaho.hadoop.shim.api.cluster.NamedCluster;

/**
 * Created by ccaspanello on 8/29/2016.
 */
public interface TransformationVisitorService {

  void visit( MapReduceTransformations transformations, NamedCluster namedCluster );
}


text:
My first repository

I'm learning to use github. Let's hope this is a nice experience!


text:
export enum SnapshotType {
  Volume,
  VM,
}


text: export { default } from 'shared/components/modal-delete-eks-cluster/component';


text:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install SYSTEM "http://dev.joomla.org/xml/1.5/plugin-install.dtd">
<install type="plugin" version="1.5" method="upgrade" group="system">
	<name>AcyMailing : (auto)Subscribe during Joomla registration</name>
	<creationDate>avril 2017</creationDate>
	<version>5.7.0</version>
	<author>Acyba</author>
	<authorEmail>dev@acyba.com</authorEmail>
	<authorUrl>http://www.acyba.com</authorUrl>
	<copyright>Copyright (C) 2009-2017 ACYBA SAS - All rights reserved.</copyright>
	<license>GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html</license>
	<description>Automatically subscribe the user to AcyMailing during the Joomla registration process</description>
	<files>
		<filename plugin="regacymailing">regacymailing.php</filename>
	</files>
	<params addpath="/components/com_acymailing/params">
		<param name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-regacymailing"/>
		<param name="lists" type="lists" default="None" label="Lists displayed on registration form" description="The following selected lists will be added to your Joomla registration form and will be visible." />
		<param name="listschecked" type="lists" default="All" label="Lists checked by default" description="The selected lists will be checked by default on your registration form." />
		<param name="subscribetext" type="text" size="50" default="" label="Subscribe Caption" description="Text displayed for the subscription field. If you don't specify anything, the default value will be used from the current language file" />
		<param name="displaymode" type="list" default="dispall" label="Display mode" description="Select the way you want AcyMailing to display your lists">
			<option value="dispall">Display one checkbox per list</option>
			<option value="onecheck">Group the lists into one checkbox</option>
			<option value="dropdown">Display the lists in a dropdown</option>
		</param>
		<param name="fieldafter" type="radio" default="password" label="Display the lists after" description="AcyMailing will display the lists after the selected field on your registration form">
			<option value="password">Password</option>
			<option value="email">Email</option>
			<option value="custom">Custom</option>
		</param>
		<param name="fieldaftercustom" default="" type="text" size="10" label="Display the lists after (custom)" description="If your registration page contains other fields, you can specify the name of other fields (separated with a ;) to display the lists after these custom fields (The previous option should be set to 'custom')" />
		<param name="@spacer" type="spacer" default="" label="" description="" />
		<param name="customfieldsafter" type="radio" default="email" label="Display the fields after" description="AcyMailing will display the extra fields after the selected field on your registration form">
			<option value="password">Password</option>
			<option value="email">Email</option>
			<option value="custom">Custom</option>
		</param>
		<param name="customfieldsaftercustom" default="" type="text" size="10" label="Display the fields after (custom)" description="If your registration page contains other fields, you can specify the name of other fields (separated with a ;) to display the lists after these custom fields (The previous option should be set to 'custom')" />
		<param name="@spacer" type="spacer" default="" label="" description="" />
		<param name="sendnotif" type="radio" default="0" label="Send notification" description="When an user is created, send the Acy notification message">
			<option value="0">JOOMEXT_NO</option>
			<option value="1">JOOMEXT_YES</option>
		</param>
		<param name="forceconf" type="radio" default="0" label="Force double opt-in" description="The registration process may already have its confirmation e-mail... Do you want Acy to send its own confirmation e-mail (so in addition to the Joomla one)?">
			<option value="0">JOOMEXT_NO</option>
			<option value="1">JOOMEXT_YES</option>
		</param>
		<param name="@spacer" type="spacer" default="" label="" description="" />
		<param name="customcss" cols="40" rows="5" type="textarea" default="" label="Custom CSS" description="You can specify here some CSS which will be added to the registration page" />
        <param name="deletebehavior" type="radio" default="0" label="User deletion behavior" description="Choose if the AcyMailing user should also be deleted when the Joomla account is deleted">
            <option value="0">Delete AcyMailing user</option>
            <option value="1">Keep AcyMailing user</option>
        </param>
        <param label="Excluded components" name="excluded" size="50" type="text" value="" description="Acy won't display the subscription lists on the components you exclude with this option. Each value should be separated by a coma, here are the possible values: com_user, com_users, com_alpharegistration, com_ccusers, com_community, com_extendedreg, com_gcontact, com_hikashop, com_jblance, com_jshopping, com_juser, com_mijoshop, com_osemsc, com_redshop, com_tienda, com_virtuemart." />
		<param name="addcategory" type="radio" default="0" label="Display category name" description="Order the lists by category and display their category name above them.">
			<option value="0">JOOMEXT_NO</option>
			<option value="1">JOOMEXT_YES</option>
		</param>
    </params>
	<config>
		<fields name="params" addfieldpath="/components/com_acymailing/params">
			<fieldset name="basic">
				<field name="help" type="help" label="Help" description="Click on the help button to get some help" default="plugin-regacymailing"/>
				<field name="lists" type="lists" default="None" label="Lists displayed on registration form" description="The following selected lists will be added to your Joomla registration form and will be visible." />
				<field name="listschecked" type="lists" default="All" label="Lists checked by default" description="The selected lists will be checked by default on your registration form." />
				<field name="subscribetext" type="text" size="50" default="" label="Subscribe Caption" description="Text displayed for the subscription field. If you don't specify anything, the default value will be used from the current language file" />
				<field name="displaymode" type="list" default="dispall" label="Display mode" description="Select the way you want AcyMailing to display your lists">
					<option value="dispall">Display one checkbox per list</option>
					<option value="onecheck">Group the lists into one checkbox</option>
					<option value="dropdown">Display the lists in a dropdown</option>
				</field>
				<field name="fieldafter" type="radio" default="password" label="Display the lists after" description="AcyMailing will display the lists after the selected field on your registration form">
					<option value="password">Password</option>
					<option value="email">Email</option>
					<option value="custom">Custom</option>
				</field>
				<field name="fieldaftercustom" default="" type="text" size="10" label="Display the lists after (custom)" description="If your registration page contains other fields, you can specify the name of other fields (separated with a ;) to display the lists after these custom fields (The previous option should be set to 'custom')" />
				<field name="@spacer" type="spacer" default="" label="" description="" />
				<field name="customfieldsafter" type="radio" default="email" label="Display the fields after" description="AcyMailing will display the extra fields after the selected field on your registration form">
					<option value="password">Password</option>
					<option value="email">Email</option>
					<option value="custom">Custom</option>
				</field>
				<field name="customfieldsaftercustom" default="" type="text" size="10" label="Display the fields after (custom)" description="If your registration page contains other fields, you can specify the name of other fields (separated with a ;) to display the lists after these custom fields (The previous option should be set to 'custom')" />
				<field name="@spacer" type="spacer" default="" label="" description="" />
				<field name="sendnotif" type="radio" default="0" label="Send notification" description="When an user is created, send the Acy notification message">
					<option value="0">JOOMEXT_NO</option>
					<option value="1">JOOMEXT_YES</option>
				</field>
				<field name="forceconf" type="radio" default="0" label="Force double opt-in" description="The registration process may already have its confirmation e-mail... Do you want Acy to send its own confirmation e-mail (so in addition to the Joomla one)?">
					<option value="0">JOOMEXT_NO</option>
					<option value="1">JOOMEXT_YES</option>
				</field>
				<field name="@spacer" type="spacer" default="" label="" description="" />
				<field name="customcss" cols="40" rows="5" type="textarea" default="" label="Custom CSS" description="You can specify here some CSS which will be added to the registration page" />
                <field name="deletebehavior" type="radio" default="0" label="User deletion behavior" description="Choose if the AcyMailing user should also be deleted when the Joomla account is deleted">
                    <option value="0">Delete AcyMailing user</option>
                    <option value="1">Keep AcyMailing user</option>
                </field>
                <field label="Excluded components" name="excluded" type="checkboxes" description="Acy won't display the subscription lists on the components you exclude with this option">
                    <option value="com_user">com_user</option>
                    <option value="com_users">com_users</option>
                    <option value="com_alpharegistration">com_alpharegistration</option>
                    <option value="com_ccusers">com_ccusers</option>
                    <option value="com_community">com_community</option>
                    <option value="com_extendedreg">com_extendedreg</option>
                    <option value="com_gcontact">com_gcontact</option>
                    <option value="com_hikashop">com_hikashop</option>
                    <option value="com_jblance">com_jblance</option>
                    <option value="com_jshopping">com_jshopping</option>
                    <option value="com_juser">com_juser</option>
                    <option value="com_mijoshop">com_mijoshop</option>
                    <option value="com_osemsc">com_osemsc</option>
                    <option value="com_redshop">com_redshop</option>
                    <option value="com_tienda">com_tienda</option>
                    <option value="com_virtuemart">com_virtuemart</option>
                </field>
				<field name="addcategory" type="radio" default="0" label="Display category name" description="Order the lists by category and display their category name above them.">
					<option value="0">JOOMEXT_NO</option>
					<option value="1">JOOMEXT_YES</option>
				</field>
			</fieldset>
		</fields>
	</config>
</install>